Merge lp:~pieq/checkbox/lp1450386-checkbox-provider-dock-jobs into lp:checkbox

Proposed by Pierre Equoy
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 3757
Merged at revision: 3862
Proposed branch: lp:~pieq/checkbox/lp1450386-checkbox-provider-dock-jobs
Merge into: lp:checkbox
Diff against target: 1058 lines (+1042/-0)
2 files modified
providers/plainbox-provider-checkbox/jobs/local.txt.in (+7/-0)
providers/plainbox-provider-checkbox/units/dock.pxu (+1035/-0)
To merge this branch: bzr merge lp:~pieq/checkbox/lp1450386-checkbox-provider-dock-jobs
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Zygmunt Krynicki (community) Needs Fixing
Review via email: mp+258345@code.launchpad.net

Description of the change

Added docking jobs based on:

- Ubuntu Certified Docking Stations Coverage for 14.04 LTS [1]
- Docking Test Plan Proposal [2]

[1]: http://goo.gl/vWm5n2
[2]: http://goo.gl/xrUAid

To post a comment you must log in.
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Lots of small things below:

General trend:
 - manifest entry units can help us skip a load of things that we don't have
 - they don't work with add-on hardware as the manifest is tied to the device, ideas welcome
 - copy/pasting jobs that are old and rusty is not a good excuse, make sure jobs have all
   the modern meta-data on them
 - the description, in most cases when it is short, is totally broken and incorrect
 - use split fields instead of description (purpose, steps, verification)
 - use _ and - consistently this_is_not-a-good_job
 - nothing has a category, let's work on adding category identifiers (check the category provider for a list, add more if we need more)

Thanks for the work, let's iterate and get this into shape

review: Needs Fixing
3755. By Pierre Equoy

Modifications after first code review

* use `purpose/steps/verification` job fields instead of `description`
* unify use of dashes instead of underscores in job IDs
* removed a few useless jobs (RCA, S-Video, ...)
* Moved dock.pxu to a new units directory and use $PLAINBOX_PROVIDER_UNITS in local job
* Added `summary` field in most dock jobs

3756. By Pierre Equoy

Merging kissiel's changes

3757. By Pierre Equoy

Added missing _summary fields for some Docking jobs

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Looks good on a rough read. I'll give it a more detailed read next.

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

Thanks for those new tests, +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-checkbox/jobs/local.txt.in'
2--- providers/plainbox-provider-checkbox/jobs/local.txt.in 2015-04-15 02:49:13 +0000
3+++ providers/plainbox-provider-checkbox/jobs/local.txt.in 2015-05-13 07:37:35 +0000
4@@ -54,6 +54,13 @@
5 shopt -s extglob
6 cat $PLAINBOX_PROVIDER_DATA/../jobs/disk.txt?(.in)
7
8+id: __dock__
9+plugin: local
10+_description: Docking tests
11+command:
12+ shopt -s extglob
13+ cat $PLAINBOX_PROVIDER_UNITS/dock.pxu
14+
15 id: __ethernet__
16 plugin: local
17 _description: Ethernet Device tests
18
19=== added directory 'providers/plainbox-provider-checkbox/units'
20=== added file 'providers/plainbox-provider-checkbox/units/dock.pxu'
21--- providers/plainbox-provider-checkbox/units/dock.pxu 1970-01-01 00:00:00 +0000
22+++ providers/plainbox-provider-checkbox/units/dock.pxu 2015-05-13 07:37:35 +0000
23@@ -0,0 +1,1035 @@
24+id: dock/docking
25+plugin: manual
26+estimated_duration: 30.00
27+_summary: Docking test
28+_purpose:
29+ This test will check the device can be used after docking.
30+_steps:
31+ 1. Dock the device to the docking unit.
32+_verification:
33+ Is the device working as expected after being docked?
34+
35+id: dock/monitor-displayport
36+depends: dock/docking
37+estimated_duration: 120.0
38+_summary: DisplayPort test on the dock
39+plugin: manual
40+_purpose:
41+ This test will check the DisplayPort(s) on the dock.
42+_steps:
43+ Skip this test if the dock does not have a DisplayPort.
44+ 1. Connect a display (if not already connected) to the DisplayPort on the dock
45+ 2. Repeat step 1 for each additional DisplayPorts, if any
46+_verification:
47+ Was the desktop displayed correctly on both screens?
48+
49+id: dock/monitor-dvi
50+depends: dock/docking
51+estimated_duration: 120.0
52+_summary: DVI port test on the dock
53+plugin: manual
54+_purpose:
55+ This test will check the DVI port(s) on the dock.
56+_steps:
57+ Skip this test if the dock does not have a DVI port.
58+ 1. Connect a display (if not already connected) to the DVI port on the dock
59+ 2. Repeat step 1 for each additional DVI port, if any
60+_verification:
61+ Was the desktop displayed correctly on both screens?
62+
63+id: dock/monitor-hdmi
64+depends: dock/docking
65+estimated_duration: 120.0
66+_summary: HDMI port test on the dock
67+plugin: manual
68+_purpose:
69+ This test will check the HDMI port(s) on the dock.
70+_steps:
71+ Skip this test if the dock does not have a HDMI port.
72+ 1. Connect a display (if not already connected) to the HDMI port on the dock
73+ 2. Repeat step 1 for each additional HDMI port, if any
74+_verification:
75+ Was the desktop displayed correctly on both screens?
76+
77+id: dock/monitor-vga
78+depends: dock/docking
79+estimated_duration: 120.0
80+_summary: VGA port test on the dock
81+plugin: manual
82+_purpose:
83+ This test will check the VGA port(s) on the dock.
84+_steps:
85+ Skip this test if the dock does not have a VGA port.
86+ 1. Connect a display (if not already connected) to the VGA port on the dock
87+ 2. Repeat step 1 for each additional VGA port, if any
88+_verification:
89+ Was the desktop displayed correctly on both screens?
90+
91+id: dock/monitor-multi-head
92+depends: dock/docking
93+estimated_duration: 120.0
94+_summary: Multiple monitors test while docked
95+plugin: manual
96+_purpose:
97+ This test verifies that multi-monitor output works using the dock. You will need at least two external monitors to perform this test.
98+_steps:
99+ Skip this test if your video card or the dock do not support multiple monitors.
100+ 1. If your dock provides more than one monitor outputs, connect two monitors
101+ 2. Open the "Displays" tool (open the dash and search for "Displays")
102+ 3. Configure your output to provide one desktop across all the monitors
103+ 4. Open any application and drag its window from one monitor to the next.
104+_verification:
105+ Was the stretched desktop displayed correctly across all the screens?
106+
107+id: dock/keys-video-out
108+depends: dock/docking
109+estimated_duration: 120.0
110+_summary: Video Out hotkey test
111+plugin: manual
112+_purpose:
113+ Validate that the External Video hotkey is working as expected
114+_steps:
115+ 1. Plug in an external monitor
116+ 2. Press the display hotkey to change the monitors configuration
117+_verification:
118+ Check that the video signal can be mirrored, extended, displayed on external or onboard only.
119+
120+### Audio Tests ###
121+
122+plugin: shell
123+id: dock/audio-list-devices
124+estimated_duration: 1.0
125+_summary: List audio devices
126+depends: dock/docking
127+requires:
128+ device.category == 'AUDIO'
129+ package.name == 'alsa-base'
130+command: cat /proc/asound/cards
131+_description: Test to detect audio devices
132+
133+id: dock/audio-playback-hdmi
134+depends: dock/docking
135+requires:
136+ device.category == 'AUDIO'
137+ package.name == 'alsa-base'
138+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
139+ package.name == 'pulseaudio-utils'
140+_summary: HDMI audio test
141+plugin: user-interact-verify
142+estimated_duration: 30.0
143+command:
144+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
145+ audio_settings set --verbose --device=hdmi --volume=50
146+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
147+ EXIT_CODE=$?
148+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
149+ exit $EXIT_CODE
150+_purpose:
151+ Dock HDMI audio interface verification
152+_steps:
153+ 1. Plug an external HDMI device with sound to the dock (use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
154+ 2. Go to the Sound settings and make sure the correct Output is selected
155+ 3. Click the Test button
156+_verification:
157+ Did you hear the sound from the HDMI device?
158+
159+id: dock/audio-playback-displayport
160+depends: dock/docking
161+requires:
162+ device.category == 'AUDIO'
163+ package.name == 'alsa-base'
164+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
165+ package.name == 'pulseaudio-utils'
166+_summary: DisplayPort audio test
167+plugin: user-interact-verify
168+estimated_duration: 30.0
169+command:
170+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
171+ audio_settings set --verbose --device=hdmi --volume=50
172+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
173+ EXIT_CODE=$?
174+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
175+ exit $EXIT_CODE
176+_purpose:
177+ Dock DisplayPort audio interface verification
178+_steps:
179+ 1. Plug an external DisplayPort device with sound to the dock (use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
180+ 2. Go to the Sound settings and make sure the correct Output is selected
181+ 3. Click the Test button
182+_verification:
183+ Did you hear the sound from the DisplayPort device?
184+
185+id: dock/audio-playback-headphones
186+plugin: user-interact-verify
187+estimated_duration: 30.0
188+_summary: Headphones output test
189+depends: dock/audio-list-devices
190+requires:
191+ device.category == 'AUDIO'
192+ package.name == 'alsa-base'
193+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
194+ package.name == 'pulseaudio-utils'
195+command:
196+ audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
197+ audio_settings set --device=pci --volume=50
198+ gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
199+ EXIT_CODE=$?
200+ audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
201+ exit $EXIT_CODE
202+_purpose:
203+ This test will check that headphones connector works correctly.
204+ (Skip this test if there is no headphone connector on the dock)
205+_steps:
206+ 1. Connect a pair of headphones to the dock
207+ 2. Click the Test button to play a sound to your audio device
208+_verification:
209+ Did you hear a sound through the headphones and did the sound play without any distortion, clicks or other strange noises from your headphones?
210+
211+plugin: user-interact-verify
212+id: dock/audio-alsa-record-playback-external
213+estimated_duration: 30.0
214+_summary: External microphone plugged to the dock to record sound test
215+depends: dock/audio-playback-headphones
216+requires:
217+ device.category == 'AUDIO'
218+ package.name == 'alsa-base'
219+ package.name == 'pulseaudio-utils'
220+ package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good'
221+command:
222+ audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
223+ audio_settings set --device=pci --volume=50
224+ alsa_record_playback
225+ EXIT_CODE=$?
226+ audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
227+ exit $EXIT_CODE
228+_purpose:
229+ This test will check that recording sound using an external microphone works correctly
230+ (Skip this test if the dock does not have a microphone connector)
231+_steps:
232+ 1. Connect a microphone to the dock's microphone port
233+ 2. Click "Test", then speak into the external microphone
234+ 3. After a few seconds, your speech will be played back to you
235+_verification:
236+ Did you hear your speech played back?
237+
238+plugin: shell
239+id: dock/audio-alsa-info-collect
240+estimated_duration: 2.0
241+_summary: Collect audio-related system information
242+depends: dock/docking
243+command: alsa_info --no-dialog --no-upload --output ${PLAINBOX_SESSION_SHARE}/alsa_info.log
244+_description:
245+ Collect audio-related system information. This data can be used to
246+ simulate this computer's audio subsystem and perform more detailed tests
247+ under a controlled environment.
248+
249+plugin: attachment
250+id: dock/audio-alsa-info-attachment
251+depends: dock/audio-alsa-info-collect
252+estimated_duration: 1.0
253+_summary: Attach audio hardware data log to results
254+command: [ -e ${PLAINBOX_SESSION_SHARE}/alsa_info.log ] && cat ${PLAINBOX_SESSION_SHARE}/alsa_info.log
255+_description:
256+ Attaches the audio hardware data collection log to the results.
257+
258+plugin: manual
259+id: dock/audio-external-lineout
260+depends: dock/docking
261+estimated_duration: 30.0
262+_summary: Line-out connection test
263+_purpose:
264+ Check that external line-out connection works correctly
265+ (Skip this test if dock does not have a line out connector)
266+_steps:
267+ 1. Insert cable to speakers (with built-in amplifiers) on the dock's line-out port
268+ 2. Open system sound preferences, 'Output' tab, select 'Line-out' on the connector list. Click the Test button
269+ 3. On the system sound preferences, select 'Internal Audio' on the device list and click 'Test Speakers' to check left and right channel
270+_verification:
271+ 1. Do you hear a sound in the speakers? The internal speakers should *not* be muted automatically
272+ 2. Do you hear the sound coming out on the corresponding channel?
273+
274+plugin: user-interact-verify
275+id: dock/audio-external-linein
276+depends: dock/docking
277+estimated_duration: 120.0
278+_summary: Line-in connection test
279+requires:
280+ device.category == 'AUDIO'
281+ package.name == 'alsa-base'
282+ package.name == 'pulseaudio-utils'
283+ package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good'
284+command:
285+ audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
286+ audio_settings set --device=pci --volume=50
287+ alsa_record_playback
288+ EXIT_CODE=$?
289+ audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
290+ exit $EXIT_CODE
291+_purpose:
292+ Check that external line-in connection works correctly
293+ (Skip this test if the dock does not have a line in connector)
294+_steps:
295+ 1. Use a cable to connect the dock's line-in port to an external line-out source.
296+ 2. Open system sound preferences, 'Input' tab, select 'Line-in' on the connector list. Click the Test button
297+ 3. After a few seconds, your recording will be played back to you.
298+_verification:
299+ Did you hear your recording?
300+
301+id: dock/audio-speaker-headphone-plug-detection
302+plugin: user-interact
303+depends: dock/docking
304+estimated_duration: 60.0
305+_summary: Headphones recognized when plugged to the dock test
306+requires:
307+ device.category == 'AUDIO'
308+ package.name == 'pulseaudio-utils'
309+command: pulse-active-port-change sinks
310+_purpose:
311+ Check that system detects speakers or headphones being plugged in
312+ (Skip this test if the dock does not have headphones connector)
313+_steps:
314+ 1. Prepare a pair of headphones or speakers with a standard 3.5mm jack
315+ 2. Locate the speaker / headphone jack on the dock under test
316+ 3. Run the test (you have 30 seconds from now on)
317+ 4. Plug headphones or speakers into the appropriate jack
318+ 5. Unplug the device for subsequent tests.
319+_verification:
320+ Verification is automatic, no action is required.
321+ The test times out after 30 seconds (and fails in that case).
322+
323+id: dock/audio-microphone-plug-detection
324+plugin: user-interact
325+depends: dock/docking
326+estimated_duration: 60.0
327+_summary: Microphone recognized when plugged to the dock test
328+requires:
329+ device.category == 'AUDIO'
330+ package.name == 'pulseaudio-utils'
331+command: pulse-active-port-change sources
332+_purpose:
333+ Check that system detects a microphone being plugged in
334+ (Skip this test if the dock does not have a microphone connector)
335+_steps:
336+ 1. Prepare a microphone with a standard 3.5mm jack
337+ 2. Locate the microphone jack on the dock under test.
338+ Keep in mind that it may be shared with the headphone jack.
339+ 3. Run the test (you have 30 seconds from now on)
340+ 4. Plug the microphone into the appropriate jack
341+ 5. Unplug the device for subsequent tests.
342+_verification:
343+ Verification is automatic, no action is required.
344+ The test times out after 30 seconds (and fails in that case).
345+
346+### Networking Tests ###
347+
348+id: dock/networking-gateway-ping
349+plugin: user-interact-verify
350+depends: dock/docking ethernet/detect
351+command: gateway_ping_test
352+estimated_duration: 10.00
353+_summary: Ping test using dock's Ethernet connectivity
354+_purpose:
355+ Tests whether the system has a working Internet connection.
356+_steps:
357+ 1. Make sure the dock is connected to network using an Ethernet cable
358+ 2. Make sure the laptop itself is not connected to any Ethernet cable
359+ 3. Launch the test
360+_verification:
361+ Was the test able to ping the network using the Ethernet connection?
362+
363+id: dock/networking-ntp
364+plugin: user-interact-verify
365+depends: dock/docking
366+requires: package.name == 'ntpdate'
367+user: root
368+command: network_ntp_test
369+estimated_duration: 10.00
370+_summary: NTP sync test using dock's Ethernet connectivity
371+_purpose:
372+ Test to see if we can sync local clock to an NTP server
373+_steps:
374+ 1. Make sure the dock is connected to network using an Ethernet cable
375+ 2. Make sure the laptop itself is not connected to any Ethernet cable
376+ 3. Launch the test
377+_verification:
378+ Was the test able to synchronize system time using the Ethernet connection?
379+
380+### USB Tests ###
381+
382+plugin: user-interact-verify
383+id: dock/usb-HID
384+estimated_duration: 20.0
385+_summary: USB HID device test
386+command: keyboard_test
387+_purpose:
388+ This test will check that you can use a USB HID device
389+_steps:
390+ 1. Enable either a USB mouse or keyboard
391+ 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks
392+ 3. For keyboards, click the Test button to lauch a small tool. Type some text and close the tool.
393+_verification:
394+ Did the device work as expected?
395+
396+plugin: user-interact
397+id: dock/usb-insert
398+estimated_duration: 10.0
399+_summary: USB drive insertion test
400+command: removable_storage_watcher insert usb
401+_purpose:
402+ This test will check that the system correctly detects the insertion of
403+ a USB storage device plugged on the dock
404+_steps:
405+ 1. Click "Test" and insert a USB storage device, preferably a HDD,
406+ in one of the dock's port.
407+ Although a USB pen drive may be used it might cause performance
408+ related tests to fail. (Note: this test will time-out after 20
409+ seconds.)
410+ 2. Do not unplug the device after the test.
411+_verification:
412+ The verification of this test is automated. Do not change the
413+ automatically selected result.
414+
415+plugin: user-interact
416+id: dock/usb3-insert
417+estimated_duration: 10.0
418+_summary: USB3 drive insertion test
419+command: removable_storage_watcher -m 500000000 insert usb
420+_purpose:
421+ This test will check that the system correctly detects the insertion of
422+ a USB 3.0 storage device
423+_steps:
424+ 1. Click "Test" and insert a USB 3.0 storage device, preferably a HDD,
425+ in one of the dock's USB 3.0 port. Although a USB 3.0 pen drive may
426+ be used it might cause performance related tests to fail.
427+ (Note: this test will time-out after 20 seconds.)
428+ 2. Do not unplug the device after the test.
429+_verification:
430+ The verification of this test is automated. Do not change the
431+ automatically selected result.
432+
433+plugin: user-interact
434+id: dock/usb-remove
435+depends: dock/usb-insert
436+estimated_duration: 10.0
437+_summary: USB drive removal test
438+command: removable_storage_watcher remove usb
439+_purpose:
440+ This test will check that the system correctly detects the removal of
441+ a USB storage device
442+_steps:
443+ 1. Click "Test" and remove the USB device from the dock.
444+ (Note: this test will time-out after 20 seconds.)
445+_verification:
446+ The verification of this test is automated. Do not change the
447+ automatically selected result.
448+
449+plugin: user-interact
450+id: dock/usb3-remove
451+depends: dock/usb3-insert
452+estimated_duration: 10.0
453+_summary: USB3 drive removal test
454+command: removable_storage_watcher -m 500000000 remove usb
455+_purpose:
456+ This test will check that the system correctly detects the removal of
457+ a USB 3.0 storage device
458+_steps:
459+ 1. Click "Test" and remove the USB 3.0 device from the dock.
460+ (Note: this test will time-out after 20 seconds.)
461+_verification:
462+ The verification of this test is automated. Do not change the
463+ automatically selected result.
464+
465+plugin: shell
466+id: dock/usb-storage-automated
467+depends: dock/usb-insert
468+user: root
469+estimated_duration: 45.0
470+_summary: USB drive storage test
471+command: removable_storage_test -s 268400000 usb
472+_description:
473+ This test is automated and executes after the dock/usb_insert test is run.
474+
475+plugin: shell
476+id: dock/usb3-storage-automated
477+depends: dock/usb3-insert
478+user: root
479+estimated_duration: 45.0
480+_summary: USB3 drive storage test
481+command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd
482+_description:
483+ This test is automated and executes after the dock/usb3_insert test is run.
484+
485+### ACPI ###
486+
487+id: dock/battery-charging
488+_summary: Battery charging when docked test
489+plugin: shell
490+depends: dock/docking
491+estimated_duration: 1.0
492+command:
493+ if [ "`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep "state" | awk '{print $2}'`" = "discharging" ] ; then exit 1 ; fi
494+_description:
495+ This test will make sure the laptop is being charged while connected to the dock.
496+
497+plugin: shell
498+id: dock/network-before-suspend
499+depends: ethernet/detect
500+estimated_duration: 1.2
501+_summary: Network status before suspend
502+_description: Record the current network before suspending.
503+command: set -o pipefail; gateway_ping_test | tee $PLAINBOX_SESSION_SHARE/network_before_suspend.txt
504+
505+plugin: shell
506+id: dock/audio-before-suspend
507+estimated_duration: 1.0
508+_summary: Audio status before suspend
509+requires:
510+ device.category == 'AUDIO'
511+ package.name == 'alsa-base'
512+_description: Record mixer settings before suspending.
513+command: audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_before_suspend
514+
515+id: dock/suspend-dock-resume
516+plugin: manual
517+estimated_duration: 120.00
518+_summary: Suspend the device, dock it and resume it
519+_purpose:
520+ This test will check the device can be suspended, docked and resumed properly
521+_steps:
522+ 1. If the laptop is currently docked, undock it now
523+ 2. Suspend the laptop (e.g. by closing its lid)
524+ 3. Dock the laptop
525+ 4. Resume the laptop (e.g. by pressing the Power button on the dock)
526+_verification:
527+ Is the device working as expected after being docked and resumed?
528+
529+id: dock/networking-gateway-ping-after-suspend
530+plugin: shell
531+depends: dock/suspend-dock-resume ethernet/detect
532+command: gateway_ping_test
533+estimated_duration: 2.00
534+_summary: Network gateway ping after suspend
535+_description: Tests whether the system has a working Internet connection.
536+
537+plugin: user-interact
538+id: dock/usb-insert-after-suspend
539+depends: dock/suspend-dock-resume
540+estimated_duration: 10.0
541+_summary: USB drive insertion after resuming
542+command: removable_storage_watcher insert usb
543+_purpose:
544+ This test will check that the system correctly detects the insertion of
545+ a USB storage device plugged on the dock after suspend
546+_steps:
547+ 1. Click "Test" and insert a USB storage device, preferably a HDD,
548+ in one of the dock's port.
549+ Although a USB pen drive may be used it might cause performance
550+ related tests to fail. (Note: this test will time-out after 20
551+ seconds.)
552+ 2. Do not unplug the device after the test.
553+_verification:
554+ The verification of this test is automated. Do not change the
555+ automatically selected result.
556+
557+plugin: user-interact
558+id: dock/usb3-insert-after-suspend
559+depends: dock/suspend-dock-resume
560+estimated_duration: 10.0
561+_summary: USB3 drive insertion after resuming
562+command: removable_storage_watcher -m 500000000 insert usb
563+_purpose:
564+ This test will check that the system correctly detects the insertion of
565+ a USB 3.0 storage device after suspend
566+_steps:
567+ 1. Click "Test" and insert a USB 3.0 storage device, preferably a HDD,
568+ in one of the dock's USB 3.0 port. Although a USB 3.0 pen drive may
569+ be used it might cause performance related tests to fail.
570+ (Note: this test will time-out after 20 seconds.)
571+ 2. Do not unplug the device after the test.
572+_verification:
573+ The verification of this test is automated. Do not change the
574+ automatically selected result.
575+
576+plugin: user-interact
577+id: dock/usb-remove-after-suspend
578+depends: dock/usb-insert-after-suspend
579+estimated_duration: 10.0
580+_summary: USB drive removal after resuming
581+command: removable_storage_watcher remove usb
582+_purpose:
583+ This test will check that the system correctly detects the removal of
584+ a USB storage device after suspend
585+_steps:
586+ 1. Click "Test" and remove the USB device from the dock.
587+ (Note: this test will time-out after 20 seconds.)
588+_verification:
589+ The verification of this test is automated. Do not change the
590+ automatically selected result.
591+
592+plugin: user-interact
593+id: dock/usb3-remove-after-suspend
594+depends: dock/usb3-insert-after-suspend
595+estimated_duration: 10.0
596+_summary: USB3 drive removal after resuming
597+command: removable_storage_watcher -m 500000000 remove usb
598+_purpose:
599+ This test will check that the system correctly detects the removal of
600+ a USB 3.0 storage device after suspend
601+_steps:
602+ 1. Click "Test" and remove the USB 3.0 device from the dock.
603+ (Note: this test will time-out after 20 seconds.)
604+_verification:
605+ The verification of this test is automated. Do not change the
606+ automatically selected result.
607+
608+plugin: shell
609+id: dock/usb-storage-automated-after-suspend
610+depends: dock/usb-insert-after-suspend
611+user: root
612+estimated_duration: 45.0
613+_summary: USB drive storage test after resuming
614+command: removable_storage_test -s 268400000 usb
615+_description:
616+ This test is automated and executes after the dock/usb-insert test is run.
617+
618+plugin: shell
619+id: dock/usb3-storage-automated-after-suspend
620+depends: dock/usb3-insert-after-suspend
621+user: root
622+estimated_duration: 45.0
623+_summary: USB3 drive storage test after resuming
624+command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd
625+_description:
626+ This test is automated and executes after the dock/usb3-insert test is run.
627+
628+plugin: user-interact-verify
629+id: dock/usb-HID-after-suspend
630+depends: dock/suspend-dock-resume
631+estimated_duration: 20.0
632+_summary: USB HID device test after resuming
633+command: keyboard_test
634+_purpose:
635+ This test will check that you can use a USB HID device
636+_steps:
637+ 1. Enable either a USB mouse or keyboard
638+ 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks
639+ 3. For keyboards, click the Test button to lauch a small tool. Type some text and close the tool.
640+_verification:
641+ Did the device work as expected?
642+
643+id: dock/monitor-displayport-after-suspend
644+depends: dock/suspend-dock-resume
645+estimated_duration: 120.0
646+_summary: DisplayPort test on the dock after resuming
647+plugin: manual
648+_purpose:
649+ This test will check the DisplayPort(s) on the dock after resuming.
650+_steps:
651+ Skip this test if the dock does not have a DisplayPort.
652+ 1. Connect a display (if not already connected) to the DisplayPort on the dock
653+ 2. Repeat step 1 for each additional DisplayPorts, if any
654+_verification:
655+ Was the desktop displayed correctly on both screens?
656+
657+id: dock/monitor-dvi-after-suspend
658+depends: dock/suspend-dock-resume
659+estimated_duration: 120.0
660+_summary: DVI port test on the dock after resuming
661+plugin: manual
662+_purpose:
663+ This test will check the DVI port(s) on the dock after resuming.
664+_steps:
665+ Skip this test if the dock does not have a DVI port.
666+ 1. Connect a display (if not already connected) to the DVI port on the dock
667+ 2. Repeat step 1 for each additional DVI port, if any
668+_verification:
669+ Was the desktop displayed correctly on both screens?
670+
671+id: dock/monitor-hdmi-after-suspend
672+depends: dock/suspend-dock-resume
673+estimated_duration: 120.0
674+_summary: HDMI port test on the dock after resuming
675+plugin: manual
676+_purpose:
677+ This test will check the HDMI port(s) on the dock after resuming.
678+_steps:
679+ Skip this test if the dock does not have a HDMI port.
680+ 1. Connect a display (if not already connected) to the HDMI port on the dock
681+ 2. Repeat step 1 for each additional HDMI port, if any
682+_verification:
683+ Was the desktop displayed correctly on both screens?
684+
685+id: dock/monitor-vga-after-suspend
686+depends: dock/suspend-dock-resume
687+estimated_duration: 120.0
688+_summary: VGA port test on the dock after resuming
689+plugin: manual
690+_purpose:
691+ This test will check the VGA port(s) on the dock after resuming.
692+_steps:
693+ Skip this test if the dock does not have a VGA port.
694+ 1. Connect a display (if not already connected) to the VGA port on the dock
695+ 2. Repeat step 1 for each additional VGA port, if any
696+_verification:
697+ Was the desktop displayed correctly on both screens?
698+
699+id: dock/suspend-undock-resume
700+plugin: manual
701+estimated_duration: 120.00
702+_summary: Suspend the device, undock it and resume it
703+_purpose:
704+ This test will check the device can be suspended, undocked and resumed properly
705+_steps:
706+ 1. If the laptop is currently undocked, dock it now
707+ 2. Suspend the laptop (e.g. by closing its lid)
708+ 3. Undock the laptop
709+ 4. Resume the laptop (e.g. by pressing its Power button)
710+_verification:
711+ Is the device working as expected after being undocked and resumed?
712+
713+plugin: shell
714+id: dock/wireless-connection-after-suspend-wpa-bg
715+depends: dock/suspend-undock-resume
716+estimated_duration: 20.0
717+_summary: Wireless connection after suspend (WPA BG)
718+requires:
719+ device.category == 'WIRELESS'
720+ environment.ROUTERS == 'multiple'
721+user: root
722+environ: WPA_BG_SSID WPA_BG_PSK
723+command:
724+ trap "nmcli con delete id $WPA_BG_SSID" EXIT
725+ if create_connection wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then
726+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
727+ iw dev $INTERFACE link
728+ gateway_ping_test --interface=$INTERFACE
729+ else
730+ exit 1
731+ fi
732+_description:
733+ Tests that the systems wireless hardware can connect to a router using WPA
734+ security and the 802.11b/g protocols after the system has been suspended.
735+
736+plugin: shell
737+id: dock/wireless-connection-after-suspend-open-bg
738+depends: dock/suspend-undock-resume
739+estimated_duration: 1.2
740+_summary: Wireless connection after suspend (Open BG)
741+requires:
742+ device.category == 'WIRELESS'
743+ environment.ROUTERS == 'multiple'
744+user: root
745+environ: OPEN_BG_SSID
746+command:
747+ trap "nmcli con delete id $OPEN_BG_SSID" EXIT
748+ if create_connection wifi $OPEN_BG_SSID; then
749+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
750+ iw dev $INTERFACE link
751+ gateway_ping_test --interface=$INTERFACE
752+ else
753+ exit 1
754+ fi
755+_description:
756+ Tests that the systems wireless hardware can connect to a router using no
757+ security and the 802.11b/g protocols after the system has been suspended.
758+
759+plugin: shell
760+id: dock/wireless-connection-after-suspend-wpa-n
761+depends: dock/suspend-undock-resume
762+estimated_duration: 1.2
763+_summary: Wireless connection after suspend (WPA N)
764+requires:
765+ device.category == 'WIRELESS'
766+ environment.ROUTERS == 'multiple'
767+user: root
768+environ: WPA_N_SSID WPA_N_PSK
769+command:
770+ trap "nmcli con delete id $WPA_N_SSID" EXIT
771+ if create_connection wifi $WPA_N_SSID --security=wpa --key=$WPA_N_PSK; then
772+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
773+ iw dev $INTERFACE link
774+ gateway_ping_test --interface=$INTERFACE
775+ else
776+ exit 1
777+ fi
778+_description:
779+ Tests that the systems wireless hardware can connect to a router using WPA
780+ security and the 802.11n protocol after the system has been suspended.
781+
782+plugin: shell
783+id: dock/wireless-connection-after-suspend-open-n
784+depends: dock/suspend-undock-resume
785+estimated_duration: 1.2
786+_summary: Wireless connection after suspend (Open N)
787+requires:
788+ device.category == 'WIRELESS'
789+ environment.ROUTERS == 'multiple'
790+user: root
791+environ: OPEN_N_SSID
792+command:
793+ trap "nmcli con delete id $OPEN_N_SSID" EXIT
794+ if create_connection wifi $OPEN_N_SSID; then
795+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
796+ iw dev $INTERFACE link
797+ gateway_ping_test --interface=$INTERFACE
798+ else
799+ exit 1
800+ fi
801+_description:
802+ Tests that the systems wireless hardware can connect to a router using no
803+ security and the 802.11n protocol after the system has been suspended.
804+
805+plugin: shell
806+id: dock/wireless-connection-after-suspend-wpa-ac
807+depends: dock/suspend-undock-resume
808+estimated_duration: 1.2
809+_summary: Wireless connection after suspend (WPA AC)
810+requires:
811+ device.category == 'WIRELESS'
812+ environment.ROUTERS == 'multiple'
813+ IEEE_80211.ac == 'supported'
814+user: root
815+environ: WPA_AC_SSID WPA_AC_PSK
816+command:
817+ trap "nmcli con delete id $WPA_AC_SSID" EXIT
818+ if create_connection wifi $WPA_AC_SSID --security=wpa --key=$WPA_AC_PSK; then
819+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
820+ iw dev $INTERFACE link
821+ gateway_ping_test --interface=$INTERFACE
822+ else
823+ exit 1
824+ fi
825+_description:
826+ Tests that the systems wireless hardware can connect to a router using WPA
827+ security and the 802.11ac protocol after the system has been suspended.
828+
829+plugin: shell
830+id: dock/wireless-connection-after-suspend-open-ac
831+depends: dock/suspend-undock-resume
832+estimated_duration: 1.2
833+_summary: Wireless connection after suspend (Open AC)
834+requires:
835+ device.category == 'WIRELESS'
836+ environment.ROUTERS == 'multiple'
837+ IEEE_80211.ac == 'supported'
838+user: root
839+environ: OPEN_AC_SSID
840+command:
841+ trap "nmcli con delete id $OPEN_AC_SSID" EXIT
842+ if create_connection wifi $OPEN_AC_SSID; then
843+ INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'`
844+ iw dev $INTERFACE link
845+ gateway_ping_test --interface=$INTERFACE
846+ else
847+ exit 1
848+ fi
849+_description:
850+ Tests that the systems wireless hardware can connect to a router using no
851+ security and the 802.11ac protocol after the system has been suspended.
852+
853+plugin: shell
854+id: dock/audio-after-suspend
855+estimated_duration: 1.0
856+_summary: Audio after resuming test
857+requires:
858+ device.category == 'AUDIO'
859+ package.name == 'alsa-base'
860+depends: dock/suspend-undock-resume dock/audio-before-suspend
861+_description: Verify that mixer settings after suspend are the same as before suspend.
862+command:
863+ audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend
864+ diff $PLAINBOX_SESSION_SHARE/audio_settings_before_suspend $PLAINBOX_SESSION_SHARE/audio_settings_after_suspend
865+
866+plugin: shell
867+id: dock/record-playback-after-suspend
868+estimated_duration: 10.0
869+_summary: Record playback after resuming
870+depends: dock/suspend-undock-resume
871+requires:
872+ package.name == 'python3-gi'
873+ package.name == 'gir1.2-gstreamer-1.0'
874+ package.name == 'libgstreamer1.0-0'
875+ package.name == 'gstreamer1.0-plugins-good'
876+ package.name == 'gstreamer1.0-pulseaudio'
877+ package.name == 'alsa-base'
878+ device.category == 'AUDIO'
879+command: audio_test
880+_description:
881+ This will check to make sure that your audio device works properly after a suspend and resume. This may work fine with speakers and onboard microphone, however, it works best if used with a cable connecting the audio-out jack to the audio-in jack.
882+
883+plugin: manual
884+id: dock/expresscard-verification
885+estimated_duration: 10.0
886+_summary: ExpressCard slot verification
887+depends: dock/docking
888+_purpose:
889+ This will verify that an ExpressCard slot on the dock can detect inserted devices.
890+_steps:
891+ Skip this test if you do not have an ExpressCard slot on the dock.
892+ 1. Plug an ExpressCard device into the ExpressCard slot
893+_verification:
894+ Was the device correctly detected?
895+
896+plugin: user-interact
897+id: dock/firewire-insert
898+estimated_duration: 20.0
899+_summary: FireWire HDD insertion test
900+depends: dock/docking
901+command: removable_storage_watcher insert firewire
902+_purpose:
903+ This test will check the system can detect the insertion of a FireWire HDD on the dock
904+_steps:
905+ (Skip this test id there is no FireWire connector on the dock)
906+ 1. Click 'Test' to begin the test. This test will
907+ timeout and fail if the insertion has not been detected within 20 seconds.
908+ 2. Plug a FireWire HDD into an available FireWire port.
909+_verification:
910+ The verification of this test is automated. Do not change the automatically
911+ selected result
912+
913+plugin: shell
914+id: dock/firewire-storage-test
915+estimated_duration: 45.0
916+_summary: FireWire HDD storage test
917+depends: dock/docking dock/firewire-insert
918+user: root
919+command: removable_storage_test -s 268400000 firewire
920+_description:
921+ This is an automated test which performs read/write operations on an attached
922+ FireWire HDD
923+
924+plugin: user-interact
925+id: dock/firewire-remove
926+estimated_duration: 20.0
927+_summary: FireWire HDD removal test
928+depends: dock/firewire-insert
929+command: removable_storage_watcher remove firewire
930+_purpose:
931+ This test will check the system can detect the removal of a FireWire HDD
932+_steps:
933+ 1. Click 'Test' to begin the test. This test will timeout and fail if
934+ the removal has not been detected within 20 seconds.
935+ 2. Remove the previously attached FireWire HDD from the FireWire port on
936+ the dock.
937+_verification:
938+ The verification of this test is automated. Do not change the automatically
939+ selected result
940+
941+plugin: user-interact
942+id: dock/esata-insert
943+estimated_duration: 20.0
944+_summary: eSATA HDD insertion test
945+depends: dock/docking
946+command: removable_storage_watcher insert ata_serial_esata
947+_purpose:
948+ This test will check the system can detect the insertion of an eSATA HDD on the dock
949+_steps:
950+ (Skip this test if there are no eSATA connectors on the dock)
951+ 1. Click 'Test' to begin the test. This test will
952+ timeout and fail if the insertion has not been detected within 20 seconds.
953+ 2. Plug an eSATA HDD into an available eSATA port on the dock.
954+_verification:
955+ The verification of this test is automated. Do not change the automatically
956+ selected result
957+
958+plugin: shell
959+id: dock/esata-storage-test
960+estimated_duration: 20.0
961+_summary: eSATA HDD storage test
962+user: root
963+depends: dock/esata-insert
964+command: removable_storage_test -s 268400000 ata_serial_esata
965+_description:
966+ This is an automated test which performs read/write operations on an attached
967+ eSATA HDD
968+
969+plugin: user-interact
970+id: dock/esata-remove
971+estimated_duration: 20.0
972+_summary: eSATA HDD removal test
973+depends: dock/esata-insert
974+command: removable_storage_watcher remove ata_serial_esata
975+_purpose:
976+ This test will check the system can detect the removal of an eSATA HDD from the dock
977+_steps:
978+ 1. Click 'Test' to begin the test. This test will timeout and fail if
979+ the removal has not been detected within 20 seconds.
980+ 2. Remove the previously attached eSATA HDD from the eSATA port on the dock.
981+_verification:
982+ The verification of this test is automated. Do not change the automatically
983+ selected result
984+
985+plugin: manual
986+id: dock/optical-read
987+depends: dock/docking
988+estimated_duration: 180.0
989+_summary: Optical media (CD) read test
990+_purpose:
991+ This test will check the dock's ability to read CD media
992+_steps:
993+ (Skip this test if the dock does not have an optical reader)
994+ 1. Insert appropriate non-blank media into your optical drive(s). Movie and Audio Disks may not work. Self-created data disks have the greatest chance of working.
995+ 2. Try to copy a few files from the optical media to the computer.
996+_verification:
997+ Are the files properly copied to the computer?
998+
999+plugin: manual
1000+id: dock/optical-write
1001+depends: dock/optical-read
1002+estimated_duration: 300.0
1003+_summary: Optical media (CD-RW, DVD-RW) writing test
1004+_purpose:
1005+ This test will check the dock's ability to write CD/DVD media.
1006+ Depending on what the dock's optical drive support, you will need
1007+ a blank CD-R, CD-RW, DVD-R and/or DVD-RW.
1008+_steps:
1009+ 1. Insert a blank CD-R into the dock's drive
1010+ 2. Open Brasero Disc Burner and write some files on the CD-R
1011+ 3. Repeat steps 1-2 for other compatible media (CD-RW, DVD-R, DVD-RW)
1012+_verification:
1013+ Are all kinds of discs properly written?
1014+
1015+plugin: user-interact
1016+id: dock/thunderbolt-insert
1017+estimated_duration: 40.0
1018+depends: dock/docking
1019+command: removable_storage_watcher insert --timeout 40 scsi
1020+_summary: Thunderbolt storage insertion detection
1021+_purpose:
1022+ This test will check if the connection of a Thunderbolt HDD to the dock could be detected
1023+_steps:
1024+ 1. Click 'Test' to begin the test. This test will
1025+ timeout and fail if the insertion has not been detected within 40 seconds.
1026+ 2. Plug a Thunderbolt HDD into an available Thunderbolt port on the dock;
1027+ if it's not mounted automatically, please click the HDD icon to mount it.
1028+_verification:
1029+ The verification of this test is automated. Do not change the automatically
1030+ selected result
1031+
1032+plugin: shell
1033+id: dock/thunderbolt-storage-test
1034+estimated_duration: 45.0
1035+user: root
1036+depends: dock/thunderbolt-insert
1037+command: removable_storage_test -s 268400000 scsi
1038+_summary: Thunderbolt storage test
1039+_description:
1040+ This is an automated test which performs read/write operations on an attached
1041+ Thunderbolt HDD
1042+
1043+plugin: user-interact
1044+id: dock/thunderbolt-remove
1045+estimated_duration: 20.0
1046+depends: dock/thunderbolt-insert
1047+command: removable_storage_watcher remove scsi
1048+_summary: Thunderbolt storage removal detection
1049+_purpose:
1050+ This test will check the system can detect the removal of a Thunderbolt HDD
1051+_steps:
1052+ 1. Click 'Test' to begin the test. This test will timeout and fail if
1053+ the removal has not been detected within 20 seconds.
1054+ 2. Remove the previously attached Thunderbolt HDD from the Thunderbolt port.
1055+_verification:
1056+ The verification of this test is automated. Do not change the automatically
1057+ selected result
1058+

Subscribers

People subscribed via source and target branches