Merge lp:~cypressyew/checkbox/solutionD into lp:checkbox

Proposed by Po-Hsu Lin
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 3718
Merged at revision: 3724
Proposed branch: lp:~cypressyew/checkbox/solutionD
Merge into: lp:checkbox
Diff against target: 1222 lines (+586/-282)
8 files modified
providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu (+59/-35)
providers/plainbox-provider-certification-client/whitelists/client-cert.whitelist (+62/-36)
providers/plainbox-provider-checkbox/jobs/audio.txt.in (+82/-59)
providers/plainbox-provider-checkbox/jobs/graphics.txt.in (+22/-14)
providers/plainbox-provider-checkbox/jobs/hibernate.txt.in (+49/-0)
providers/plainbox-provider-checkbox/jobs/led.txt.in (+1/-0)
providers/plainbox-provider-checkbox/jobs/monitor.txt.in (+176/-113)
providers/plainbox-provider-checkbox/jobs/suspend.txt.in (+135/-25)
To merge this branch: bzr merge lp:~cypressyew/checkbox/solutionD
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Review via email: mp+257221@code.launchpad.net

Description of the change

* Fix missing jobs for hybrid graphic system by using local jobs

* Don't use local jobs for suspend-related test on 1st card, to solve the dependency issue on suspend_advanced job.

You can find the dependency chart here:
https://launchpadlibrarian.net/204221329/SolutionD.html
(Chart updated on Apr.24, removing dependency between 1_graphic_switch and suspend_advanced job, see comment for more information)

Possible issue:
* Those non-graphic related tests after suspend (Bluetooth, wireless, media card... etc) will be tested after hibernate on a hybrid graphic system, not sure if it's acceptable.
* For selecting suspend related job on hybrid graphic system will be a bit more complicated, because they are not grouped together anymore (e.g. you will need to select the 2_resolution_before_suspend for 2nd card, and resolution_before_suspend for 1st card), screenshot could be found here: http://i.imgur.com/5NcUgXV.png

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

From your D diagram, suspend/suspend_advanced should depend on graphics/1_switch_card. Otherwise this suspend could come well before what's expected.

The suspend.txt file is easier to review here (direct link to the line with suspend_advanced): http://bazaar.launchpad.net/~cypressyew/checkbox/solutionD/view/head:/providers/plainbox-provider-checkbox/jobs/suspend.txt.in#L251

Could you confirm that it's a job dependency missing?

review: Needs Information
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Hello,
Yes it's a missing dependency, ideally it should depend on that job to make sure it's running on the correct card.
However, for using that dependency in suspend/suspend_advanced, it will be written as:
depneds: graphics/1_switch_card_*
But this kind of expression is only valid in local jobs.
I wonder if there is any other way to do this.

I updated the dependency chart, basically just removed the dependency between these two jobs.
https://launchpadlibrarian.net/204221329/SolutionD.html

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

ok, thanks for the confirmation.

This is an incredible work, thanks a lot for having initiated the fix and for the detailed diagrams.
+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu'
2--- providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-03-10 11:08:12 +0000
3+++ providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-04-23 06:37:30 +0000
4@@ -31,6 +31,7 @@
5 xinput
6 # Tests grouped by categories. Categories start with '__'
7 __audio__
8+ audio/genereator_.*
9 audio/alsa_info_collect
10 audio/alsa_info_attachment
11 audio/speaker-headphone-plug-detection certification-status=blocker
12@@ -40,9 +41,8 @@
13 audio/list_devices
14 audio/playback_auto certification-status=blocker
15 audio/playback_headphones certification-status=blocker
16- audio/playback_hdmi certification-status=blocker
17- audio/playback_displayport certification-status=blocker
18 audio/alsa_record_playback_automated certification-status=blocker
19+ # See Monitor / Graphic test section for hybrid-graphic monitor audio tests
20 __benchmarks__
21 # See Automated Tests section at the end of this file
22 __bluetooth__
23@@ -77,20 +77,34 @@
24 firewire/remove certification-status=blocker
25 __firmware__
26 # See Automated Tests section at the end of this file
27+ __monitor__
28+ monitor/generator_.*
29+ monitor/1_powersaving_.* certification-status=blocker
30+ monitor/1_dim_brightness_.* certification-status=blocker
31+ monitor/1_displayport_.* certification-status=blocker
32+ audio/1_playback_displayport_.* certification-status=blocker
33+ monitor/1_dvi_.* certification-status=blocker
34+ monitor/1_hdmi_.* certification-status=blocker
35+ audio/1_playback_hdmi_.* certification-status=blocker
36+ monitor/1_rca_.* certification-status=blocker
37+ monitor/1_svideo_.* certification-status=blocker
38+ monitor/1_vga_.* certification-status=blocker
39+ monitor/1_multi-head_.* certification-status=blocker
40+ # See Graphic Tests section for monitor test on second graphic card
41 __graphics__
42 graphics/generator_.*
43+ graphics/xorg-version certification-status=blocker
44+ graphics/xorg-failsafe certification-status=blocker
45+ graphics/xorg-process certification-status=blocker
46+ graphics/VESA_drivers_not_in_use certification-status=blocker
47 graphics/1_maximum_resolution_.* certification-status=blocker
48 graphics/1_glxgears_.* certification-status=blocker
49- graphics/xorg-version certification-status=blocker
50 graphics/1_driver_version_.* certification-status=blocker
51 graphics/1_compiz_check_.* certification-status=blocker
52 graphics/1_rotation_.* certification-status=blocker
53 graphics/1_display_.* certification-status=blocker
54 graphics/1_minimum_resolution_.*
55- graphics/xorg-failsafe certification-status=blocker
56- graphics/xorg-process certification-status=blocker
57 graphics/1_cycle_resolution_.*
58- graphics/VESA_drivers_not_in_use certification-status=blocker
59 graphics/2_switch_card_.* certification-status=blocker
60 graphics/2_maximum_resolution_.* certification-status=blocker
61 graphics/2_glxgears_.* certification-status=blocker
62@@ -100,6 +114,17 @@
63 graphics/2_display_.* certification-status=blocker
64 graphics/2_minimum_resolution_.*
65 graphics/2_cycle_resolution_.*
66+ monitor/2_powersaving_.* certification-status=blocker
67+ monitor/2_dim_brightness_.* certification-status=blocker
68+ monitor/2_displayport_.* certification-status=blocker
69+ audio/2_playback_displayport_.* certification-status=blocker
70+ monitor/2_dvi_.* certification-status=blocker
71+ monitor/2_hdmi_.* certification-status=blocker
72+ audio/2_playback_hdmi_.* certification-status=blocker
73+ monitor/2_rca_.* certification-status=blocker
74+ monitor/2_svideo_.* certification-status=blocker
75+ monitor/2_vga_.* certification-status=blocker
76+ monitor/2_multi-head_.* certification-status=blocker
77 __hibernate__
78 #See below, power-management/hibernate_advanced
79 __input__
80@@ -157,16 +182,6 @@
81 miscellanea/oops certification-status=blocker
82 miscellanea/oops_results.log
83 # See Automated Tests section at the end of this file
84- __monitor__
85- monitor/powersaving certification-status=blocker
86- monitor/dim_brightness certification-status=blocker
87- monitor/displayport certification-status=blocker
88- monitor/dvi certification-status=blocker
89- monitor/hdmi certification-status=blocker
90- monitor/rca certification-status=blocker
91- monitor/svideo certification-status=blocker
92- monitor/vga certification-status=blocker
93- monitor/multi-head certification-status=blocker
94 __mobilebroadband__
95 mobilebroadband/gsm_connection certification-status=non-blocker
96 mobilebroadband/cdma_connection certification-status=non-blocker
97@@ -192,6 +207,7 @@
98 optical/bluray-write_.* certification-status=blocker
99 __power-management__
100 # See Automated Tests section at the end of this file
101+ power-management/generator_.*
102 power-management/lid certification-status=blocker
103 power-management/lid_close certification-status=blocker
104 power-management/lid_open certification-status=blocker
105@@ -242,38 +258,52 @@
106 wireless/wireless_connection_wpa_ac certification-status=blocker
107 wireless/wireless_connection_open_ac certification-status=blocker
108 __suspend__
109+ suspend/generator_.*
110 suspend/network_before_suspend certification-status=blocker
111- suspend/resolution_before_suspend certification-status=blocker
112 suspend/audio_before_suspend certification-status=blocker
113 suspend/cpu_before_suspend certification-status=blocker
114 suspend/memory_before_suspend certification-status=blocker
115 suspend/bluetooth_obex_send_before_suspend certification-status=blocker
116 suspend/bluetooth_obex_browse_before_suspend certification-status=blocker
117 suspend/bluetooth_obex_get_before_suspend certification-status=blocker
118+ # Test card 2 first, if present, since it's the one we will be using
119+ # after coming back from suspend if the system has hybrid graphics.
120+ suspend/2_resolution_before_suspend_.* certification-status=blocker
121+ suspend/2_suspend_after_switch_to_card_.* certification-status=blocker
122+ suspend/2_suspend-time-check_.* certification-status=non-blocker
123+ suspend/2_suspend-single-log-attach_.*
124+ suspend/2_hybrid_sleep_.* certification-status=non-blocker
125+ suspend/2_hybrid-sleep-single-log-attach_.*
126+ suspend/2_resolution_after_suspend_.* certification-status=blocker
127+ suspend/2_display_after_suspend_.* certification-status=blocker
128+ suspend/2_cycle_resolutions_after_suspend_.* certification-status=blocker
129+ suspend/2_xrandr_screens_after_suspend_.*.tar.gz
130+ power-management/2_hibernate_advanced_.* certification-status=non-blocker
131+ power-management/2_hibernate-single-log-attach_.*
132+ # Now we ask to switch to the first graphics card. This requires a restart
133+ # of checkbox.
134+ graphics/1_switch_card_.* certification-status=blocker
135+ suspend/resolution_before_suspend certification-status=blocker
136 suspend/suspend_advanced certification-status=blocker
137 suspend/suspend-time-check certification-status=non-blocker
138 suspend/suspend-single-log-attach
139- suspend/hybrid_sleep certification-status=non-blocker
140- suspend/hybrid-sleep-single-log-attach
141+ suspend/1_hybrid_sleep_.* certification-status=non-blocker
142+ suspend/1_hybrid-sleep-single-log-attach_.*
143+ suspend/resolution_after_suspend certification-status=blocker
144+ suspend/display_after_suspend certification-status=blocker
145+ suspend/cycle_resolutions_after_suspend certification-status=blocker
146+ suspend/xrandr_screens_after_suspend.tar.gz
147 keys/sleep certification-status=blocker
148 led/power-blink-suspend certification-status=blocker
149 led/suspend certification-status=blocker
150 suspend/network_after_suspend certification-status=blocker
151- suspend/resolution_after_suspend certification-status=blocker
152 suspend/audio_after_suspend certification-status=blocker
153 suspend/cpu_after_suspend certification-status=blocker
154 suspend/memory_after_suspend certification-status=blocker
155- suspend/generator_display_after_suspend
156- suspend/generator_suspend_after_switch_to_card
157- # Test card 2 first, if present, since it's the one we will be using
158- # after coming back from suspend if the system has hybrid graphics.
159- suspend/2_display_after_suspend.* certification-status=blocker
160 suspend/bluetooth_detect_after_suspend certification-status=blocker
161 suspend/bluetooth_obex_send_after_suspend certification-status=blocker
162 suspend/bluetooth_obex_browse_after_suspend certification-status=blocker
163 suspend/bluetooth_obex_get_after_suspend certification-status=blocker
164- suspend/cycle_resolutions_after_suspend certification-status=blocker
165- suspend/xrandr_screens_after_suspend.tar.gz
166 suspend/record_playback_after_suspend certification-status=blocker
167 suspend/pointing-after-suspend
168 suspend/pointing-after-suspend_.* certification-status=blocker
169@@ -298,14 +328,8 @@
170 suspend/wireless_connection_after_suspend_open_n certification-status=blocker
171 suspend/wireless_connection_after_suspend_wpa_ac certification-status=blocker
172 suspend/wireless_connection_after_suspend_open_ac certification-status=blocker
173- # Now we ask to switch to the first graphics card. This requires a restart
174- # of checkbox. If the system only has one card, the test instructions
175- # should tell the user to just do nothing.
176- graphics/1_switch_card_.* certification-status=blocker
177- suspend/1_suspend_after_switch_to_card_.* certification-status=blocker
178- suspend/1_display_after_suspend.* certification-status=blocker
179- power-management/hibernate_advanced certification-status=non-blocker
180- power-management/hibernate-single-log-attach
181+ power-management/1_hibernate_advanced_.* certification-status=non-blocker
182+ power-management/1_hibernate-single-log-attach._*
183 keys/hibernate certification-status=blocker
184 # The following tests should run BEFORE the automated tests. The reboot and
185 # power off tests will also give us a clean system to start the stress run
186
187=== modified file 'providers/plainbox-provider-certification-client/whitelists/client-cert.whitelist'
188--- providers/plainbox-provider-certification-client/whitelists/client-cert.whitelist 2015-04-16 07:29:03 +0000
189+++ providers/plainbox-provider-certification-client/whitelists/client-cert.whitelist 2015-04-23 06:37:30 +0000
190@@ -36,6 +36,7 @@
191 xinput
192 # Tests grouped by categories. Categories start with '__'
193 __audio__
194+audio/genereator_.*
195 audio/alsa_info_collect
196 audio/alsa_info_attachment
197 audio/speaker-headphone-plug-detection
198@@ -45,10 +46,8 @@
199 audio/list_devices
200 audio/playback_auto
201 audio/playback_headphones
202-audio/playback_hdmi
203-audio/playback_displayport
204-audio/playback_thunderbolt
205 audio/alsa_record_playback_automated
206+# See Monitor / Graphic test section for hybrid-graphic monitor audio tests
207 __benchmarks__
208 # See Automated Tests section at the end of this file
209 __bluetooth__
210@@ -88,20 +87,37 @@
211 # See the Thunderbolt monitor test for the daisy-chain test
212 __firmware__
213 # See Automated Tests section at the end of this file
214+__monitor__
215+monitor/generator_.*
216+monitor/1_powersaving_.*
217+monitor/1_dim_brightness_.*
218+monitor/1_displayport_.*
219+audio/1_playback_displayport_.*
220+monitor/1_dvi_.*
221+monitor/1_hdmi_.*
222+audio/1_playback_hdmi_.*
223+monitor/1_thunderbolt_.*
224+audio/1_playback_thunderbolt_.*
225+thunderbolt/daisy-chain
226+monitor/1_rca_.*
227+monitor/1_svideo_.*
228+monitor/1_vga_.*
229+monitor/1_multi-head_.*
230+# See Graphic Tests section for monitor test on second graphic card
231 __graphics__
232 graphics/generator_.*
233+graphics/xorg-version
234+graphics/xorg-failsafe
235+graphics/xorg-process
236+graphics/VESA_drivers_not_in_use
237 graphics/1_maximum_resolution_.*
238 graphics/1_glxgears_.*
239-graphics/xorg-version
240 graphics/1_driver_version_.*
241 graphics/1_compiz_check_.*
242 graphics/1_rotation_.*
243 graphics/1_display_.*
244 graphics/1_minimum_resolution_.*
245-graphics/xorg-failsafe
246-graphics/xorg-process
247 graphics/1_cycle_resolution_.*
248-graphics/VESA_drivers_not_in_use
249 graphics/2_switch_card_.*
250 graphics/2_maximum_resolution_.*
251 graphics/2_glxgears_.*
252@@ -111,6 +127,19 @@
253 graphics/2_display_.*
254 graphics/2_minimum_resolution_.*
255 graphics/2_cycle_resolution_.*
256+monitor/2_powersaving_.*
257+monitor/2_dim_brightness_.*
258+monitor/2_displayport_.*
259+audio/2_playback_displayport_.*
260+monitor/2_dvi_.*
261+monitor/2_hdmi_.*
262+audio/2_playback_hdmi_.*
263+monitor/2_thunderbolt_.*
264+audio/2_playback_thunderbolt_.*
265+monitor/2_rca_.*
266+monitor/2_svideo_.*
267+monitor/2_vga_.*
268+monitor/2_multi-head_.*
269 __hibernate__
270 #See below, power-management/hibernate_advanced
271 __input__
272@@ -168,18 +197,6 @@
273 miscellanea/oops
274 miscellanea/oops_results.log
275 # See Automated Tests section at the end of this file
276-__monitor__
277-monitor/powersaving
278-monitor/dim_brightness
279-monitor/displayport
280-monitor/dvi
281-monitor/hdmi
282-monitor/rca
283-monitor/svideo
284-monitor/thunderbolt
285-thunderbolt/daisy-chain
286-monitor/vga
287-monitor/multi-head
288 __mobilebroadband__
289 mobilebroadband/gsm_connection
290 mobilebroadband/cdma_connection
291@@ -205,6 +222,7 @@
292 optical/bluray-write_.*
293 __power-management__
294 # See Automated Tests section at the end of this file
295+power-management/generator_.*
296 power-management/lid
297 power-management/lid_close
298 power-management/lid_open
299@@ -255,38 +273,52 @@
300 wireless/wireless_connection_wpa_ac
301 wireless/wireless_connection_open_ac
302 __suspend__
303+suspend/generator_.*
304 suspend/network_before_suspend
305-suspend/resolution_before_suspend
306 suspend/audio_before_suspend
307 suspend/cpu_before_suspend
308 suspend/memory_before_suspend
309 suspend/bluetooth_obex_send_before_suspend
310 suspend/bluetooth_obex_browse_before_suspend
311 suspend/bluetooth_obex_get_before_suspend
312+# Test card 2 first, if present, since it's the one we will be using
313+# after coming back from suspend if the system has hybrid graphics.
314+suspend/2_resolution_before_suspend_.*
315+suspend/2_suspend_after_switch_to_card_.*
316+suspend/2_suspend-time-check_.*
317+suspend/2_suspend-single-log-attach_.*
318+suspend/2_hybrid_sleep_.*
319+suspend/2_hybrid-sleep-single-log-attach_.*
320+suspend/2_resolution_after_suspend_.*
321+suspend/2_display_after_suspend_.*
322+suspend/2_cycle_resolutions_after_suspend_.*
323+suspend/2_xrandr_screens_after_suspend.tar.gz
324+power-management/2_hibernate_advanced_.*
325+power-management/2_hibernate-single-log-attach_.*
326+# Now we ask to switch to the first graphics card. This requires a restart
327+# of checkbox.
328+graphics/1_switch_card_.*
329+suspend/resolution_before_suspend
330 suspend/suspend_advanced
331 suspend/suspend-time-check
332 suspend/suspend-single-log-attach
333-suspend/hybrid_sleep
334-suspend/hybrid-sleep-single-log-attach
335+suspend/1_hybrid_sleep_.*
336+suspend/1_hybrid-sleep-single-log-attach_.*
337+suspend/resolution_after_suspend
338+suspend/display_after_suspend
339+suspend/cycle_resolutions_after_suspend
340+suspend/xrandr_screens_after_suspend.tar.gz
341 keys/sleep
342 led/power-blink-suspend
343 led/suspend
344 suspend/network_after_suspend
345-suspend/resolution_after_suspend
346 suspend/audio_after_suspend
347 suspend/cpu_after_suspend
348 suspend/memory_after_suspend
349-suspend/generator_display_after_suspend
350-suspend/generator_suspend_after_switch_to_card
351-# Test card 2 first, if present, since it's the one we will be using
352-# after coming back from suspend if the system has hybrid graphics.
353-suspend/2_display_after_suspend.*
354 suspend/bluetooth_detect_after_suspend
355 suspend/bluetooth_obex_send_after_suspend
356 suspend/bluetooth_obex_browse_after_suspend
357 suspend/bluetooth_obex_get_after_suspend
358-suspend/cycle_resolutions_after_suspend
359-suspend/xrandr_screens_after_suspend.tar.gz
360 suspend/record_playback_after_suspend
361 suspend/pointing-after-suspend
362 suspend/pointing-after-suspend_.*
363@@ -311,12 +343,6 @@
364 suspend/wireless_connection_after_suspend_open_n
365 suspend/wireless_connection_after_suspend_wpa_ac
366 suspend/wireless_connection_after_suspend_open_ac
367-# Now we ask to switch to the first graphics card. This requires a restart
368-# of checkbox. If the system only has one card, the test instructions should
369-# tell the user to just do nothing.
370-graphics/1_switch_card_.*
371-suspend/1_suspend_after_switch_to_card_.*
372-suspend/1_display_after_suspend.*
373 power-management/hibernate_advanced
374 power-management/hibernate-single-log-attach
375 keys/hibernate
376
377=== modified file 'providers/plainbox-provider-checkbox/jobs/audio.txt.in'
378--- providers/plainbox-provider-checkbox/jobs/audio.txt.in 2015-04-15 03:29:00 +0000
379+++ providers/plainbox-provider-checkbox/jobs/audio.txt.in 2015-04-23 06:37:30 +0000
380@@ -34,57 +34,71 @@
381 VERIFICATION:
382 Did you hear a tone?
383
384-plugin: user-interact-verify
385-id: audio/playback_hdmi
386-estimated_duration: 30.0
387-requires:
388- device.category == 'AUDIO'
389- package.name == 'alsa-base'
390- package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
391- package.name == 'pulseaudio-utils'
392-command:
393- audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
394- audio_settings set --verbose --device=hdmi --volume=50
395- gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
396- EXIT_CODE=$?
397- audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
398- exit $EXIT_CODE
399-_description:
400- PURPOSE:
401- HDMI audio interface verification
402- STEPS:
403- 1. Plug an external HDMI device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
404- 2. Click the Test button
405- VERIFICATION:
406- Did you hear the sound from the HDMI device?
407-
408-plugin: user-interact-verify
409-id: audio/playback_displayport
410-estimated_duration: 30.0
411-requires:
412- device.category == 'AUDIO'
413- package.name == 'alsa-base'
414- package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
415- package.name == 'pulseaudio-utils'
416-command:
417- audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
418- audio_settings set --verbose --device=hdmi --volume=50
419- gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
420- EXIT_CODE=$?
421- audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
422- exit $EXIT_CODE
423-_description:
424- PURPOSE:
425- DisplayPort audio interface verification
426- STEPS:
427- 1. Plug an external DisplayPort device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
428- 2. Click the Test button
429- VERIFICATION:
430- Did you hear the sound from the DisplayPort device?
431-
432-plugin: user-interact-verify
433-id: audio/playback_thunderbolt
434-estimated_duration: 30.0
435+id: audio/generator_playback_hdmi
436+requires:
437+ device.category == 'AUDIO'
438+ package.name == 'alsa-base'
439+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
440+ package.name == 'pulseaudio-utils'
441+_description: HDMI audio test
442+_summary: HDMI audio test
443+plugin: local
444+command:
445+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
446+ id: audio/`echo ${index}`_playback_hdmi_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
447+ requires: display.hdmi == 'supported'
448+ plugin: user-interact-verify
449+ estimated_duration: 30.0
450+ command:
451+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
452+ audio_settings set --verbose --device=hdmi --volume=50
453+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
454+ EXIT_CODE=$?
455+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
456+ exit $EXIT_CODE
457+ _description:
458+ PURPOSE:
459+ HDMI audio interface verification
460+ STEPS:
461+ 1. Plug an external HDMI device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
462+ 2. Click the Test button
463+ VERIFICATION:
464+ Did you hear the sound from the HDMI device?
465+ EOF
466+
467+id: audio/generator_playback_displayport
468+requires:
469+ device.category == 'AUDIO'
470+ package.name == 'alsa-base'
471+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
472+ package.name == 'pulseaudio-utils'
473+_description: DisplayPort audio test
474+_summary: DisplayPort audio test
475+plugin: local
476+command:
477+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
478+ id: audio/`echo ${index}`_playback_displayport_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
479+ requires: display.dp == 'supported'
480+ plugin: user-interact-verify
481+ estimated_duration: 30.0
482+ command:
483+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
484+ audio_settings set --verbose --device=hdmi --volume=50
485+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
486+ EXIT_CODE=$?
487+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
488+ exit $EXIT_CODE
489+ _description:
490+ PURPOSE:
491+ DisplayPort audio interface verification
492+ STEPS:
493+ 1. Plug an external DisplayPort device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
494+ 2. Click the Test button
495+ VERIFICATION:
496+ Did you hear the sound from the DisplayPort device?
497+ EOF
498+
499+id: audio/generator_playback_thunderbolt
500 imports: from 2013.com.canonical.plainbox import manifest
501 requires:
502 manifest.has_thunderbolt == 'True'
503@@ -92,21 +106,30 @@
504 package.name == 'alsa-base'
505 package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
506 package.name == 'pulseaudio-utils'
507+_description: Thunderbolt audio test
508+_summary: Thunderbolt audio test
509+plugin: local
510 command:
511+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
512+ id: audio/`echo ${index}`_playback_thunderbolt_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
513+ plugin: user-interact-verify
514+ estimated_duration: 30.0
515+ command:
516 audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
517 audio_settings set --verbose --device=hdmi --volume=50
518 gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
519 EXIT_CODE=$?
520 audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
521 exit $EXIT_CODE
522-_description:
523- PURPOSE:
524- Thunderbolt audio interface verification
525- STEPS:
526- 1. Plug an external Thunderbolt device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
527- 2. Click the Test button
528- VERIFICATION:
529- Did you hear the sound from the Thunderbolt device?
530+ _description:
531+ PURPOSE:
532+ Thunderbolt audio interface verification
533+ STEPS:
534+ 1. Plug an external Thunderbolt device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
535+ 2. Click the Test button
536+ VERIFICATION:
537+ Did you hear the sound from the Thunderbolt device?
538+ EOF
539
540 plugin: user-interact-verify
541 id: audio/playback_headphones
542
543=== modified file 'providers/plainbox-provider-checkbox/jobs/graphics.txt.in'
544--- providers/plainbox-provider-checkbox/jobs/graphics.txt.in 2015-04-16 14:23:08 +0000
545+++ providers/plainbox-provider-checkbox/jobs/graphics.txt.in 2015-04-23 06:37:30 +0000
546@@ -221,20 +221,28 @@
547 _summary: Test graphic memory info for $product.
548 EOF
549
550-plugin: user-interact-verify
551-id: graphics/display
552-requires:
553- package.name == 'xorg'
554- package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
555-command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
556-_summary: Test that video can be displayed
557-_description:
558- PURPOSE:
559- This test will test the default display
560- STEPS:
561- 1. Click "Test" to display a video test.
562- VERIFICATION:
563- Do you see color bars and static?
564+id: graphics/generator_display
565+requires: device.category == 'VIDEO'
566+_description: Display test
567+_summary: Display test
568+plugin: local
569+command:
570+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
571+ id: graphics/`echo ${index}`_display_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
572+ plugin: user-interact-verify
573+ requires:
574+ package.name == 'xorg'
575+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
576+ command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
577+ _summary: Test that video can be displayed with ${product}
578+ _description:
579+ PURPOSE:
580+ This test will test the default display
581+ STEPS:
582+ 1. Click "Test" to display a video test.
583+ VERIFICATION:
584+ Do you see color bars and static?
585+ EOF
586
587 plugin: shell
588 id: graphics/VESA_drivers_not_in_use
589
590=== modified file 'providers/plainbox-provider-checkbox/jobs/hibernate.txt.in'
591--- providers/plainbox-provider-checkbox/jobs/hibernate.txt.in 2014-09-02 16:33:03 +0000
592+++ providers/plainbox-provider-checkbox/jobs/hibernate.txt.in 2015-04-23 06:37:30 +0000
593@@ -25,6 +25,40 @@
594 VERIFICATION:
595 Did the system successfully hibernate and did it work properly after waking up?
596
597+id: power-management/generator_hibernate_advanced
598+requires:
599+ sleep.disk == 'supported'
600+ rtc.state == 'supported'
601+_description: Hibernate test
602+_summary: Hibernate test
603+plugin: local
604+command:
605+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
606+ plugin: user-interact-verify
607+ id: power-management/`echo ${index}`_hibernate_advanced_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
608+ user: root
609+ environ: PLAINBOX_SESSION_SHARE
610+ estimated_duration: 300.00
611+ command:
612+ if type -P fwts >/dev/null; then
613+ echo "Calling fwts"
614+ fwts_test -l $PLAINBOX_SESSION_SHARE/`echo ${index}`_hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120
615+ else
616+ echo "Calling sleep_test"
617+ sleep_test -s disk -w 120
618+ fi
619+ _description:
620+ PURPOSE:
621+ This test will check to make sure your system can successfully hibernate (if supported)
622+ STEPS:
623+ 1. Click on Test
624+ 2. The system will hibernate and should wake itself within 5 minutes
625+ 3. If your system does not wake itself after 5 minutes, please press the power button to wake the system manually
626+ 4. If the system fails to resume from hibernate, please restart System Testing and mark this test as Failed
627+ VERIFICATION:
628+ Did the system successfully hibernate and did it work properly after waking up?
629+ EOF
630+
631 plugin: shell
632 id: power-management/hibernate-single-log-check
633 command: [ -e $PLAINBOX_SESSION_SHARE/hibernate-single.log ] && sleep_test_log_check -v s4 $PLAINBOX_SESSION_SHARE/hibernate-single.log
634@@ -33,7 +67,22 @@
635
636 plugin: attachment
637 id: power-management/hibernate-single-log-attach
638+depends: power-management/hibernate_advanced
639 command: [ -e $PLAINBOX_SESSION_SHARE/hibernate-single.log ] && cat $PLAINBOX_SESSION_SHARE/hibernate-single.log
640 estimated_duration: 0.5
641 _description: attaches log from single hibernate/resume test to results
642
643+id: power-management/generator_hibernate-single-log-attach
644+_description: Hibernate log attach
645+_summary: Hibernate log attach
646+plugin: local
647+command:
648+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
649+ plugin: attachment
650+ id: power-management/`echo ${index}`_hibernate-single-log-attach_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
651+ depends: power-management/`echo ${index}`_hibernate_advanced_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
652+ estimated_duration: 0.5
653+ command: [ -e $PLAINBOX_SESSION_SHARE/`echo ${index}`_hibernate-single.log ] && cat $PLAINBOX_SESSION_SHARE/`echo ${index}`_hibernate-single.log
654+ _description: attaches log from single hibernate/resume test to results
655+ EOF
656+
657
658=== modified file 'providers/plainbox-provider-checkbox/jobs/led.txt.in'
659--- providers/plainbox-provider-checkbox/jobs/led.txt.in 2014-07-28 15:17:23 +0000
660+++ providers/plainbox-provider-checkbox/jobs/led.txt.in 2015-04-23 06:37:30 +0000
661@@ -24,6 +24,7 @@
662 plugin: manual
663 id: led/suspend
664 estimated_duration: 30.0
665+depends: suspend/suspend_advanced
666 _description:
667 PURPOSE:
668 Suspend LED verification.
669
670=== modified file 'providers/plainbox-provider-checkbox/jobs/monitor.txt.in'
671--- providers/plainbox-provider-checkbox/jobs/monitor.txt.in 2015-04-22 09:48:46 +0000
672+++ providers/plainbox-provider-checkbox/jobs/monitor.txt.in 2015-04-23 06:37:30 +0000
673@@ -1,50 +1,179 @@
674-plugin: manual
675-id: monitor/vga
676-requires: display.vga == 'supported' or display.dp == 'supported'
677-_description:
678- PURPOSE:
679- This test will check your VGA port.
680- STEPS:
681- Skip this test if your system does not have a VGA port.
682- 1. Connect a display (if not already connected) to the VGA port on your system
683- VERIFICATION:
684- Was the desktop displayed correctly on both screens?
685-
686-plugin: manual
687-id: monitor/dvi
688-requires: display.dvi == 'supported'
689-_description:
690- PURPOSE:
691- This test will check your DVI port.
692- STEPS:
693- Skip this test if your system does not have a DVI port.
694- 1. Connect a display (if not already connected) to the DVI port on your system
695- VERIFICATION:
696- Was the desktop displayed correctly on both screens?
697-
698-plugin: manual
699-id: monitor/displayport
700-requires: display.dp == 'supported'
701-_description:
702- PURPOSE:
703- This test will check your DisplayPort port.
704- STEPS:
705- Skip this test if your system does not have a DisplayPort port.
706- 1. Connect a display (if not already connected) to the DisplayPort port on your system
707- VERIFICATION:
708- Was the desktop displayed correctly on both screens?
709-
710-plugin: manual
711-id: monitor/hdmi
712-requires: display.hdmi == 'supported'
713-_description:
714- PURPOSE:
715- This test will check your HDMI port.
716- STEPS:
717- Skip this test if your system does not have a HDMI port.
718- 1. Connect a display (if not already connected) to the HDMI port on your system
719- VERIFICATION:
720- Was the desktop displayed correctly on both screens?
721+id: monitor/generator_vga
722+_description: VGA port test
723+_summary: VGA port test
724+plugin: local
725+command:
726+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
727+ id: monitor/`echo ${index}`_vga_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
728+ requires: display.vga == 'supported' or display.dp == 'supported'
729+ plugin: manual
730+ _description:
731+ PURPOSE:
732+ This test will check your VGA port.
733+ STEPS:
734+ Skip this test if your system does not have a VGA port.
735+ 1. Connect a display (if not already connected) to the VGA port on your system
736+ VERIFICATION:
737+ Was the desktop displayed correctly on both screens?
738+ EOF
739+
740+id: monitor/generator_dvi
741+_description: DVI port test
742+_summary: DVI port test
743+plugin: local
744+command:
745+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
746+ id: monitor/`echo ${index}`_dvi_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
747+ requires: display.dvi == 'supported'
748+ plugin: manual
749+ _description:
750+ PURPOSE:
751+ This test will check your DVI port.
752+ STEPS:
753+ Skip this test if your system does not have a DVI port.
754+ 1. Connect a display (if not already connected) to the DVI port on your system
755+ VERIFICATION:
756+ Was the desktop displayed correctly on both screens?
757+ EOF
758+
759+id: monitor/generator_displayport
760+_description: DisplayPort test
761+_summary: DisplayPort test
762+plugin: local
763+command:
764+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
765+ id: monitor/`echo ${index}`_displayport_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
766+ requires: display.dp == 'supported'
767+ plugin: manual
768+ _description:
769+ PURPOSE:
770+ This test will check your DisplayPort port.
771+ STEPS:
772+ Skip this test if your system does not have a DisplayPort port.
773+ 1. Connect a display (if not already connected) to the DisplayPort port on your system
774+ VERIFICATION:
775+ Was the desktop displayed correctly on both screens?
776+ EOF
777+
778+id: monitor/generator_hdmi
779+_description: HDMI port test
780+_summary: HDMI port test
781+plugin: local
782+command:
783+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
784+ id: monitor/`echo ${index}`_hdmi_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
785+ requires: display.hdmi == 'supported'
786+ plugin: manual
787+ _description:
788+ PURPOSE:
789+ This test will check your HDMI port.
790+ STEPS:
791+ Skip this test if your system does not have a HDMI port.
792+ 1. Connect a display (if not already connected) to the HDMI port on your system
793+ VERIFICATION:
794+ Was the desktop displayed correctly on both screens?
795+ EOF
796+
797+id: monitor/generator_svideo
798+_description: S-VIDEO port test
799+_summary: S-VIDEO port test
800+plugin: local
801+command:
802+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
803+ id: monitor/`echo ${index}`_svideo_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
804+ requires: display.svideo == 'supported'
805+ plugin: manual
806+ _description:
807+ PURPOSE:
808+ This test will check your S-VIDEO port.
809+ STEPS:
810+ Skip this test if your system does not have a S-VIDEO port.
811+ 1. Connect a display (if not already connected) to the S-VIDEO port on your system
812+ VERIFICATION:
813+ Was the desktop displayed correctly on both screens?
814+ EOF
815+
816+id: monitor/generator_rca
817+_description: RCA port test
818+_summary: RCA port test
819+plugin: local
820+command:
821+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
822+ id: monitor/`echo ${index}`_rca_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
823+ requires: display.rca == 'supported'
824+ plugin: manual
825+ _description:
826+ PURPOSE:
827+ This test will check your RCA port.
828+ STEPS:
829+ Skip this test if your system does not have a RCA port.
830+ 1. Connect a display (if not already connected) to the RCA port on your system
831+ VERIFICATION:
832+ Was the desktop displayed correctly on both screens?
833+ EOF
834+
835+id: monitor/generator_multi-head
836+_description: Multi-monitor test
837+_summary: Multi-monitor test
838+plugin: local
839+command:
840+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
841+ id: monitor/`echo ${index}`_multi-head_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
842+ requires: dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower']
843+ plugin: manual
844+ _description:
845+ PURPOSE:
846+ This test verifies that multi-monitor output works on your desktop system. This is NOT the same test as the external monitor tests you would run on your laptop. You will need two monitors to perform this test.
847+ STEPS:
848+ Skip this test if your video card does not support multiple monitors.
849+ 1. If your second monitor is not already connected, connect it now
850+ 2. Open the "Displays" tool (open the dash and search for "Displays")
851+ 3. Configure your output to provide one desktop across both monitors
852+ 4. Open any application and drag it from one monitor to the next.
853+ VERIFICATION:
854+ Was the stretched desktop displayed correctly across both screens?
855+ EOF
856+
857+id: monitor/generator_powersaving
858+_description: Monitor power-saving test
859+_summary: Monitor power-saving test
860+plugin: local
861+command:
862+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
863+ id: monitor/`echo ${index}`_powersaving_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
864+ plugin: user-interact-verify
865+ command: xset dpms force off
866+ _description:
867+ PURPOSE:
868+ This test will check your monitor power saving capabilities
869+ STEPS:
870+ 1. Click "Test" to try the power saving capabilities of your monitor
871+ 2. Press any key or move the mouse to recover
872+ VERIFICATION:
873+ Did the monitor go blank and turn on again?
874+ EOF
875+
876+id: monitor/generator_dim_brightness
877+_description: Screen dimming test
878+_summary: Screen dimming test
879+plugin: local
880+command:
881+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
882+ id: monitor/`echo ${index}`_dim_brightness_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
883+ requires: dmi.product in ['Notebook','Laptop','Portable','All In One','All-In-One','AIO']
884+ plugin: user-interact-verify
885+ user: root
886+ command: brightness_test
887+ _description:
888+ PURPOSE:
889+ This test will test changes to screen brightness
890+ STEPS:
891+ 1. Click "Test" to try to dim the screen.
892+ 2. Check if the screen was dimmed approximately to half of the maximum brightness.
893+ 3. The screen will go back to the original brightness in 2 seconds.
894+ VERIFICATION:
895+ Was your screen dimmed approximately to half of the maximum brightness?
896+ EOF
897
898 plugin: manual
899 id: monitor/thunderbolt
900@@ -63,69 +192,3 @@
901 Was the desktop displayed correctly on the Thunderbolt-connected screen in
902 every mode?
903
904-plugin: manual
905-id: monitor/svideo
906-requires: display.svideo == 'supported'
907-_description:
908- PURPOSE:
909- This test will check your S-VIDEO port.
910- STEPS:
911- Skip this test if your system does not have a S-VIDEO port.
912- 1. Connect a display (if not already connected) to the S-VIDEO port on your system
913- VERIFICATION:
914- Was the desktop displayed correctly on both screens?
915-
916-plugin: manual
917-id: monitor/rca
918-requires: display.rca == 'supported'
919-_description:
920- PURPOSE:
921- This test will check your RCA port.
922- STEPS:
923- Skip this test if your system does not have a RCA port.
924- 1. Connect a display (if not already connected) to the RCA port on your system
925- VERIFICATION:
926- Was the desktop displayed correctly on both screens?
927-
928-plugin: manual
929-id: monitor/multi-head
930-requires: dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower']
931-_description:
932- PURPOSE:
933- This test verifies that multi-monitor output works on your desktop system. This is NOT the same test as the external monitor tests you would run on your laptop. You will need two monitors to perform this test.
934- STEPS:
935- Skip this test if your video card does not support multiple monitors.
936- 1. If your second monitor is not already connected, connect it now
937- 2. Open the "Displays" tool (open the dash and search for "Displays")
938- 3. Configure your output to provide one desktop across both monitors
939- 4. Open any application and drag it from one monitor to the next.
940- VERIFICATION:
941- Was the stretched desktop displayed correctly across both screens?
942-
943-plugin: user-interact-verify
944-id: monitor/powersaving
945-command: xset dpms force off
946-_description:
947- PURPOSE:
948- This test will check your monitor power saving capabilities
949- STEPS:
950- 1. Click "Test" to try the power saving capabilities of your monitor
951- 2. Press any key or move the mouse to recover
952- VERIFICATION:
953- Did the monitor go blank and turn on again?
954-
955-plugin: user-interact-verify
956-id: monitor/dim_brightness
957-requires: dmi.product in ['Notebook','Laptop','Portable','All In One','All-In-One','AIO']
958-user: root
959-command: brightness_test
960-_description:
961- PURPOSE:
962- This test will test changes to screen brightness
963- STEPS:
964- 1. Click "Test" to try to dim the screen.
965- 2. Check if the screen was dimmed approximately to half of the maximum brightness.
966- 3. The screen will go back to the original brightness in 2 seconds.
967- VERIFICATION:
968- Was your screen dimmed approximately to half of the maximum brightness?
969-
970
971=== modified file 'providers/plainbox-provider-checkbox/jobs/suspend.txt.in'
972--- providers/plainbox-provider-checkbox/jobs/suspend.txt.in 2015-01-26 15:38:31 +0000
973+++ providers/plainbox-provider-checkbox/jobs/suspend.txt.in 2015-04-23 06:37:30 +0000
974@@ -11,6 +11,20 @@
975 _description: Record the current resolution before suspending.
976 command: xrandr -q |grep '*'| awk '{print $1}' > $PLAINBOX_SESSION_SHARE/resolution_before_suspend.txt
977
978+plugin: local
979+id: suspend/generator_resolution_before_suspend
980+_description: Record the current resolution before suspending.
981+_summary: Record the current resolution before suspending.
982+command:
983+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
984+ plugin: shell
985+ id: suspend/`echo ${index}`_resolution_before_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
986+ depends: graphics/`echo ${index}`_switch_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
987+ estimated_duration: 1.2
988+ _description: Record the current resolution before suspending.
989+ command: xrandr -q |grep '*'| awk '{print $1}' > $PLAINBOX_SESSION_SHARE/`echo ${index}`_resolution_before_suspend.txt
990+ EOF
991+
992 plugin: shell
993 id: suspend/audio_before_suspend
994 estimated_duration: 1.0
995@@ -247,7 +261,7 @@
996 set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/suspend_single_times.log
997 else
998 echo "Calling sleep_test"
999- set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/suspend_single_times.log
1000+ set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/2_suspend_single_times.log
1001 fi
1002 estimated_duration: 90.0
1003 _description:
1004@@ -271,16 +285,19 @@
1005 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1006 plugin: user-interact-verify
1007 id: suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1008- depends: suspend/suspend_advanced
1009+ requires:
1010+ sleep.mem == 'supported'
1011+ rtc.state == 'supported'
1012+ depends: graphics/`echo ${index}`_switch_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1013 user: root
1014 environ: PLAINBOX_SESSION_SHARE
1015 command:
1016 if type -P fwts >/dev/null; then
1017 echo "Calling fwts"
1018- set -o pipefail; fwts_test -f none -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45
1019+ set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single_times.log
1020 else
1021 echo "Calling sleep_test"
1022- set -o pipefail; sleep_test -p
1023+ set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single_times.log
1024 fi
1025 estimated_duration: 90.0
1026 _summary: Test suspend/resume after switching to $product
1027@@ -310,22 +327,29 @@
1028 command: set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/suspend_single_times.log
1029 estimated_duration: 90.000
1030
1031-plugin: user-interact-verify
1032-id: suspend/hybrid_sleep
1033-user: root
1034+id: suspend/generator_hybrid_sleep
1035+_description: Hybrid sleep test
1036+_summary: Hybrid sleep test
1037+plugin: local
1038 command:
1039- set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/hybrid_sleep_single -s s3 --s3-hybrid --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 --pm-method=pm-utils | tee $PLAINBOX_SESSION_SHARE/hybrid_sleep_single_times.log
1040-estimated_duration: 90.0
1041-_description:
1042- PURPOSE:
1043- This test will check hybrid sleep and resume
1044- STEPS:
1045- 1. Click "Test" and your system will go into hybrid sleep mode for about 30 - 60 seconds
1046- 2. Observe the Power LED to see if it blinks or changes color during suspend
1047- 3. If your system does not wake itself up after 60 seconds, please press the power button momentarily to wake the system manually
1048- 4. If your system fails to wake at all and must be rebooted, restart System Testing after reboot and mark this test as Failed
1049- VERIFICATION:
1050- Did your system enter hybrid sleep and then resume correctly?
1051+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1052+ plugin: user-interact-verify
1053+ id: suspend/`echo ${index}`_hybrid_sleep_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1054+ user: root
1055+ command:
1056+ set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/hybrid_sleep_single -s s3 --s3-hybrid --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 --pm-method=pm-utils | tee $PLAINBOX_SESSION_SHARE/hybrid_sleep_single_times.log
1057+ estimated_duration: 90.0
1058+ _description:
1059+ PURPOSE:
1060+ This test will check hybrid sleep and resume
1061+ STEPS:
1062+ 1. Click "Test" and your system will go into hybrid sleep mode for about 30 - 60 seconds
1063+ 2. Observe the Power LED to see if it blinks or changes color during suspend
1064+ 3. If your system does not wake itself up after 60 seconds, please press the power button momentarily to wake the system manually
1065+ 4. If your system fails to wake at all and must be rebooted, restart System Testing after reboot and mark this test as Failed
1066+ VERIFICATION:
1067+ Did your system enter hybrid sleep and then resume correctly?
1068+ EOF
1069
1070 plugin: shell
1071 id: suspend/suspend-single-log-check
1072@@ -336,10 +360,25 @@
1073
1074 plugin: attachment
1075 id: suspend/suspend-single-log-attach
1076+depends: suspend/suspend_advanced
1077 command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single.log ] && cat $PLAINBOX_SESSION_SHARE/suspend_single.log
1078 _description:
1079 Attaches the log from the single suspend/resume test to the results
1080
1081+id: suspend/generator_suspend-single-log-attach
1082+_description: Suspend log attach
1083+_summary: Suspend log attach
1084+plugin: local
1085+command:
1086+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1087+ plugin: attachment
1088+ id: suspend/`echo ${index}`_suspend-single-log-attach_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1089+ depends: suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1090+ command: [ -e $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single.log ] && cat $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single.log
1091+ _description:
1092+ Attaches the log from the single suspend/resume test to the results
1093+ EOF
1094+
1095 plugin: shell
1096 id: suspend/hybrid-sleep-single-log-check
1097 estimated_duration: 1.2
1098@@ -347,11 +386,19 @@
1099 _description:
1100 Automated check of the hybrid sleep log to look for errors reported by fwts
1101
1102-plugin: attachment
1103-id: suspend/hybrid-sleep-single-log-attach
1104-command: [ -e $PLAINBOX_SESSION_SHARE/hybrid_sleep_single.log ] && cat $PLAINBOX_SESSION_SHARE/hybrid_sleep_single.log
1105-_description:
1106- Attaches the log from the single hybrid sleep/resume test to the results
1107+id: suspend/generator_hybrid-sleep-single-log-attach
1108+_description: Hybrid sleep log attach
1109+_summary: Hybrid sleep log attach
1110+plugin: local
1111+command:
1112+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1113+ plugin: attachment
1114+ id: suspend/`echo ${index}`_hybrid-sleep-single-log-attach_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1115+ depends: suspend/`echo ${index}`_hybrid_sleep_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1116+ command: [ -e $PLAINBOX_SESSION_SHARE/`echo ${index}`_hybrid_sleep_single.log ] && cat $PLAINBOX_SESSION_SHARE/`echo ${index}`_hybrid_sleep_single.log
1117+ _description:
1118+ Attaches the log from the single hybrid sleep/resume test to the results
1119+ EOF
1120
1121 plugin: shell
1122 id: suspend/suspend-time-check
1123@@ -360,6 +407,20 @@
1124 _description:
1125 Checks the sleep times to ensure that a machine suspends and resumes within a given threshold
1126
1127+id: suspend/generator_suspend-time-check
1128+_description: Suspend time check test
1129+_summary: Suspend time check test
1130+plugin: local
1131+command:
1132+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1133+ plugin: shell
1134+ id: suspend/`echo ${index}`_suspend-time-check_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1135+ depends: suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1136+ estimated_duration: 1.2
1137+ command: [ -e $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/`echo ${index}`_suspend_single_times.log
1138+ _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold
1139+ EOF
1140+
1141 plugin: user-interact-verify
1142 id: power-management/usb_wakeup_keyboard
1143 user: root
1144@@ -406,6 +467,20 @@
1145 _description: Test to see that we have the same resolution after resuming as before.
1146 command: xrandr -q |grep '*'| awk '{print $1}' | diff $PLAINBOX_SESSION_SHARE/resolution_before_suspend.txt -
1147
1148+plugin: local
1149+id: suspend/generator_resolution_after_suspend
1150+_description: Resolution consistency check after suspend with the valuse we got before suspend.
1151+_summary: Resolution consistency check after suspend with the valuse we got before suspend.
1152+command:
1153+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1154+ plugin: shell
1155+ id: suspend/`echo ${index}`_resolution_after_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1156+ estimated_duration: 1.2
1157+ depends: suspend/`echo ${index}`_resolution_before_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'` suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1158+ _description: Test to see that we have the same resolution after resuming as before.
1159+ command: xrandr -q |grep '*'| awk '{print $1}' | diff $PLAINBOX_SESSION_SHARE/`echo ${index}`_resolution_before_suspend.txt -
1160+ EOF
1161+
1162 plugin: shell
1163 id: suspend/audio_after_suspend
1164 estimated_duration: 1.0
1165@@ -481,7 +556,7 @@
1166 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1167 plugin: manual
1168 id: suspend/`echo ${index}`_display_after_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1169- depends: suspend/suspend_advanced
1170+ depends: suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1171 _summary: Test display function after suspend for $product
1172 _description:
1173 PURPOSE:
1174@@ -1303,6 +1378,28 @@
1175 VERIFICATION:
1176 Did your display look fine in the detected mode?
1177
1178+plugin: local
1179+id: suspend/generator_cycle_resolutions_after_suspend
1180+requires: device.category == 'VIDEO'
1181+_description: Cycle resolution after suspend tests
1182+_summary: Cycle resolution after suspend tests
1183+command:
1184+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1185+ plugin: user-interact-verify
1186+ id: suspend/`echo ${index}`_cycle_resolutions_after_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1187+ requires: package.name == 'xorg'
1188+ depends: suspend/`echo ${index}`_suspend_after_switch_to_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1189+ estimated_duration: 120.0
1190+ command: xrandr_cycle --keyword=`echo ${index}`_after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE
1191+ _description:
1192+ PURPOSE:
1193+ This test will cycle through the detected display modes
1194+ STEPS:
1195+ 1. Click "Test" and the display will cycle trough the display modes
1196+ VERIFICATION:
1197+ Did your display look fine in the detected mode?
1198+ EOF
1199+
1200 plugin: shell
1201 id: suspend/cycle_resolutions_after_suspend_auto
1202 estimated_duration: 1.2
1203@@ -1319,6 +1416,19 @@
1204 command: [ -e $PLAINBOX_SESSION_SHARE/xrandr_screens_after_suspend.tgz ] && cat $PLAINBOX_SESSION_SHARE/xrandr_screens_after_suspend.tgz
1205 _description: This attaches screenshots from the suspend/cycle_resolutions_after_suspend test to the results submission.
1206
1207+plugin: local
1208+id: suspend/generator_xrandr_screens_after_suspend.tar.gz
1209+_description: Attach screenshots from the suspend/cycle_resolution_after_suspend test to the results submission.
1210+_summary: Attach screenshots from the suspend/cycle_resolution_after_suspend test to the results submission.
1211+command:
1212+ cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
1213+ plugin: attachment
1214+ id: suspend/`echo ${index}`_xrandr_screens_after_suspend.tar.gz
1215+ depends: suspend/`echo ${index}`_cycle_resolutions_after_suspend_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
1216+ command: [ -e $PLAINBOX_SESSION_SHARE/`echo ${index}`_xrandr_screens_after_suspend.tgz ] && cat $PLAINBOX_SESSION_SHARE/`echo ${index}`_xrandr_screens_after_suspend.tgz
1217+ _description: This attaches screenshots from the suspend/cycle_resolutions_after_suspend test to the results submission.
1218+ EOF
1219+
1220 plugin: shell
1221 id: suspend/record_playback_after_suspend
1222 estimated_duration: 10.0

Subscribers

People subscribed via source and target branches