| @@ 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 |
|