| @@ 115-134 (lines=20) @@ | ||
| 112 | ||
| 113 |         self.assertEventsEqual("d D b B a") | |
| 114 | ||
| 115 | def test_two_deep_branches(self): | |
| 116 | # a | |
| 117 | # / \ | |
| 118 | # b c | |
| 119 | # | | | |
| 120 | # d e | |
| 121 | ||
| 122 |         a = self._action("a") | |
| 123 |         b = self._action("b", delay=0.1, end_event=True) | |
| 124 |         c = self._action("c", delay=0.1, end_event=True) | |
| 125 |         d = self._action("d", delay=0.1, end_event=True) | |
| 126 |         e = self._action("e", delay=0.1, end_event=True) | |
| 127 | a.add_dependency(b) | |
| 128 | a.add_dependency(c) | |
| 129 | b.add_dependency(d) | |
| 130 | c.add_dependency(e) | |
| 131 | ||
| 132 | execute(a, jobs=3) | |
| 133 | ||
| 134 |         self.assertEventsEqual("de DEbc BC a") | |
| 135 | ||
| @@ 77-95 (lines=19) @@ | ||
| 74 | ||
| 75 |         self.assertEventsEqual("f F e E d D c C b B a") | |
| 76 | ||
| 77 | def test_diamond_dependencies(self): | |
| 78 | # a | |
| 79 | # / \ | |
| 80 | # b c | |
| 81 | # \ / | |
| 82 | # d | |
| 83 | ||
| 84 |         a = self._action("a") | |
| 85 |         b = self._action("b", delay=0.1, end_event=True) | |
| 86 |         c = self._action("c", delay=0.1, end_event=True) | |
| 87 |         d = self._action("d", end_event=True) | |
| 88 | a.add_dependency(b) | |
| 89 | a.add_dependency(c) | |
| 90 | b.add_dependency(d) | |
| 91 | c.add_dependency(d) | |
| 92 | ||
| 93 | execute(a, jobs=3) | |
| 94 | ||
| 95 |         self.assertEventsEqual("d D bc BC a") | |
| 96 | ||
| 97 | def test_half_diamond_dependency(self): | |
| 98 | # a | |
| @@ 30-46 (lines=17) @@ | ||
| 27 | ||
| 28 |         self.assertEventsEqual("bcd BCD a") | |
| 29 | ||
| 30 | def test_many_dependencies_with_default_jobs(self): | |
| 31 | # a | |
| 32 | # /|\ | |
| 33 | # / | \ | |
| 34 | # b c d | |
| 35 | ||
| 36 |         a = self._action("a") | |
| 37 |         b = self._action("b", delay=0.1, end_event=True) | |
| 38 |         c = self._action("c", delay=0.1, end_event=True) | |
| 39 |         d = self._action("d", delay=0.1, end_event=True) | |
| 40 | a.add_dependency(b) | |
| 41 | a.add_dependency(c) | |
| 42 | a.add_dependency(d) | |
| 43 | ||
| 44 | execute(a, jobs=None) | |
| 45 | ||
| 46 |         self.assertEventsEqual("bcd BCD a") | |
| 47 | ||
| 48 | def test_deep_dependencies(self): | |
| 49 | # a | |
| @@ 12-28 (lines=17) @@ | ||
| 9 | ||
| 10 | ||
| 11 | class MultiThreadedExecutionTestCase(ActionTreeTestCase): | |
| 12 | def test_many_dependencies(self): | |
| 13 | # a | |
| 14 | # /|\ | |
| 15 | # / | \ | |
| 16 | # b c d | |
| 17 | ||
| 18 |         a = self._action("a") | |
| 19 |         b = self._action("b", delay=0.1, end_event=True) | |
| 20 |         c = self._action("c", delay=0.1, end_event=True) | |
| 21 |         d = self._action("d", delay=0.1, end_event=True) | |
| 22 | a.add_dependency(b) | |
| 23 | a.add_dependency(c) | |
| 24 | a.add_dependency(d) | |
| 25 | ||
| 26 | execute(a, jobs=3) | |
| 27 | ||
| 28 |         self.assertEventsEqual("bcd BCD a") | |
| 29 | ||
| 30 | def test_many_dependencies_with_default_jobs(self): | |
| 31 | # a | |