Merge ~sylvain-pineau/checkbox-ng:preserve-bootstrap-ordering into checkbox-ng:master

Proposed by Sylvain Pineau
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 4aaac6c27cf1fb5197186a5f90fa98b1a06bfb0b
Merged at revision: b5ffe4bd146492547205ff766bda5c2318d81901
Proposed branch: ~sylvain-pineau/checkbox-ng:preserve-bootstrap-ordering
Merge into: checkbox-ng:master
Diff against target: 57 lines (+6/-7)
2 files modified
plainbox/impl/unit/test_testplan.py (+3/-4)
plainbox/impl/unit/testplan.py (+3/-3)
Reviewer Review Type Date Requested Status
Maciej Kisielewski Approve
Review via email: mp+348766@code.launchpad.net

Description of the change

Sets didn't preserve the bootstrap job ordering. this patch fixes the problem

To post a comment you must log in.
Revision history for this message
Maciej Kisielewski (kissiel) wrote :

Thanks for fixing that! +1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/plainbox/impl/unit/test_testplan.py b/plainbox/impl/unit/test_testplan.py
2index 090ed2c..f9fb530 100644
3--- a/plainbox/impl/unit/test_testplan.py
4+++ b/plainbox/impl/unit/test_testplan.py
5@@ -372,20 +372,19 @@ class TestTestPlan(TestCase):
6
7 def test_get_bootstrap_job_ids__empty(self):
8 unit = TestPlanUnit({}, provider=None)
9- self.assertEqual(unit.get_bootstrap_job_ids(), set())
10+ self.assertEqual(unit.get_bootstrap_job_ids(), list())
11
12 def test_get_bootstrap_job_ids__normal(self):
13 unit = TestPlanUnit({
14 'bootstrap_include': 'Foo\nBar'
15 }, provider=None)
16- self.assertEqual(unit.get_bootstrap_job_ids(), set(['Foo', 'Bar']))
17+ self.assertEqual(unit.get_bootstrap_job_ids(), ['Foo', 'Bar'])
18
19 def test_get_bootstrap_job_ids__qualified_ids(self):
20 unit = TestPlanUnit({
21 'bootstrap_include': 'Foo\nBar'
22 }, provider=self.provider)
23- self.assertEqual(unit.get_bootstrap_job_ids(),
24- set(['ns::Foo', 'ns::Bar']))
25+ self.assertEqual(unit.get_bootstrap_job_ids(), ['ns::Foo', 'ns::Bar'])
26
27
28 class TestNestedTestPlan(TestCase):
29diff --git a/plainbox/impl/unit/testplan.py b/plainbox/impl/unit/testplan.py
30index b0664ae..a5d9ebc 100644
31--- a/plainbox/impl/unit/testplan.py
32+++ b/plainbox/impl/unit/testplan.py
33@@ -319,13 +319,13 @@ class TestPlanUnit(UnitWithId):
34 @instance_method_lru_cache(maxsize=None)
35 def get_bootstrap_job_ids(self):
36 """Compute and return a set of job ids from bootstrap_include field."""
37- job_ids = set()
38+ job_ids = []
39 if self.bootstrap_include is not None:
40
41 class V(Visitor):
42
43 def visit_Text_node(visitor, node: Text):
44- job_ids.add(self.qualify_id(node.text))
45+ job_ids.append(self.qualify_id(node.text))
46
47 def visit_Error_node(visitor, node: Error):
48 logger.warning(_(
49@@ -333,7 +333,7 @@ class TestPlanUnit(UnitWithId):
50
51 V().visit(WordList.parse(self.bootstrap_include))
52 for tp_unit in self.get_nested_part():
53- job_ids |= tp_unit.get_bootstrap_job_ids()
54+ job_ids.extend(tp_unit.get_bootstrap_job_ids())
55 return job_ids
56
57 @instance_method_lru_cache(maxsize=None)

Subscribers

People subscribed via source and target branches