diff options
| author | PMR <pmr@pmr-lander> | 2017-07-05 09:44:54 +0000 |
|---|---|---|
| committer | PMR <pmr@pmr-lander> | 2017-07-05 09:44:54 +0000 |
| commit | 1cddd6723ed57f468b3a11d89a1dbca79facac8e (patch) | |
| tree | ede9ddf7bb4e30ddf2e77693d303d28c1463a49c /jobs | |
| parent | 4ba702d74b44de712fd9d15f1b5fa581bd796229 (diff) | |
| parent | dab49b3d0559813341a7c74a5e77c185ed3b52f1 (diff) | |
Merge #326656 from ~sylvain-pineau/plainbox-provider-checkbox:cleanup_duplicates
Diffstat (limited to 'jobs')
| -rw-r--r-- | jobs/bluetooth.txt.in | 2 | ||||
| -rw-r--r-- | jobs/cpu.txt.in | 91 | ||||
| -rw-r--r-- | jobs/disk.txt.in | 42 | ||||
| -rw-r--r-- | jobs/ethernet.txt.in | 23 | ||||
| -rw-r--r-- | jobs/firmware.txt.in | 6 | ||||
| -rw-r--r-- | jobs/hibernate.txt.in | 17 | ||||
| -rw-r--r-- | jobs/info.txt.in | 38 | ||||
| -rw-r--r-- | jobs/led.txt.in | 66 | ||||
| -rw-r--r-- | jobs/mediacard.txt.in | 271 | ||||
| -rw-r--r-- | jobs/memory.txt.in | 19 | ||||
| -rw-r--r-- | jobs/miscellanea.txt.in | 18 | ||||
| -rw-r--r-- | jobs/power-management.txt.in | 10 | ||||
| -rw-r--r-- | jobs/stress.txt.in | 10 | ||||
| -rw-r--r-- | jobs/submission.txt.in | 6 | ||||
| -rw-r--r-- | jobs/suspend-graphics.txt.in | 2 | ||||
| -rw-r--r-- | jobs/suspend.txt.in | 12 | ||||
| -rw-r--r-- | jobs/usb-c.txt.in | 189 | ||||
| -rw-r--r-- | jobs/usb.txt.in | 320 | ||||
| -rw-r--r-- | jobs/virtualization.txt.in | 4 |
19 files changed, 745 insertions, 401 deletions
diff --git a/jobs/bluetooth.txt.in b/jobs/bluetooth.txt.in index 5a4bd7c..ea0c8ab 100644 --- a/jobs/bluetooth.txt.in +++ b/jobs/bluetooth.txt.in @@ -8,7 +8,7 @@ category_id: 2013.com.canonical.plainbox::bluetooth id: bluetooth/detect-output estimated_duration: 1.2 requires: - package.name == 'bluez' + package.name == 'bluez' or snap.name == 'bluez' device.category == 'BLUETOOTH' command: if rfkill list bluetooth | grep -q 'Hard blocked: yes'; then diff --git a/jobs/cpu.txt.in b/jobs/cpu.txt.in index 5a979ae..aff9574 100644 --- a/jobs/cpu.txt.in +++ b/jobs/cpu.txt.in @@ -3,21 +3,28 @@ category_id: 2013.com.canonical.plainbox::cpu id: cpu/scaling_test estimated_duration: 150.0 requires: - package.name == 'fwts' + package.name == 'fwts' or executable.name == 'fwts' user: root -environ: PLAINBOX_SESSION_SHARE -command: fwts_test -t cpufreq -l ${PLAINBOX_SESSION_SHARE}/scaling_test.log +environ: PLAINBOX_SESSION_SHARE LD_LIBRARY_PATH SNAP +command: + if [[ -v SNAP ]]; then + export LD_LIBRARY_PATH=$SNAP/usr/lib/fwts:$LD_LIBRARY_PATH + fi + checkbox-support-fwts_test -t cpufreq -l ${PLAINBOX_SESSION_SHARE}/scaling_test.log _summary: - Test CPU frequency scaling + Test the CPU scaling capabilities _description: - Test the CPU scaling capabilities using Firmware Test Suite (fwts cpufreq). + Use Firmware Test Suite (fwts cpufreq) to test the scaling capabilities of the + CPU. plugin: attachment category_id: 2013.com.canonical.plainbox::cpu id: cpu/scaling_test-log-attach estimated_duration: 1.0 depends: cpu/scaling_test -command: [[ -e ${PLAINBOX_SESSION_SHARE}/scaling_test.log ]] && xz -c ${PLAINBOX_SESSION_SHARE}/scaling_test.log | base64 +command: [[ -e ${PLAINBOX_SESSION_SHARE}/scaling_test.log ]] && cat ${PLAINBOX_SESSION_SHARE}/scaling_test.log +_summary: + Attach CPU scaling capabilities log _description: Attaches the log generated by cpu/scaling_test to the results submission. @@ -26,23 +33,29 @@ category_id: 2013.com.canonical.plainbox::cpu id: cpu/maxfreq_test estimated_duration: 0.6 requires: - package.name == 'fwts' + package.name == 'fwts' or executable.name == 'fwts' cpuinfo.platform in ("i386", "x86_64", "aarch64") user: root -command: fwts_test -t maxfreq -l $PLAINBOX_SESSION_SHARE/maxfreq_test.log +environ: LD_LIBRARY_PATH SNAP +command: + if [[ -v SNAP ]]; then + export LD_LIBRARY_PATH=$SNAP/usr/lib/fwts:$LD_LIBRARY_PATH + fi + checkbox-support-fwts_test -t maxfreq -l $PLAINBOX_SESSION_SHARE/maxfreq_test.log _summary: - Test that CPUs run at max frequency + Test that the CPU can run at its max frequency _description: - Test that the CPU can run at its max frequency using Firmware Test Suite (fwts cpufreq). + Use the Firmware Test Suite (fwts cpufreq) to ensure that the CPU can run at + its maximum frequency. plugin: attachment category_id: 2013.com.canonical.plainbox::cpu id: cpu/maxfreq_test-log-attach estimated_duration: 1.0 depends: cpu/maxfreq_test -command: [ -e $PLAINBOX_SESSION_SHARE/maxfreq_test.log ] && xz -c $PLAINBOX_SESSION_SHARE/maxfreq_test.log | base64 +command: [ -e $PLAINBOX_SESSION_SHARE/maxfreq_test.log ] && cat $PLAINBOX_SESSION_SHARE/maxfreq_test.log _summary: - Attach log file from cpu/maxfreq_test + Attach CPU max frequency log _description: Attaches the log generated by cpu/maxfreq_test to the results submission. @@ -52,9 +65,9 @@ id: cpu/clocktest estimated_duration: 300.0 command: clocktest _summary: - Test CPUs for clock jitter + Tests the CPU for clock jitter _description: - Tests the CPU for clock jitter. + Runs a test for clock jitter on SMP machines. plugin: shell category_id: 2013.com.canonical.plainbox::cpu @@ -63,9 +76,9 @@ estimated_duration: 128.0 user: root command: cpu_offlining _summary: - Test offlining of each CPU Core + Test offlining of each CPU core _description: - Test offlining of each CPU core in a multicore system. + Attempts to offline each core in a multicore system. plugin: shell category_id: 2013.com.canonical.plainbox::cpu @@ -74,9 +87,10 @@ estimated_duration: 1.0 requires: int(cpuinfo.count) > 1 and (cpuinfo.platform == 'i386' or cpuinfo.platform == 'x86_64' or cpuinfo.platform == 's390x') command: cpu_topology _summary: - Test CPU topology accuracy between proc and sysfs + Check CPU topology for accuracy between proc and sysfs _description: - This test checks cpu topology for accuracy between proc and sysfs. + Parses information about CPU topology provided by proc and sysfs and checks + that they are consistent. plugin: shell category_id: 2013.com.canonical.plainbox::cpu @@ -91,30 +105,55 @@ plugin: shell category_id: 2013.com.canonical.plainbox::cpu id: cpu/arm_vfp_support estimated_duration: 1.0 -requires: 'arm' in cpuinfo.type +requires: + cpuinfo.platform in ("armv7l", "aarch64") +user: root command: grep VFP /var/log/syslog -_description: +_summary: Validate that the Vector Floating Point Unit is running on ARM device +_description: + Validate that the Vector Floating Point Unit is running on ARM device. plugin:shell id: cpu/cstates estimated_duration: 10.0 requires: - package.name == 'fwts' + package.name == 'fwts' or executable.name == 'fwts' user: root +_summary: + Run C-States tests _description: - Run Firmware Test Suite (fwts) cstates tests. -environ: PLAINBOX_SESSION_SHARE + Uses the Firmware Test Suite (fwts) to test the power saving states of the CPU. +environ: PLAINBOX_SESSION_SHARE LD_LIBRARY_PATH SNAP command: - fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_cstates_results.log -t cstates + if [[ -v SNAP ]]; then + export LD_LIBRARY_PATH=$SNAP/usr/lib/fwts:$LD_LIBRARY_PATH + fi + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_cstates_results.log -t cstates plugin: attachment category_id: 2013.com.canonical.plainbox::cpu estimated_duration: 0.5 id: cpu/cstates_results.log command: - [ -e ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log ] && xz -c ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log | base64 -_description: Attaches the FWTS desktop diagnosis results log to the submission + [ -e ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log ] && cat ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log +_summary: + Attach C-States test log +_description: + Attaches the FWTS desktop diagnosis results log to the submission. + +plugin: shell +category_id: 2013.com.canonical.plainbox::cpu +id: cpu/cpuinfo_before_suspend +estimated_duration: 1.2 +_summary: Verify that all the CPUs are online before suspending +command: cpuinfo_resource > $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend +_siblings: [ + { "id": "after-suspend-cpu/cpuinfo_after_suspend", + "_summary": "Verify that all the CPUs are online after suspending", + "command": "cpuinfo_resource | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend -", + "depends": "2013.com.canonical.certification::suspend/suspend_advanced_auto"} + ] plugin: shell category_id: 2013.com.canonical.plainbox::cpu diff --git a/jobs/disk.txt.in b/jobs/disk.txt.in index 606e450..4ae0a5d 100644 --- a/jobs/disk.txt.in +++ b/jobs/disk.txt.in @@ -6,26 +6,37 @@ Depends: nvme-cli plugin: shell category_id: 2013.com.canonical.plainbox::disk id: disk/detect -requires: package.name == 'util-linux' -estimated_duration: 0.25 +requires: + package.name == 'util-linux' or executable.name == 'lsblk' +_summary: Gathers information about each disk detected +_description: + Uses lsblk to gather information about each disk detected on the system + under test. command: disk_info -_summary: - Display info about each detected disk device -_description: - Displays information about each disk detected on the system under test. +estimated_duration: 0.25 unit: template template-resource: device -template-filter: device.category == 'DISK' +template-filter: device.category == 'DISK' and device.name != '' +template-unit: job plugin: shell category_id: 2013.com.canonical.plainbox::disk id: disk/stats_{name} flags: deprecated -requires: - block_device.state != 'removable' and block_device.name == '{name}' user: root +estimated_duration: 10.0 command: disk_stats_test {name} -_description: This test checks {name} disk stats, generates some activity and rechecks stats to verify they've changed. It also verifies that disks appear in the various files they're supposed to. +_summary: Disk statistics for {product} +_description: + This test checks disk stats, generates some activity and rechecks stats to + verify they've changed. It also verifies that disks appear in the various + files they're supposed to. + . + This test will inspect the following disk: + . + product name: {product} + sysfs path: {path} + device node path: /dev/{name} unit: template template-resource: device @@ -35,7 +46,7 @@ category_id: 2013.com.canonical.plainbox::disk id: disk/smart_{name} estimated_duration: 180.0 requires: - package.name == 'smartmontools' + package.name == 'smartmontools' or executable.name == 'smartctl' block_device.smart == 'True' and block_device.name == '{name}' _summary: Test SMART capabilities for {product} @@ -52,9 +63,8 @@ category_id: 2013.com.canonical.plainbox::disk id: disk/read_performance_{name} estimated_duration: 65.0 requires: - block_device.state != 'removable' and block_device.name == '{name}' _summary: Disk performance test for {product} -_description: Disk performance test for {product} +_description: Verify that disk storage performs at or above baseline performance user: root command: disk_read_performance_test {name} @@ -67,9 +77,8 @@ id: disk/storage_device_{name} estimated_duration: 375.0 user: root requires: - block_device.state != 'removable' and block_device.name == '{name}' _summary: Disk I/O stress test for {product} -_description: Disk I/O stress test for {product} +_description: Take the path of the storage device and test is it a block device command: storage_test {name} # The stress/disk_stress_ng_test job requires uuid-runtime package @@ -86,8 +95,7 @@ id: disk/disk_stress_ng_{name} estimated_duration: 4560.0 user: root requires: - package.name == 'stress-ng' - block_device.state != 'removable' and block_device.name == '{name}' + package.name == 'stress-ng' or executable.name == 'stress-ng' _summary: Disk stress_ng test for {product} _description: Disk stress_ng test for {product} command: disk_stress_ng {name} --base-time 240 --really-run diff --git a/jobs/ethernet.txt.in b/jobs/ethernet.txt.in index 7b7047b..4078e5a 100644 --- a/jobs/ethernet.txt.in +++ b/jobs/ethernet.txt.in @@ -5,15 +5,12 @@ Depends: kmod plugin: shell category_id: 2013.com.canonical.plainbox::ethernet id: ethernet/detect -requires: - device.category == 'NETWORK' or device.category == 'WIRELESS' - package.name == 'kmod' or package.name == 'module-init-tools' - package.name == 'pciutils' +flags: also-after-suspend command: network_device_info -estimated_duration: 1.2 +estimated_duration: 2.0 _summary: Report info about available network devices -_description: +_description: Test to detect and return information about available network controllers on the system under test. @@ -55,9 +52,9 @@ id: ethernet/multi_nic_device{__index__}_{interface} _summary: Multi-NIC Iperf stress testing for NIC {interface} estimated_duration: 7400.0 requires: - package.name == 'iperf' - package.name == 'ethtool' - package.name == 'nmap' + package.name == 'iperf' or executable.name == 'iperf' + package.name == 'ethtool' or executable.name == 'ethtool' + package.name == 'nmap' or executable.name == 'nmap' user: root environ: TEST_TARGET_IPERF command: network test -i {interface} -t iperf --scan-timeout 3600 --fail-threshold 80 --runtime 900 --num_runs 4 @@ -74,9 +71,9 @@ id: ethernet/multi_iperf3_nic_device{__index__}_{interface} _summary: Multi-NIC Iperf3 stress testing for NIC {interface} estimated_duration: 7400.0 requires: - package.name == 'iperf3' - package.name == 'ethtool' - package.name == 'nmap' + package.name == 'iperf3' or executable.name == 'iperf3' + package.name == 'ethtool' or executable.name == 'ethtool' + package.name == 'nmap' or executable.name == 'nmap' user: root environ: TEST_TARGET_IPERF command: network test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 900 --num_runs 4 @@ -93,7 +90,7 @@ id: ethernet/ethertool_check_device{__index__}_{interface} _summary: ethtool check for NIC {interface} estimated_duration: 330.0 requires: - package.name == 'ethtool' + package.name == 'ethtool' or executable.name == 'ethtool' user: root command: ethtool {interface} _description: diff --git a/jobs/firmware.txt.in b/jobs/firmware.txt.in index 0b1ce0e..615d024 100644 --- a/jobs/firmware.txt.in +++ b/jobs/firmware.txt.in @@ -6,7 +6,7 @@ id: firmware/fwts_{name} estimated_duration: 1.2 requires: package.name == 'fwts' user: root -command: fwts_test -t {name} -l $PLAINBOX_SESSION_SHARE/fwts_{name}.log +command: checkbox-support-fwts_test -t {name} -l $PLAINBOX_SESSION_SHARE/fwts_{name}.log _description: Run {name} test from Firmware Test Suite. _summary: Run {name} test from Firmware Test Suite. @@ -34,7 +34,7 @@ _description: _summary: Run FWTS QA-concerned desktop-specific diagnosis tests. environ: PLAINBOX_SESSION_SHARE command: - fwts_test --qa -l $PLAINBOX_SESSION_SHARE/fwts_desktop_diagnosis_results.log + checkbox-support-fwts_test --qa -l $PLAINBOX_SESSION_SHARE/fwts_desktop_diagnosis_results.log plugin:shell category_id: 2013.com.canonical.plainbox::firmware @@ -48,7 +48,7 @@ _description: _summary: Run FWTS HWE-concerned desktop-specific diagnosis tests. environ: PLAINBOX_SESSION_SHARE command: - fwts_test --hwe -l $PLAINBOX_SESSION_SHARE/fwts_desktop_diagnosis_results_hwe.log + checkbox-support-fwts_test --hwe -l $PLAINBOX_SESSION_SHARE/fwts_desktop_diagnosis_results_hwe.log plugin: attachment category_id: 2013.com.canonical.plainbox::firmware diff --git a/jobs/hibernate.txt.in b/jobs/hibernate.txt.in index e83b293..e9a70ac 100644 --- a/jobs/hibernate.txt.in +++ b/jobs/hibernate.txt.in @@ -9,7 +9,7 @@ user: root command: if type -P fwts >/dev/null; then echo "Calling fwts" - fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 else echo "Calling sleep_test" sleep_test -s disk -w 120 @@ -26,6 +26,19 @@ _description: VERIFICATION: Did the system successfully hibernate and did it work properly after waking up? +plugin: shell +category_id: 2013.com.canonical.plainbox::hibernate +id: power-management/hibernate_advanced_auto +requires: + sleep.disk == 'supported' + rtc.state == 'supported' +environ: PLAINBOX_SESSION_SHARE +user: root +command: checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 +estimated_duration: 300.00 +_description: + This is the automated version of suspend/hibernate_advanced. + unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' @@ -41,7 +54,7 @@ estimated_duration: 300.00 command: if type -P fwts >/dev/null; then echo "Calling fwts" - fwts_test -l $PLAINBOX_SESSION_SHARE/{index}_hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/{index}_hibernate-single -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 else echo "Calling sleep_test" sleep_test -s disk -w 120 diff --git a/jobs/info.txt.in b/jobs/info.txt.in index 05b6f93..2d12035 100644 --- a/jobs/info.txt.in +++ b/jobs/info.txt.in @@ -16,7 +16,6 @@ Depends: util-linux id: codecs_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info -requires: device.driver == 'snd_hda_intel' command: cat /proc/asound/card*/codec#* estimated_duration: 0.023 _description: Attaches a report of installed codecs for Intel HDA @@ -44,11 +43,15 @@ command: [ -d /sys/class/dmi/id/ ] && (grep -r . /sys/class/dmi/id/ 2>/dev/null estimated_duration: 0.044 _description: Attaches info on DMI _summary: Attach a copy of /sys/class/dmi/id/* +requires: + cpuinfo.platform in ("i386", "x86_64") id: dmidecode_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info -requires: package.name == 'dmidecode' +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + cpuinfo.platform in ("i386", "x86_64") user: root command: dmidecode | iconv -t 'utf-8' -c estimated_duration: 0.030 @@ -58,7 +61,7 @@ _summary: Attach output of dmidecode id: lshw_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info -requires: package.name == 'lshw' +requires: package.name == 'lshw' or executable.name == 'lshw' user: root command: lshw | iconv -t 'utf-8' -c _summary: Attach lshw output @@ -76,7 +79,12 @@ _description: Attaches the firmware version id: lspci_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info -command: lspci -vvnn | iconv -t 'utf-8' -c +command: + if [[ -v SNAP ]]; then + lspci -i $SNAP/usr/share/misc/pci.ids -vvnn + else + lspci -vvnn | iconv -t 'utf-8' -c + fi estimated_duration: 0.042 _description: Attaches very verbose lspci output. _summary: Attach a list of PCI devices @@ -101,10 +109,15 @@ _description: id: lsusb_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info -requires: package.name == 'usbutils' user: root -command: lsusb -vv | iconv -t 'utf-8' -c +command: + if [[ -v SNAP ]]; then + lsusb.py -f $SNAP/var/lib/usbutils/usb.ids + else + lsusb -vv | iconv -t 'utf-8' -c + fi estimated_duration: 0.700 +flags: also-after-suspend _summary: Attach output of lsusb _description: Attaches a list of detected USB devices. @@ -166,6 +179,8 @@ command: done estimated_duration: 6.344 _summary: Attach detailed sysfs property output from udev +requires: + model_assertion.model != "dragonboard" id: udev_attachment plugin: attachment @@ -186,7 +201,8 @@ id: lsblk_attachment estimated_duration: 0.1 plugin: attachment command: lsblk -i -n -P -o KNAME,TYPE,MOUNTPOINT -requires: package.name == "util-linux" +requires: + package.name == "util-linux" or executable.name == 'lsblk' _description: Attaches disk block devices mount points _summary: Attach info block devices and their mount points @@ -209,6 +225,8 @@ _summary: Attach a list of currently running kernel modules id: dkms_info_attachment plugin: attachment category_id: 2013.com.canonical.plainbox::info +requires: + package.name == 'dkms' command: dkms_info --format json _description: Attaches json dumps of installed dkms package information. _summary: Attaches json dumps of installed dkms package information. @@ -238,7 +256,7 @@ category_id: 2013.com.canonical.plainbox::info id: info/hdparm_{name}.txt estimated_duration: 1.0 requires: - package.name == 'hdparm' + package.name == 'hdparm' or executable.name == 'hdparm' block_device.state != 'removable' and block_device.name == '{name}' user: root command: hdparm -I /dev/{name} @@ -301,10 +319,6 @@ _description: Lists the device driver and version for all audio devices. plugin: attachment category_id: 2013.com.canonical.plainbox::info id: info/network_devices -requires: - device.category == 'NETWORK' or device.category == 'WIRELESS' - package.name == 'kmod' or package.name == 'module-init-tools' - package.name == 'pciutils' command: network_device_info estimated_duration: 0.550 _description: Provides information about network devices diff --git a/jobs/led.txt.in b/jobs/led.txt.in index abe9cbe..8d2d327 100644 --- a/jobs/led.txt.in +++ b/jobs/led.txt.in @@ -1,27 +1,27 @@ +id: led/power +_summary: Power LED behavior when powered +_purpose: + Check power led is on when system is powered on +_steps: + 1. Check power led when system is powered on +_verification: + Power led is on when system is powered on plugin: manual category_id: 2013.com.canonical.plainbox::led -id: led/power estimated_duration: 15.0 -_description: - PURPOSE: - Power LED verification - STEPS: - 1. Power LED should be on while device is switched on - VERIFICATION: - Does the power LED light as expected? +id: led/power-blink-suspend +_summary: Power LED behavior when suspended +_purpose: + Check power led is blinking when system is in suspend +_steps: + 1. Suspend the system + 2. Check power led when system is in suspend +_verification: + Power led is blinking when system is in suspend plugin: manual category_id: 2013.com.canonical.plainbox::led -id: led/power-blink-suspend -estimated_duration: 30.0 -depends: suspend/suspend_advanced -_description: - PURPOSE: - Power LED verification - STEPS: - 1. The Power LED should blink or change color while the system is suspended - VERIFICATION: - Did the Power LED blink or change color while the system was suspended for the previous suspend test? +estimated_duration: 180 plugin: manual category_id: 2013.com.canonical.plainbox::led @@ -151,21 +151,25 @@ _description: VERIFICATION: Did the WLAN LED turn off or change color as expected? +id: led/bluetooth +_summary: Bluetooth LED behavior +_purpose: + Check bluetooth LED behavior is correct +_steps: + 1. Run following command to start bluetoothctl console: + sudo bluetoothctl -a + ***Following steps are run in bluetoothctl console*** + 2. Power on the device: + power on + 3. Power off the device: + power off + 4. Quit bluetoothctl console + quit +_verification: + Bluetooth LED is turned on in step 2, and turned off in step 3. plugin: manual category_id: 2013.com.canonical.plainbox::led -id: led/bluetooth -estimated_duration: 60.0 -depends: bluetooth/detect-output -_description: - PURPOSE: - Validate that the Bluetooth LED turns on and off when BT is enabled/disabled - STEPS: - 1. Switch bluetooth off from a hardware switch (if present) - 2. Switch bluetooth back on - 3. Switch bluetooth off from the panel applet - 4. Switch bluetooth back on - VERIFICATION: - Did the bluetooth LED turn off and on twice? +estimated_duration: 180 plugin: user-interact-verify category_id: 2013.com.canonical.plainbox::led diff --git a/jobs/mediacard.txt.in b/jobs/mediacard.txt.in index 7e4aabf..ec94d0b 100644 --- a/jobs/mediacard.txt.in +++ b/jobs/mediacard.txt.in @@ -2,14 +2,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/mmc-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Multimedia Card (MMC) media STEPS: - 1. Click "Test" and then insert an MMC card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert an MMC card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -23,6 +31,8 @@ estimated_duration: 30.0 depends: mediacard/mmc-insert user: root command: removable_storage_test -s 67120000 --memorycard sdio usb scsi --auto-reduce-size +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/mmc-insert test is run. It tests reading and writing to the MMC card. @@ -32,13 +42,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/mmc-remove estimated_duration: 30.0 depends: mediacard/mmc-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of the MMC card from the systems card reader. STEPS: - 1. Click "Test" and then remove the MMC card from the reader. + 1. Commence the test and then remove the MMC card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -48,14 +64,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sd-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of an UNLOCKED Secure Digital (SD) media card STEPS: - 1. Click "Test" and then insert an UNLOCKED SD card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert an UNLOCKED SD card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -69,6 +93,8 @@ estimated_duration: 30.0 depends: mediacard/sd-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/sd-insert test is run. It tests reading and writing to the SD card. @@ -78,13 +104,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sd-remove estimated_duration: 30.0 depends: mediacard/sd-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of an SD card from the systems card reader. STEPS: - 1. Click "Test" and then remove the SD card from the reader. + 1. Commence the test and then remove the SD card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -95,8 +127,11 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sd-preinserted estimated_duration: 30.0 user: root -requires: device.category == 'CARDREADER' command: removable_storage_test -s 268400000 --memorycard -l sdio usb scsi && removable_storage_test --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) + device.category == 'CARDREADER' _description: This is a fully automated version of mediacard/sd-automated and assumes that the system under test has a memory card device plugged in prior to checkbox execution. @@ -106,15 +141,23 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sdhc-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can - detect the insertion of a UNLOCKED Secure Digital High-Capacity + detect the insertion of a UNLOCKED Secure Digital High-Capacity (SDHC) media card STEPS: - 1. Click "Test" and then insert an UNLOCKED SDHC card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert an UNLOCKED SDHC card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -128,6 +171,8 @@ estimated_duration: 30.0 depends: mediacard/sdhc-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/sdhc-insert test is run. It tests reading and writing to the SDHC card. @@ -137,13 +182,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sdhc-remove estimated_duration: 30.0 depends: mediacard/sdhc-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of an SDHC card from the systems card reader. STEPS: - 1. Click "Test" and then remove the SDHC card from the reader. + 1. Commence the test and then remove the SDHC card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -153,14 +204,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/cf-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Compact Flash (CF) media card STEPS: - 1. Click "Test" and then insert a CF card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert a CF card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -174,6 +233,8 @@ estimated_duration: 30.0 depends: mediacard/cf-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/cf-insert test is run. It tests reading and writing to the CF card. @@ -183,13 +244,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/cf-remove depends: mediacard/cf-storage estimated_duration: 30.0 -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of a CF card from the systems card reader. STEPS: - 1. Click "Test" and then remove the CF card from the reader. + 1. Commence the test and then remove the CF card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -199,14 +266,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sdxc-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Secure Digital Extended Capacity (SDXC) media card STEPS: - 1. Click "Test" and then insert an UNLOCKED SDXC card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert an UNLOCKED SDXC card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -220,6 +295,8 @@ estimated_duration: 30.0 depends: mediacard/sdxc-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/sdxc-insert test is run. It tests reading and writing to the SDXC card. @@ -229,13 +306,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/sdxc-remove estimated_duration: 30.0 depends: mediacard/sdxc-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of a SDXC card from the systems card reader. STEPS: - 1. Click "Test" and then remove the SDXC card from the reader. + 1. Commence the test and then remove the SDXC card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -245,14 +328,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/ms-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Memory Stick (MS) media card STEPS: - 1. Click "Test" and then insert a MS card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert a MS card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -266,6 +357,8 @@ estimated_duration: 30.0 depends: mediacard/ms-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/ms-insert test is run. It tests reading and writing to the MS card. @@ -275,13 +368,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/ms-remove estimated_duration: 30.0 depends: mediacard/ms-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of a MS card from the systems card reader. STEPS: - 1. Click "Test" and then remove the MS card from the reader. + 1. Commence the test and then remove the MS card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -291,14 +390,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/msp-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +user: root +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Memory Stick Pro (MSP) media card STEPS: - 1. Click "Test" and then insert a MSP card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert a MSP card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -312,6 +419,8 @@ estimated_duration: 30.0 depends: mediacard/msp-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/msp-insert test is run. It tests reading and writing to the MSP card. @@ -321,13 +430,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/msp-remove estimated_duration: 30.0 depends: mediacard/msp-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of a MSP card from the systems card reader. STEPS: - 1. Click "Test" and remove the MSP card from the reader. + 1. Commence the test and remove the MSP card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -337,14 +452,22 @@ plugin: user-interact category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/xd-insert estimated_duration: 30.0 -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kadd.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard insert sdio usb scsi + fi +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + device.category == 'CARDREADER' +user: root _description: PURPOSE: This test will check that the systems media card reader can detect the insertion of a Extreme Digital (xD) media card STEPS: - 1. Click "Test" and then insert a xD card into the reader. - If a file browser opens up, you can safely close it. + 1. Commence the test and then insert a xD card into the reader. (Note: this test will time-out after 20 seconds.) 2. Do not remove the device after this test. VERIFICATION: @@ -358,6 +481,8 @@ estimated_duration: 30.0 depends: mediacard/xd-insert user: root command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _description: This test is automated and executes after the mediacard/xd-insert test is run. It tests reading and writing to the xD card. @@ -367,13 +492,19 @@ category_id: 2013.com.canonical.plainbox::mediacard id: mediacard/xd-remove estimated_duration: 30.0 depends: mediacard/xd-insert -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: + if [[ -v SNAP ]]; then + timeout 20s bash -c 'grep -m 1 -oP "\Kremove.*?mmc.*?\s" <( exec journalctl -u snap.udisks2.udisksd -f -q -S -1s ); kill $!' + else + removable_storage_watcher --memorycard remove sdio usb scsi + fi +user: root _description: PURPOSE: - This test will check that the system correctly detects + This test will check that the system correctly detects the removal of a xD card from the systems card reader. STEPS: - 1. Click "Test" and then remove the xD card from the reader. + 1. Commence the test and then remove the xD card from the reader. (Note: this test will time-out after 20 seconds.) VERIFICATION: The verification of this test is automated. Do not change the @@ -385,7 +516,10 @@ id: mediacard/sd-performance-manual depends: mediacard/sd-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'SD Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -401,7 +535,10 @@ id: mediacard/sdhc-performance-manual depends: mediacard/sdhc-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'SDHC Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -417,7 +554,10 @@ id: mediacard/mmc-performance-manual depends: mediacard/mmc-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'MMC Card Performance' +command: removable_storage_test -s 209715200 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -433,7 +573,10 @@ id: mediacard/cf-performance-manual depends: mediacard/cf-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'CF Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -449,7 +592,10 @@ id: mediacard/sdxc-performance-manual depends: mediacard/sdxc-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'SDXC Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -465,7 +611,10 @@ id: mediacard/ms-performance-manual depends: mediacard/ms-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'MS Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -481,7 +630,10 @@ id: mediacard/msp-performance-manual depends: mediacard/msp-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'MSP Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. @@ -497,7 +649,10 @@ id: mediacard/xd-performance-manual depends: mediacard/xd-insert estimated_duration: 120.0 user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'xD Card Performance' +command: removable_storage_test -s 268400000 --memorycard sdio usb | cat <(echo "Working...") - <(echo; echo "Verify the result and decide on the outcome") +requires: + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) +environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: PURPOSE: This test will check your Media Card data transfer performance. diff --git a/jobs/memory.txt.in b/jobs/memory.txt.in index b324545..e791d37 100644 --- a/jobs/memory.txt.in +++ b/jobs/memory.txt.in @@ -5,7 +5,7 @@ estimated_duration: 5.0 user: root command: memory_compare _summary: - Test that meminfo matches DMI memory information + Check amount of memory reported by meminfo against DMI _description: This test checks the amount of memory which is reporting in meminfo against the size of the memory modules detected by DMI. @@ -18,6 +18,8 @@ user: root requires: uname.name == 'Linux' command: memory_test +_summary: + Run memory stress test including swapping to disk _description: Test to perform some basic stress and exercise of system memory. This test also includes an over-commit function to force swapping to disk, thus SUTs @@ -26,11 +28,24 @@ _description: plugin: shell category_id: 2013.com.canonical.plainbox::memory +id: memory/meminfo_before_suspend +estimated_duration: 1.2 +_summary: Store memory info before suspending +command: meminfo_resource > $PLAINBOX_SESSION_SHARE/meminfo_before_suspend +_siblings: [ + { "id": "after-suspend-memory/meminfo_after_suspend", + "_summary": "Compare memory info to the state prior to suspend", + "command": "meminfo_resource | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend -", + "depends": "2013.com.canonical.certification::suspend/suspend_advanced_auto"} + ] + +plugin: shell +category_id: 2013.com.canonical.plainbox::memory id: memory/memory_stress_ng estimated_duration: 11000.0 user: root requires: - package.name == 'stress-ng' + package.name == 'stress-ng' or executable.name == 'stress-ng' command: memory_stress_ng _summary: Stress test of system memory _description: diff --git a/jobs/miscellanea.txt.in b/jobs/miscellanea.txt.in index 0cf738e..622ddbb 100644 --- a/jobs/miscellanea.txt.in +++ b/jobs/miscellanea.txt.in @@ -71,7 +71,7 @@ _description: Run Firmware Test Suite (fwts) automated tests. environ: PLAINBOX_SESSION_SHARE command: - fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_results.log + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_results.log plugin: shell category_id: 2013.com.canonical.plainbox::miscellanea @@ -80,7 +80,7 @@ estimated_duration: 1.0 depends: miscellanea/efi_boot_mode requires: cpuinfo.platform in ("i386", "x86_64", "aarch64", "armhf") - package.name == 'fwupdate' + package.name == 'fwupdate' or executable.name == 'fwupdate' _description: Determine if EFI firmware supports update from OS. _summary: @@ -111,7 +111,7 @@ plugin: shell category_id: 2013.com.canonical.plainbox::miscellanea id: miscellanea/ipmi_test requires: - package.name == 'ipmitool' + package.name == 'ipmitool' or executable.name == 'impitool' cpuinfo.platform != 's390x' user: root command: ipmi_test @@ -163,7 +163,7 @@ plugin: shell category_id: 2013.com.canonical.plainbox::miscellanea id: miscellanea/bmc_info requires: - package.name == 'ipmitool' + package.name == 'ipmitool' or executable.name == 'impitool' cpuinfo.platform != 's390x' estimated_duration: 0.5 user: root @@ -177,7 +177,9 @@ _summary: plugin: shell category_id: 2013.com.canonical.plainbox::miscellanea id: miscellanea/cpus_are_not_samples -requires: package.name == 'dmidecode' +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + cpuinfo.platform in ("i386", "x86_64") estimated_duration: 0.5 user: root command: dmitest cpu-check @@ -189,7 +191,9 @@ _summary: plugin: shell category_id: 2013.com.canonical.plainbox::miscellanea id: miscellanea/dmitest_server -requires: package.name == 'dmidecode' +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + cpuinfo.platform in ("i386", "x86_64") estimated_duration: 0.5 user: root command: dmitest --test_versions server @@ -290,7 +294,7 @@ _description: Run Firmware Test Suite (fwts) oops tests. environ: PLAINBOX_SESSION_SHARE command: - fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_oops_results.log -t oops + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_oops_results.log -t oops plugin: attachment category_id: 2013.com.canonical.plainbox::miscellanea diff --git a/jobs/power-management.txt.in b/jobs/power-management.txt.in index 3353c12..9fa4c23 100644 --- a/jobs/power-management.txt.in +++ b/jobs/power-management.txt.in @@ -20,8 +20,8 @@ estimated_duration: 25.0 user: root _description: Test ACPI Wakealarm (fwts wakealarm) requires: - package.name == 'fwts' -command: fwts_test -f aborted -t wakealarm -l $PLAINBOX_SESSION_SHARE/fwts-wakealarm.log + package.name == 'fwts' or executable.name == 'fwts' +command: checkbox-support-fwts_test -f aborted -t wakealarm -l $PLAINBOX_SESSION_SHARE/fwts-wakealarm.log plugin: attachment category_id: 2013.com.canonical.plainbox::power-management @@ -29,9 +29,7 @@ id: power-management/fwts_wakealarm-log-attach depends: power-management/fwts_wakealarm estimated_duration: 2.0 _description: Attach log from fwts wakealarm test -requires: - package.name == 'fwts' -command: [ -e ${PLAINBOX_SESSION_SHARE}/fwts-wakealarm.log ] && xz -c ${PLAINBOX_SESSION_SHARE}/fwts-wakealarm.log | base64 +command: [ -e ${PLAINBOX_SESSION_SHARE}/fwts-wakealarm.log ] && cat ${PLAINBOX_SESSION_SHARE}/fwts-wakealarm.log plugin: user-interact-verify category_id: 2013.com.canonical.plainbox::power-management @@ -161,7 +159,7 @@ category_id: 2013.com.canonical.plainbox::power-management id: power-management/rtc requires: rtc.state == 'supported' - package.name == 'util-linux' + executable.name == 'hwclock' cpuinfo.other != 'emulated by qemu' user: root command: hwclock -r diff --git a/jobs/stress.txt.in b/jobs/stress.txt.in index c101697..7b79b89 100644 --- a/jobs/stress.txt.in +++ b/jobs/stress.txt.in @@ -21,7 +21,7 @@ category_id: 2013.com.canonical.plainbox::stress id: stress/cpu_stress_ng_test estimated_duration: 7200.0 requires: - package.name == 'stress-ng' + package.name == 'stress-ng' or executable.name == 'stress-ng' user: root command: cpu_stress --runtime 7200 _summary: @@ -45,7 +45,7 @@ user: root command: if type -P fwts >/dev/null; then echo "Calling fwts" - fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate_30_cycles -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 --s4-multiple=30 + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate_30_cycles -f none -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 --s4-multiple=30 else echo "Calling sleep_test" set -o pipefail; sleep_test -s disk -i 30 -w 120 | tee $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log @@ -95,7 +95,7 @@ user: root command: if type -P fwts >/dev/null; then echo "Calling fwts" - set -o pipefail; fwts_test -l $PLAINBOX_SESSION_SHARE/suspend_30_cycles -f none -s s3 --s3-device-check --s3-device-check-delay=45 --s3-sleep-delay=30 --s3-multiple=30 | tee $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log + set -o pipefail; checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/suspend_30_cycles -f none -s s3 --s3-device-check --s3-device-check-delay=45 --s3-sleep-delay=30 --s3-multiple=30 | tee $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log else echo "Calling sleep_test" set -o pipefail; sleep_test -p -s mem -i 30 | tee $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log @@ -168,7 +168,7 @@ user: root command: if type -P fwts >/dev/null; then echo "Calling fwts" - fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate_250_cycles -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 --s4-multiple=250 + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/hibernate_250_cycles -s s4 --s4-device-check --s4-device-check-delay=45 --s4-sleep-delay=120 --s4-multiple=250 else echo "Calling sleep_test" set -o pipefail; sleep_test -s disk -i 250 -w 120 | tee $PLAINBOX_SESSION_SHARE/hibernate_250_cycles.log @@ -195,7 +195,7 @@ user: root command: if type -P fwts >/dev/null; then echo "Calling fwts" - set -o pipefail; fwts_test -l $PLAINBOX_SESSION_SHARE/suspend_250_cycles -s s3 --s3-device-check --s3-device-check-delay=45 --s3-sleep-delay=30 --s3-multiple=250 | tee $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log + set -o pipefail; checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/suspend_250_cycles -s s3 --s3-device-check --s3-device-check-delay=45 --s3-sleep-delay=30 --s3-multiple=250 | tee $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log else echo "Calling sleep_test" set -o pipefail; sleep_test -p -s mem -i 250 | tee $PLAINBOX_SESSION_SHARE/suspend_250_cycles.log diff --git a/jobs/submission.txt.in b/jobs/submission.txt.in index 0fafa85..9d642dd 100644 --- a/jobs/submission.txt.in +++ b/jobs/submission.txt.in @@ -1,6 +1,8 @@ id: dkms_info_json plugin: attachment category_id: 2013.com.canonical.plainbox::info +requires: + package.name == 'dkms' command: dkms_info --format json | plainbox dev parse dkms-info | \ jq --indent 4 '.dkms_info' @@ -24,7 +26,9 @@ Depends: plainbox id: raw_devices_dmi_json plugin: attachment category_id: 2013.com.canonical.plainbox::info -requires: package.name == 'dmidecode' +requires: + package.name == 'dmidecode' or executable.name == 'dmidecode' + cpuinfo.platform in ("i386", "x86_64") user: root command: dmidecode -t bios -t system | plainbox dev parse dmidecode | \ diff --git a/jobs/suspend-graphics.txt.in b/jobs/suspend-graphics.txt.in index 4b6d7b7..1f73e6a 100644 --- a/jobs/suspend-graphics.txt.in +++ b/jobs/suspend-graphics.txt.in @@ -26,7 +26,7 @@ environ: PLAINBOX_SESSION_SHARE command: if type -P fwts >/dev/null; then echo "Calling fwts" - set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log + set -o pipefail; checkbox-support-fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log else echo "Calling sleep_test" set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log diff --git a/jobs/suspend.txt.in b/jobs/suspend.txt.in index 533a5ce..4f15459 100644 --- a/jobs/suspend.txt.in +++ b/jobs/suspend.txt.in @@ -215,7 +215,7 @@ environ: PLAINBOX_SESSION_SHARE command: if type -P fwts >/dev/null; then echo "Calling fwts" - 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 + set -o pipefail; checkbox-support-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 else echo "Calling sleep_test" set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/2_suspend_single_times.log @@ -248,7 +248,7 @@ environ: PLAINBOX_SESSION_SHARE command: if type -P fwts >/dev/null; then echo "Calling fwts" - set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log + set -o pipefail; checkbox-support-fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_suspend_single -s s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45 | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log else echo "Calling sleep_test" set -o pipefail; sleep_test -p | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log @@ -278,7 +278,7 @@ _description: This is the automated version of suspend/suspend_advanced. user: root environ: PLAINBOX_SESSION_SHARE -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 +command: set -o pipefail; checkbox-support-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 estimated_duration: 90.000 unit: template @@ -288,7 +288,7 @@ category_id: 2013.com.canonical.plainbox::suspend id: suspend/{index}_hybrid_sleep_{product_slug} user: root command: - set -o pipefail; fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_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/{index}_hybrid_sleep_single_times.log + set -o pipefail; checkbox-support-fwts_test -f none -l $PLAINBOX_SESSION_SHARE/{index}_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/{index}_hybrid_sleep_single_times.log estimated_duration: 90.0 _description: PURPOSE: @@ -304,6 +304,7 @@ _description: plugin: shell category_id: 2013.com.canonical.plainbox::suspend id: suspend/suspend-single-log-check +depends: suspend/suspend_advanced_auto estimated_duration: 1.2 command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/suspend_single.log _description: @@ -312,6 +313,7 @@ _description: plugin: attachment category_id: 2013.com.canonical.plainbox::suspend id: suspend/suspend-single-log-attach +depends: suspend/suspend_advanced_auto command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single.log ] && xz -c $PLAINBOX_SESSION_SHARE/suspend_single.log | base64 _description: Attaches the log from the single suspend/resume test to the results @@ -2836,7 +2838,7 @@ _description: Run Firmware Test Suite (fwts) oops tests after suspend. environ: PLAINBOX_SESSION_SHARE command: - fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_oops_results_after_s3.log -t oops + checkbox-support-fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_oops_results_after_s3.log -t oops id: suspend/oops_results_after_suspend.log plugin: attachment diff --git a/jobs/usb-c.txt.in b/jobs/usb-c.txt.in new file mode 100644 index 0000000..b0a8d9e --- /dev/null +++ b/jobs/usb-c.txt.in @@ -0,0 +1,189 @@ +id: usb-c/c-to-a-adapter/hid +_summary: USB HID work on USB Type-C port using a "USB Type-C to Type-A" adapter +_purpose: + This test will check that you can use a USB HID device plugged in a USB + Type-C port using a "USB Type-C to Type-A" adapter +_steps: + 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port using a "USB Type-C to Type-A" adapter + 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks + 3. For keyboards, switch to another tty and type some text +_verification: + Did the device work as expected? +plugin: manual +flags: also-after-suspend +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: manifest.has_usb_type_c == 'True' +estimated_duration: 60 + +id: usb-c/c-to-a-adapter/insert +_purpose: + This test will check that the system correctly detects the insertion of + a USB 3 storage device in a USB Type-C connector using a "Type-C to Type-A" + adapter +_steps: + 1. Commence the test + 2. Connect a USB 3 storage device to a USB Type-C port using a + "Type-C to Type-A" adapter + 3. Do not unplug the device after the test. +_verification: + The verification of this test is automated. Do not change the + automatically selected result. +plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher insertion usb3 + else + removable_storage_watcher -m 500000000 insert usb + fi +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: + usb.usb3 == 'supported' + manifest.has_usb_type_c == 'True' +estimated_duration: 30 + +id: usb-c/c-to-a-adapter/storage-automated +_description: + This test is automated and executes after the usb-c/c-to-a-adapter/insert test + is run. +plugin: shell +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-usb_read_write + else + removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + fi +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: + manifest.has_usb_type_c == 'True' +depends: usb-c/c-to-a-adapter/insert +estimated_duration: 60 + +id: usb-c/c-to-a-adapter/remove +_purpose: + This test will check that the system correctly detects the removal of + a USB 3 storage device connected to a USB Type-C port using a "USB Type-C + to Type-A" adapter. +_steps: + 1. Commence the test + 2. Disconnect a USB 3 storage device to a USB Type-C port using a + "Type-C to Type-A" adapter +_verification: + The verification of this test is automated. Do not change the + automatically selected result. +plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher removal usb3 + else + removable_storage_watcher -m 500000000 remove usb + fi +category_id: 2013.com.canonical.plainbox::usb +depends: usb-c/c-to-a-adapter/insert +imports: from 2013.com.canonical.plainbox import manifest +requires: + manifest.has_usb_type_c == 'True' +estimated_duration: 30 + +id: usb-c/hid +_summary: USB HID work on USB Type-C port +_purpose: + This test will check that you can use a USB HID device plugged in a USB + Type-C port +_steps: + 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port + 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks + 3. For keyboards, switch to another tty and type some text +_verification: + Did the device work as expected? +plugin: manual +flags: also-after-suspend +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: manifest.has_usb_type_c == 'True' +estimated_duration: 60 + +id: usb-c/insert +_summary: USB 3.0 storage device insertion detected on USB Type-C port +_purpose: + This test will check that the system correctly detects the insertion of + a USB 3 storage device in a USB Type-C connector +_steps: + 1. Commence the test + 2. Connect a USB 3 storage device to a USB Type-C port + 3. Do not unplug the device after the test. +_verification: + The verification of this test is automated. Do not change the + automatically selected result. +plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher insertion usb3 + else + removable_storage_watcher -m 500000000 insert usb + fi +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: + usb.usb3 == 'supported' + manifest.has_usb_type_c == 'True' +estimated_duration: 30 + +id: usb-c/storage-automated +_summary: USB 3.0 storage device read & write works on USB Type-C port +_description: + This test is automated and executes after the usb-c/insert test + is run. +plugin: shell +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-usb_read_write + else + removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + fi +category_id: 2013.com.canonical.plainbox::usb +imports: from 2013.com.canonical.plainbox import manifest +requires: + manifest.has_usb_type_c == 'True' +depends: usb-c/insert +estimated_duration: 60 + +id: usb-c/remove +_summary: USB 3.0 storage device removal detected on USB Type-C port +_purpose: + This test will check that the system correctly detects the removal of + a USB 3 storage device connected to a USB Type-C port. +_steps: + 1. Commence the test + 2. Disconnect a USB 3 storage device to a USB Type-C port +_verification: + The verification of this test is automated. Do not change the + automatically selected result. +plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher removal usb3 + else + removable_storage_watcher -m 500000000 remove usb + fi +category_id: 2013.com.canonical.plainbox::usb +depends: usb-c/insert +imports: from 2013.com.canonical.plainbox import manifest +requires: + manifest.has_usb_type_c == 'True' +estimated_duration: 30 + diff --git a/jobs/usb.txt.in b/jobs/usb.txt.in index 1db807d..a11bea1 100644 --- a/jobs/usb.txt.in +++ b/jobs/usb.txt.in @@ -7,7 +7,13 @@ plugin: shell category_id: 2013.com.canonical.plainbox::usb id: usb/detect estimated_duration: 1.0 -command: set -o pipefail; lsusb 2>/dev/null | sed 's/.*\(ID .*\)/\1/' | head -n 4 || echo "No USB devices were detected" >&2 +command: + set -o pipefail + if [[ -v SNAP ]]; then + lsusb.py -f $SNAP/var/lib/usbutils/usb.ids 2>/dev/null | sed 's/.*\(ID .*\)/\1/' | head -n 4 || echo "No USB devices were detected" >&2 + else + lsusb 2>/dev/null | sed 's/.*\(ID .*\)/\1/' | head -n 4 || echo "No USB devices were detected" >&2 + fi _summary: Display USB devices attached to SUT _description: Detects and shows USB devices attached to this system. @@ -42,197 +48,96 @@ _description: VERIFICATION: Did the device work as expected? -plugin: user-interact-verify -category_id: 2013.com.canonical.plainbox::usb -id: usb-c/c-to-a-adapter/hid -imports: from 2013.com.canonical.plainbox import manifest -requires: manifest.has_usb_type_c == 'True' -depends: usb/detect -estimated_duration: 10.0 -command: keyboard_test -_purpose: - This test will check that you can use a USB HID device plugged in a USB - Type-C port using a "USB Type-C to Type-A" adapter -_steps: - 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port using a "USB Type-C to Type-A" adapter - 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks - 3. For keyboards, commence the test to launch a small tool. Type some text and close the tool. -_verification: - Did the device work as expected? - -plugin: user-interact-verify -category_id: 2013.com.canonical.plainbox::usb -id: usb-c/hid -imports: from 2013.com.canonical.plainbox import manifest -requires: manifest.has_usb_type_c == 'True' -depends: usb/detect -estimated_duration: 10.0 -command: keyboard_test +id: usb/insert +_summary: USB 2.0 storage device insertion detected _purpose: - This test will check that you can use a USB HID device plugged in a USB - Type-C port + Check system can detect USB 2.0 storage when inserted _steps: - 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port - 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks - 3. For keyboards, commence the test to launch a small tool. Type some text and close the tool. + 1. Press continue + 2. Connect USB 2.0 storage device _verification: - Did the device work as expected? - + The verification of this test is automated. + Do not change the automatically selected result. plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher insertion usb2 + else + removable_storage_watcher insert usb + fi category_id: 2013.com.canonical.plainbox::usb -id: usb/insert -depends: usb/detect -estimated_duration: 10.0 -command: removable_storage_watcher insert usb -_description: - PURPOSE: - This test will check that the system correctly detects the insertion of - a USB storage device - STEPS: - 1. Click "Test" and insert a USB storage device - (Note: this test will time-out after 20 seconds.) - 2. Do not unplug the device after the test. - VERIFICATION: - The verification of this test is automated. Do not change the - automatically selected result. +estimated_duration: 120 -plugin: user-interact -category_id: 2013.com.canonical.plainbox::usb id: usb3/insert requires: usb.usb3 == 'supported' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb -_description: - PURPOSE: - This test will check that the system correctly detects the insertion of - a USB 3.0 storage device - STEPS: - 1. Click "Test" and insert a USB 3.0 storage device in a USB 3.0 port. - (Note: this test will time-out after 20 seconds.) - 2. Do not unplug the device after the test. - VERIFICATION: - The verification of this test is automated. Do not change the - automatically selected result. - -plugin: user-interact -category_id: 2013.com.canonical.plainbox::usb -id: usb-c/c-to-a-adapter/insert -imports: from 2013.com.canonical.plainbox import manifest -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +_summary: USB 3.0 storage device insertion detected _purpose: - This test will check that the system correctly detects the insertion of - a USB 3 storage device in a USB Type-C connector using a "Type-C to Type-A" - adapter + Check system can detect insertion of a USB 3.0 storage device _steps: - 1. Click "Test" and insert a USB 3 storage device in a USB Type-C port - using a "USB Type-C to Type-A" adapter. - (Note: this test will time-out after 20 seconds.) - 2. Do not unplug the device after the test. + 1. Press continue + 2. Connect USB 3.0 storage device _verification: - The verification of this test is automated. Do not change the - automatically selected result. - + The verification of this test is automated. + Do not change the automatically selected result. plugin: user-interact +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher insertion usb3 + else + removable_storage_watcher -m 500000000 insert usb + fi category_id: 2013.com.canonical.plainbox::usb -id: usb-c/insert -imports: from 2013.com.canonical.plainbox import manifest -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +estimated_duration: 120 + +id: usb/remove +_summary: USB 2.0 storage device removal detected _purpose: - This test will check that the system correctly detects the insertion of - a USB 3 storage device in a USB Type-C connector + Check system can detect removal of a USB 2.0 storage device _steps: - 1. Click "Test" and insert a USB 3 storage device in a USB Type-C port. - (Note: this test will time-out after 20 seconds.) - 2. Do not unplug the device after the test. + 1. Press continue + 2. Disconnect USB 2.0 storage device _verification: - The verification of this test is automated. Do not change the - automatically selected result. - + The verification of this test is automated. + Do not change the automatically selected result. plugin: user-interact -category_id: 2013.com.canonical.plainbox::usb -id: usb/remove depends: usb/insert -estimated_duration: 10.0 -command: removable_storage_watcher remove usb -_description: - PURPOSE: - This test will check that the system correctly detects the removal of - a USB storage device - STEPS: - 1. Click "Test" and remove the USB device. - (Note: this test will time-out after 20 seconds.) - VERIFICATION: - The verification of this test is automated. Do not change the - automatically selected result. - -plugin: user-interact +flags: also-after-suspend +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher removal usb2 + else + removable_storage_watcher remove usb + fi category_id: 2013.com.canonical.plainbox::usb -id: usb3/remove -depends: usb3/insert -requires: - usb.usb3 == 'supported' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb -_description: - PURPOSE: - This test will check that the system correctly detects the removal of - a USB 3.0 storage device - STEPS: - 1. Click "Test" and remove the USB 3.0 device. - (Note: this test will time-out after 20 seconds.) - VERIFICATION: - The verification of this test is automated. Do not change the - automatically selected result. +estimated_duration: 120 -plugin: user-interact -category_id: 2013.com.canonical.plainbox::usb -id: usb-c/c-to-a-adapter/remove -imports: from 2013.com.canonical.plainbox import manifest -depends: usb-c/c-to-a-adapter/insert -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb +id: usb3/remove +_summary: USB 3.0 storage device removal detected _purpose: - This test will check that the system correctly detects the removal of - a USB 3 storage device connected to a USB Type-C port using a "USB Type-C - to Type-A" adapter. + Check system can detect removal of a USB 3.0 storage device _steps: - 1. Click "Test" and remove the USB 3 device. - (Note: this test will time-out after 20 seconds.) + 1. Press continue + 2. Disconnect USB 3.0 storage device _verification: - The verification of this test is automated. Do not change the - automatically selected result. - + The verification of this test is automated. + Do not change the automatically selected result. plugin: user-interact +flags: also-after-suspend +depends: usb3/insert +user: root +command: + if [[ -v SNAP ]]; then + checkbox-support-run_watcher removal usb3 + else + removable_storage_watcher -m 500000000 remove usb + fi category_id: 2013.com.canonical.plainbox::usb -id: usb-c/remove -imports: from 2013.com.canonical.plainbox import manifest -depends: usb-c/insert -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb -_purpose: - This test will check that the system correctly detects the removal of - a USB 3 storage device connected to a USB Type-C port. -_steps: - 1. Click "Test" and remove the USB 3 device. - (Note: this test will time-out after 20 seconds.) -_verification: - The verification of this test is automated. Do not change the - automatically selected result. +estimated_duration: 120 plugin: user-interact-verify category_id: 2013.com.canonical.plainbox::usb @@ -272,57 +177,47 @@ _description: The verification of this test is automated. Do not change the automatically selected result. -plugin: shell -category_id: 2013.com.canonical.plainbox::usb id: usb/storage-automated +_summary: USB 2.0 storage device read & write works +_purpose: + Check system can read/write to USB 2.0 storage correctly +_steps: + 1. This task is fully automatic and need USB 2.0 insertion test was applied first. +_verification: + This task is fully automatic and will verify the result for you. +plugin: shell depends: usb/insert +flags: also-after-suspend user: root -estimated_duration: 45.0 -command: removable_storage_test -s 268400000 usb -_description: - This test is automated and executes after the usb/insert test is run. - -plugin: shell +command: + if [[ -v SNAP ]]; then + checkbox-support-usb_read_write + else + removable_storage_test -s 268400000 usb + fi category_id: 2013.com.canonical.plainbox::usb -id: usb3/storage-automated -requires: - usb.usb3 == 'supported' -depends: usb3/insert -user: root -estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd -_description: - This test is automated and executes after the usb3/insert test is run. +estimated_duration: 300 +id: usb3/storage-automated +_summary: USB 3.0 storage device read & write works +_purpose: + Check system can read/write to USB 3.0 storage devices correctly +_steps: + 1. This task is fully automatic and need USB 3.0 insertion test was applied first. +_verification: + This task is fully automatic and will verify the result for you. plugin: shell -category_id: 2013.com.canonical.plainbox::usb -id: usb-c/c-to-a-adapter/storage-automated -imports: from 2013.com.canonical.plainbox import manifest -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -depends: usb-c/c-to-a-adapter/insert +depends: usb3/insert +flags: also-after-suspend user: root -estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd -_description: - This test is automated and executes after the usb-c/c-to-a-adapter/insert test - is run. - -plugin: shell +command: + if [[ -v SNAP ]]; then + checkbox-support-usb_read_write + else + removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + fi category_id: 2013.com.canonical.plainbox::usb -id: usb-c/storage-automated -imports: from 2013.com.canonical.plainbox import manifest -requires: - usb.usb3 == 'supported' - manifest.has_usb_type_c == 'True' -depends: usb-c/insert -user: root -estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd -_description: - This test is automated and executes after the usb-c/insert test - is run. +estimated_duration: 300 plugin: shell category_id: 2013.com.canonical.plainbox::usb @@ -330,6 +225,10 @@ id: usb/storage-preinserted user: root estimated_duration: 45.0 command: removable_storage_test -l usb && removable_storage_test -s 268400000 usb +flags: also-after-suspend +requires: + package.name == 'udisks2' or snap.name == 'udisks2' + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) _summary: Test USB 2.0 or 1.1 ports _description: @@ -341,8 +240,11 @@ plugin: shell category_id: 2013.com.canonical.plainbox::usb id: usb3/storage-preinserted user: root +flags: also-after-suspend requires: usb.usb3 == 'supported' + package.name == 'udisks2' or snap.name == 'udisks2' + package.name == 'udisks2' or (snap.name == 'core' and int(snap.revision) >= 1804) estimated_duration: 45.0 command: removable_storage_test -l usb && removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd _summary: diff --git a/jobs/virtualization.txt.in b/jobs/virtualization.txt.in index f31f948..a3fe0e4 100644 --- a/jobs/virtualization.txt.in +++ b/jobs/virtualization.txt.in @@ -22,8 +22,8 @@ user: root environ: LXD_TEMPLATE LXD_ROOTFS estimated_duration: 30.0 requires: - package.name == 'lxd-client' - package.name == 'lxd' + package.name == 'lxd-client' or executable.name == 'lxc' + package.name == 'lxd' or snap.name == 'lxd' command: virtualization --debug lxd _description: Verifies that an LXD container can be created and launched |
