Merge ~sylvain-pineau/plainbox:after-suspend-depends-on-before-suspend into plainbox:master

Proposed by Sylvain Pineau
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 378998f2e3acd3625773fc5c9fb79a052cac243a
Merged at revision: c336c4f5e0f6cd7452196a2b4d69d24b1cb2549e
Proposed branch: ~sylvain-pineau/plainbox:after-suspend-depends-on-before-suspend
Merge into: plainbox:master
Diff against target: 57 lines (+8/-11)
2 files modified
plainbox/impl/session/state.py (+6/-8)
plainbox/impl/session/test_state.py (+2/-3)
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Review via email: mp+332905@code.launchpad.net

Description of the change

after suspend flags didn't force the before suspend original job to be a dependency of its after-suspend variant. This patch now makes it a strict dependency.

To post a comment you must log in.
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

self-approved

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/plainbox/impl/session/state.py b/plainbox/impl/session/state.py
2index 0fd2ac2..0631de1 100644
3--- a/plainbox/impl/session/state.py
4+++ b/plainbox/impl/session/state.py
5@@ -1150,11 +1150,10 @@ class SessionState:
6 provider_id = "com.canonical.certification"
7 suspend_test_id = "suspend/suspend_advanced_auto"
8 if new_job.depends:
9- data['depends'] += " {}::{}".format(provider_id,
10- suspend_test_id)
11+ data['depends'] += " {}".format(new_job.id)
12 else:
13- data['depends'] = "{}::{}".format(provider_id,
14- suspend_test_id)
15+ data['depends'] = "{}".format(new_job.id)
16+ data['depends'] += " {}::{}".format(provider_id, suspend_test_id)
17 self._add_job_unit(
18 JobDefinition(
19 data,
20@@ -1178,11 +1177,10 @@ class SessionState:
21 provider_id = "com.canonical.certification"
22 suspend_test_id = "suspend/suspend_advanced"
23 if new_job.depends:
24- data['depends'] += " {}::{}".format(provider_id,
25- suspend_test_id)
26+ data['depends'] += " {}".format(new_job.id)
27 else:
28- data['depends'] = "{}::{}".format(provider_id,
29- suspend_test_id)
30+ data['depends'] = "{}".format(new_job.id)
31+ data['depends'] += " {}::{}".format(provider_id, suspend_test_id)
32 self._add_job_unit(
33 JobDefinition(
34 data,
35diff --git a/plainbox/impl/session/test_state.py b/plainbox/impl/session/test_state.py
36index 3aabee8..ee17520 100644
37--- a/plainbox/impl/session/test_state.py
38+++ b/plainbox/impl/session/test_state.py
39@@ -266,8 +266,7 @@ class SessionStateAPITests(TestCase):
40
41 def test_also_after_suspend_flag(self):
42 # Define a job
43- job = make_job("A", summary="foo", flags='also-after-suspend',
44- depends="A")
45+ job = make_job("A", summary="foo", flags='also-after-suspend')
46 # Define an empty session
47 session = SessionState([])
48 # Add the job to the session
49@@ -314,7 +313,7 @@ class SessionStateAPITests(TestCase):
50 self.assertEqual(session.job_list[1].summary, 'foo after suspend (S3)')
51 self.assertEqual(
52 session.job_list[1].depends,
53- 'com.canonical.certification::suspend/suspend_advanced')
54+ 'A com.canonical.certification::suspend/suspend_advanced')
55 sibling = session.job_list[1]
56 self.assertNotIn('also-after-suspend-manual', sibling.get_flag_set())
57 # Both jobs got added to job state map

Subscribers

People subscribed via source and target branches