Merge ~bettyl/plainbox-provider-checkbox:add-after-suspend-manual-thunderbolt-thumderbolt3-tests into plainbox-provider-checkbox:master

Proposed by Betty Lin
Status: Merged
Approved by: Jonathan Cave
Approved revision: 015a9a7cd030f438923253c6d1e176fb41f0e627
Merged at revision: 8b02e63676ab10521cd258c2b24463bd36a1a698
Proposed branch: ~bettyl/plainbox-provider-checkbox:add-after-suspend-manual-thunderbolt-thumderbolt3-tests
Merge into: plainbox-provider-checkbox:master
Diff against target: 124 lines (+63/-0)
2 files modified
units/thunderbolt/jobs.pxu (+30/-0)
units/thunderbolt/test-plan.pxu (+33/-0)
Reviewer Review Type Date Requested Status
Jonathan Cave (community) Approve
Betty Lin (community) Needs Resubmitting
Review via email: mp+368638@code.launchpad.net

Description of the change

I have tested this in a stock Ubuntu 18.04 with adding "after-suspend-thunderbolt-cert" to somerville-iev-full.pxu.
When I do:
$ checkbox-cli list-bootstrapped com.canonical.ce::somerville-iev-full
The thunderbolt/thunderbolt3 related jobs will be listed:
com.canonical.certification::after-suspend-manual-thunderbolt/insert
com.canonical.certification::after-suspend-manual-thunderbolt/storage-test
com.canonical.certification::after-suspend-manual-thunderbolt/remove
com.canonical.certification::after-suspend-manual-thunderbolt3/insert
com.canonical.certification::after-suspend-manual-thunderbolt3/storage-test
com.canonical.certification::after-suspend-manual-thunderbolt3/remove

To post a comment you must log in.
Revision history for this message
Jonathan Cave (jocave) wrote :

Although this will probably work as you have shown in your testing, I think it might be sensible not to rely on the after-suspend flags in this case.

The depends fields in the jobs are trying to ensure the jobs are run in a series with the storage-test and remove jobs depending on the insert job.

For example after-suspend-manual-thunderbolt/storage-test should have a depends field identifying after-suspend-manual-thunderbolt/insert. I think I might consider using a "sibling" job in this case.

The test plan modifications are fine.

review: Needs Fixing
Revision history for this message
Betty Lin (bettyl) wrote :

@Jonathan

I add the sibling job, please take a look.
Also, I tested them, here is the test report:
https://certification.canonical.com/hardware/201810-26511/submission/145268/test-results/

I just tried thunderbolt3, I believe that thunderbolt will get the same result, thanks!

review: Needs Resubmitting
Revision history for this message
Jonathan Cave (jocave) wrote :

Thanks this is very close to what I was thinking of. One change needed however, can you add an (extra) depends on the job suspend/suspend_advanced to make sure these occur after the suspend event.

Revision history for this message
Betty Lin (bettyl) wrote :

@Jonathan

Since thunderbolt/storage-test, thunderbolt/remove, hunderbolt3/storage-test, thunderbolt3/remove depend on thunderbolt/insert and thunderbolt3/insert, I only add suspend/suspend_advanced to them.

Test report:
https://certification.canonical.com/hardware/201810-26511/submission/145321/

review: Needs Resubmitting
Revision history for this message
Jonathan Cave (jocave) wrote :

Great, thanks for working through the revisions with me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/units/thunderbolt/jobs.pxu b/units/thunderbolt/jobs.pxu
2index 14fa3f8..74481fe 100644
3--- a/units/thunderbolt/jobs.pxu
4+++ b/units/thunderbolt/jobs.pxu
5@@ -5,6 +5,11 @@ imports: from com.canonical.plainbox import manifest
6 requires: manifest.has_thunderbolt == 'True'
7 estimated_duration: 20.0
8 command: removable_storage_watcher insert --timeout 40 scsi
9+_siblings: [
10+ { "id": "after-suspend-manual-thunderbolt/insert",
11+ "_summary": "thunderbolt/insert after suspend",
12+ "depends": "suspend/suspend_advanced"}
13+ ]
14 _summary: Storage insert detection on Thunderbolt
15 _description:
16 PURPOSE:
17@@ -27,6 +32,11 @@ requires: manifest.has_thunderbolt == 'True'
18 depends: thunderbolt/insert
19 estimated_duration: 45.0
20 command: removable_storage_test -s 268400000 scsi
21+_siblings: [
22+ { "id": "after-suspend-manual-thunderbolt/storage-test",
23+ "_summary": "thunderbolt/storage-test after suspend",
24+ "depends": "after-suspend-manual-thunderbolt/insert"}
25+ ]
26 _summary: Storage test on Thunderbolt
27 _description:
28 This is an automated test which performs read/write operations on an attached
29@@ -41,6 +51,11 @@ depends: thunderbolt/insert
30 estimated_duration: 10.0
31 command: removable_storage_watcher remove scsi
32 _summary: Storage removal detection on Thunderbolt
33+_siblings: [
34+ { "id": "after-suspend-manual-thunderbolt/remove",
35+ "_summary": "thunderbolt/remove after suspend",
36+ "depends": "after-suspend-manual-thunderbolt/insert"}
37+ ]
38 _description:
39 PURPOSE:
40 This test will check the system can detect the removal of a Thunderbolt HDD
41@@ -82,6 +97,11 @@ imports: from com.canonical.plainbox import manifest
42 requires: manifest.has_thunderbolt3 == 'True'
43 estimated_duration: 20.0
44 command: removable_storage_watcher insert --timeout 40 scsi
45+_siblings: [
46+ { "id": "after-suspend-manual-thunderbolt3/insert",
47+ "_summary": "thunderbolt3/insert after suspend",
48+ "depends": "suspend/suspend_advanced"}
49+ ]
50 _summary: Storage insert detection on Thunderbolt 3 port
51 _description:
52 PURPOSE:
53@@ -104,6 +124,11 @@ requires: manifest.has_thunderbolt3 == 'True'
54 depends: thunderbolt3/insert
55 estimated_duration: 45.0
56 command: removable_storage_test -s 268400000 scsi
57+_siblings: [
58+ { "id": "after-suspend-manual-thunderbolt3/storage-test",
59+ "_summary": "thunderbolt3/storage-test after suspend",
60+ "depends": "after-suspend-manual-thunderbolt3/insert"}
61+ ]
62 _summary: Storage test on Thunderbolt 3
63 _description:
64 This is an automated test which performs read/write operations on an attached
65@@ -117,6 +142,11 @@ requires: manifest.has_thunderbolt3 == 'True'
66 depends: thunderbolt3/insert
67 estimated_duration: 10.0
68 command: removable_storage_watcher remove scsi
69+_siblings: [
70+ { "id": "after-suspend-manual-thunderbolt3/remove",
71+ "_summary": "thunderbolt3/remove after suspend",
72+ "depends": "after-suspend-manual-thunderbolt3/insert"}
73+ ]
74 _summary: Storage removal detection on Thunderbolt 3 port
75 _description:
76 PURPOSE:
77diff --git a/units/thunderbolt/test-plan.pxu b/units/thunderbolt/test-plan.pxu
78index a0efcda..f80a0ad 100644
79--- a/units/thunderbolt/test-plan.pxu
80+++ b/units/thunderbolt/test-plan.pxu
81@@ -8,6 +8,15 @@ nested_part:
82 com.canonical.certification::thunderbolt-cert-manual
83 com.canonical.certification::thunderbolt-cert-automated
84
85+id: after-suspend-thunderbolt-cert-full
86+unit: test plan
87+_name: Thunderbolt tests
88+_description:
89+ Thunderbolt tests
90+include:
91+nested_part:
92+ com.canonical.certification::after-suspend-thunderbolt-cert
93+
94 id: thunderbolt-cert-manual
95 unit: test plan
96 _name: Thunderbolt tests (Manual)
97@@ -37,3 +46,27 @@ include:
98 thunderbolt3/insert certification-status=blocker
99 thunderbolt3/storage-test certification-status=blocker
100 thunderbolt3/remove certification-status=blocker
101+
102+id: after-suspend-thunderbolt-cert
103+unit: test plan
104+_name: Thunderbolt tests (after suspend Manual)
105+_description:
106+ Thunderbolt tests (after suspend Manual)
107+include:
108+ after-suspend-manual-thunderbolt/insert certification-status=non-blocker
109+ after-suspend-manual-thunderbolt/storage-test certification-status=non-blocker
110+ after-suspend-manual-thunderbolt/remove certification-status=non-blocker
111+ after-suspend-manual-thunderbolt3/insert certification-status=blocker
112+ after-suspend-manual-thunderbolt3/storage-test certification-status=blocker
113+ after-suspend-manual-thunderbolt3/remove certification-status=blocker
114+
115+id: after-suspend-thunderbolt-cert-blockers
116+unit: test plan
117+_name: Thunderbolt tests (after suspend - certification blockers only)
118+_description: Thunderbolt tests (after suspend - certification blockers only)
119+include:
120+ after-suspend-manual-thunderbolt3/insert certification-status=blocker
121+ after-suspend-manual-thunderbolt3/storage-test certification-status=blocker
122+ after-suspend-manual-thunderbolt3/remove certification-status=blocker
123+
124+

Subscribers

People subscribed via source and target branches