def assert_root_failed(self, walk, node, thrown_type):
    root, root_state = walk[0]
    self.assertEquals(type(root), DependenciesNode)
    self.assertEquals(Throw, type(root_state))
    dependencies = [(d, self.pg.state(d)) for d in self.pg.dependencies_of(root)]
    self.assertIn((node, thrown_type), [(k, type(v.exc))
                                        for k, v in dependencies if type(v) is Throw])
If the error is a L{util.DirtyReactorAggregateError}, instead of
dataset/ETHPy150Open pantsbuild/pants/tests/python/pants_test/engine/exp/test_scheduler.py/SchedulerTest.assert_root_failed--crossover with--dataset/ETHPy150Open twisted/twisted/twisted/trial/reporter.py/UncleanWarningsReporterWrapper.addError