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