diff options
author | Sylvain Pineau <sylvain.pineau@canonical.com> | 2019-08-20 15:35:58 +0200 |
---|---|---|
committer | Sylvain Pineau <sylvain.pineau@canonical.com> | 2019-08-20 15:35:58 +0200 |
commit | f70fc8e73824ddcefd3f5de171e87a5a6e1b6b50 (patch) | |
tree | bc59f2f813741aeba4ce041375ee63f238b4ae26 /units | |
parent | 19561feae49044a9de817684b1d2dadea557675e (diff) |
Import plainbox-provider-checkbox_0.49.0~rc1.orig.tar.gzupstream-0.49.0_rc1patched-0.49.0_rc1-1
Diffstat (limited to 'units')
33 files changed, 697 insertions, 185 deletions
diff --git a/units/audio/jobs.pxu b/units/audio/jobs.pxu index 120a9bd..a661833 100644 --- a/units/audio/jobs.pxu +++ b/units/audio/jobs.pxu @@ -185,6 +185,37 @@ _steps: _verification: Did you hear the sound from the DisplayPort device? +unit: template +template-resource: graphics_card +template-filter: graphics_card.prime_gpu_offload == 'Off' +plugin: user-interact-verify +category_id: com.canonical.plainbox::audio +id: audio/{index}_playback_type-c_hdmi_{product_slug} +imports: from com.canonical.plainbox import manifest +estimated_duration: 30.0 +requires: + manifest.has_usb_type_c == 'True' + display.dp == 'supported' + device.category == 'AUDIO' + package.name == 'alsa-base' + package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' + package.name == 'pulseaudio-utils' +flags: also-after-suspend-manual +command: + audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings set --verbose --device=hdmi --volume=50 + gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + EXIT_CODE=$? + audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + exit $EXIT_CODE +_purpose: + HDMI audio via USB Type-C port interface verification +_steps: + 1. Plug an external HDMI device with sound on a USB Type-C port using a "USB Typce-C to HDMI" adapter (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test) + 2. Commence the test +_verification: + Did you hear the sound from the HDMI device? + plugin: user-interact-verify category_id: com.canonical.plainbox::audio id: audio/playback_headphones @@ -360,6 +391,8 @@ plugin: manual category_id: com.canonical.plainbox::audio id: audio/external-lineout estimated_duration: 30.0 +requires: + dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower','Space-saving','All In One','All-In-One','AIO'] _description: PURPOSE: Check that external line out connection works correctly @@ -376,6 +409,7 @@ category_id: com.canonical.plainbox::audio id: audio/external-linein estimated_duration: 120.0 requires: + dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower','Space-saving','All In One','All-In-One','AIO'] device.category == 'AUDIO' package.name == 'alsa-base' package.name == 'pulseaudio-utils' diff --git a/units/bluetooth/jobs.pxu b/units/bluetooth/jobs.pxu index f40a6e0..6160e76 100644 --- a/units/bluetooth/jobs.pxu +++ b/units/bluetooth/jobs.pxu @@ -82,11 +82,15 @@ _description: PURPOSE: This test will check that you can transfer information through a bluetooth connection STEPS: - 1. Make sure that you're able to browse the files in your mobile device - 2. Copy a file from the computer to the mobile device - 3. Copy a file from the mobile device to the computer + 1. Enable bluetooth on a target device (e.g. another laptop) and DUT (device under test) + 2. Launch bluetooth settings from menu bar + 3. Select target device from Device options for connection establishing + 4. Confirm PIN code on both DUT and target device + 5. Target device is connected + 7. Click target device in device list + 8. Click 'Send Files...' and choose a file to send in DUT VERIFICATION: - Were all files copied correctly? + Were file sent to target device ~/Downloads folder correctly? plugin: user-interact-verify category_id: com.canonical.plainbox::bluetooth diff --git a/units/bluetooth/test-plan.pxu b/units/bluetooth/test-plan.pxu index 1aca5be..2b1819b 100644 --- a/units/bluetooth/test-plan.pxu +++ b/units/bluetooth/test-plan.pxu @@ -15,10 +15,9 @@ _description: Bluetooth tests (Manual) include: bluetooth/audio-a2dp certification-status=blocker - bluetooth/HID bluetooth4/HOGP-mouse certification-status=blocker bluetooth4/HOGP-keyboard certification-status=blocker - + bluetooth/file-transfer certification-status=non-blocker id: bluetooth-cert-automated unit: test plan diff --git a/units/camera/jobs.pxu b/units/camera/jobs.pxu index b1e4b9c..0605d18 100644 --- a/units/camera/jobs.pxu +++ b/units/camera/jobs.pxu @@ -15,6 +15,7 @@ template-unit: job plugin: user-interact-verify category_id: com.canonical.plainbox::camera id: camera/display_{name} +flags: also-after-suspend-manual _summary: Webcam video display test for {product_slug} estimated_duration: 120.0 depends: camera/detect @@ -57,6 +58,7 @@ plugin: user-interact-verify template-engine: jinja2 category_id: com.canonical.plainbox::camera id: camera/still_{{ name }} +flags: also-after-suspend-manual _summary: Webcam still image capture test for {{ product_slug }} estimated_duration: 120.0 depends: camera/detect diff --git a/units/disk/jobs.pxu b/units/disk/jobs.pxu index 3de5532..b2e4301 100644 --- a/units/disk/jobs.pxu +++ b/units/disk/jobs.pxu @@ -75,7 +75,7 @@ user: root requires: _summary: Disk I/O stress test for {product_slug} _description: Take the path of the storage device and test is it a block device -command: storage_test {name} +command: storage_test.py {name} unit: template template-resource: device diff --git a/units/ethernet/jobs.pxu b/units/ethernet/jobs.pxu index b5f068a..103a7b3 100644 --- a/units/ethernet/jobs.pxu +++ b/units/ethernet/jobs.pxu @@ -2,7 +2,7 @@ plugin: shell category_id: com.canonical.plainbox::ethernet id: ethernet/detect flags: also-after-suspend -command: network_device_info.py detect +command: network_device_info.py detect NETWORK estimated_duration: 2.0 _summary: Detect if at least one ethernet device is detected @@ -18,14 +18,27 @@ id: ethernet/info_automated requires: executable.name == 'ip' device.category == 'NETWORK' -command: udev_resource -f NETWORK | awk "/interface: / { print \$2 }" | xargs -n 1 network_info -estimated_duration: 30.0 +command: network_device_info.py detect NETWORK +estimated_duration: 2.0 _summary: Gather info on current state of network devices _description: Gathers some info on the current state of your network devices. If no devices are found, the test will exit with an error. +plugin: shell +category_id: com.canonical.plainbox::ethernet +id: ethernet/info_automated_server +requires: + device.category == 'NETWORK' +user: root +command: network_device_info.py info NETWORK --no-nm +estimated_duration: 2.0 +_summary: + Provide information about detected ethernet devices +_description: + This job provides detailed information about detected ethernet devices. + plugin: user-interact-verify category_id: com.canonical.plainbox::ethernet id: ethernet/wired_connection diff --git a/units/ethernet/test-plan.pxu b/units/ethernet/test-plan.pxu index ec2310f..986c886 100644 --- a/units/ethernet/test-plan.pxu +++ b/units/ethernet/test-plan.pxu @@ -62,8 +62,7 @@ _name: Server Ethernet Tests _description: Automated ethernet tests for server certification estimated_duration: 4h include: - ethernet/detect - ethernet/info_automated + ethernet/info_automated_server ethernet/ethtool_info ethernet/ethertool_check_.* ethernet/multi_iperf3_nic_device.* @@ -74,8 +73,7 @@ _name: Server Ethernet Tests (Speed Check Disabled) _description: Automated ethernet tests for server certification without speed check estimated_duration: 4h include: - ethernet/detect - ethernet/info_automated + ethernet/info_automated_server ethernet/ethtool_info ethernet/ethertool_check_.* ethernet/multi_iperf3_nic_underspeed_device.* diff --git a/units/graphics/test-plan.pxu b/units/graphics/test-plan.pxu index 9085cb8..4537dfd 100644 --- a/units/graphics/test-plan.pxu +++ b/units/graphics/test-plan.pxu @@ -51,8 +51,8 @@ include: bootstrap_include: graphics_card nested_part: - com.canonical.certification::graphics-discrete-gpu-cert-manual com.canonical.certification::graphics-discrete-gpu-cert-automated + com.canonical.certification::graphics-discrete-gpu-cert-manual id: graphics-discrete-gpu-cert-manual unit: test plan @@ -60,7 +60,6 @@ _name: Graphics tests (discrete GPU) (Manual) _description: Graphics tests (discrete GPU) (Manual) include: - graphics/2_auto_switch_card_.* certification-status=blocker graphics/2_maximum_resolution_.* certification-status=blocker graphics/2_glxgears_.* certification-status=blocker graphics/2_rotation_.* certification-status=blocker @@ -75,37 +74,58 @@ _name: Graphics tests (discrete GPU) (Automated) _description: Graphics tests (discrete GPU) (Automated) include: - graphics/2_valid_opengl_renderer_.* certification-status=blocker - graphics/2_driver_version_.* certification-status=blocker - graphics/2_compiz_check_.* certification-status=blocker + graphics/2_auto_switch_card_.* certification-status=blocker + graphics/2_valid_opengl_renderer_.* certification-status=blocker + graphics/2_driver_version_.* certification-status=blocker + graphics/2_compiz_check_.* certification-status=blocker graphics/2_minimum_resolution_.* + suspend/2_resolution_before_suspend_.*_auto certification-status=blocker bootstrap_include: graphics_card - id: after-suspend-graphics-integrated-gpu-cert-full unit: test plan _name: After suspend tests (integrated GPU) _description: After suspend tests (integrated GPU) include: - graphics/1_auto_switch_card_.* certification-status=blocker - suspend/1_resolution_before_suspend_.*_auto certification-status=blocker +nested_part: + com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-automated + com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-manual + +id: after-suspend-graphics-integrated-gpu-cert-automated +unit: test plan +_name: After suspend tests (integrated GPU automated) +_description: After suspend tests (integrated GPU automated) +include: + graphics/1_auto_switch_card_.* certification-status=blocker + suspend/1_resolution_before_suspend_.*_auto certification-status=blocker + suspend/1_suspend_after_switch_to_card_.*_auto certification-status=blocker # The following after suspend jobs will automatically select the right suspend job # depending on the amount of graphic cards available on the SUT: # suspend/suspend_advanced (one GPU) # or suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto (two GPUs) - suspend/1_suspend-time-check_.*_auto certification-status=non-blocker - suspend/1_suspend-single-log-attach_.*_auto - power-management/lid certification-status=blocker - power-management/lid_close certification-status=blocker - power-management/lid_open certification-status=blocker - suspend/1_compiz_check_after_suspend_.*_auto certification-status=blocker - suspend/1_driver_version_after_suspend_.*_auto certification-status=blocker - suspend/1_resolution_after_suspend_.*_auto certification-status=blocker - suspend/1_display_after_suspend_.*_auto certification-status=blocker - suspend/1_glxgears_after_suspend_.*_auto certification-status=blocker - suspend/1_video_after_suspend_.*_auto certification-status=blocker - suspend/1_cycle_resolutions_after_suspend_.*_auto certification-status=non-blocker + suspend/1_suspend-time-check_.*_auto certification-status=non-blocker + suspend/1_suspend-single-log-attach_.*_auto certification-status=non-blocker + suspend/1_compiz_check_after_suspend_.*_auto certification-status=blocker + suspend/1_driver_version_after_suspend_.*_auto certification-status=blocker + suspend/1_resolution_after_suspend_.*_auto certification-status=blocker + +id: after-suspend-graphics-integrated-gpu-cert-manual +unit: test plan +_name: After suspend tests (integrated GPU manual) +_description: After suspend tests (integrated GPU manual) +include: + # The following after suspend jobs will automatically select the right suspend job + # depending on the amount of graphic cards available on the SUT: + # suspend/suspend_advanced (one GPU) + # or suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto (two GPUs) + power-management/lid certification-status=blocker + power-management/lid_close certification-status=blocker + power-management/lid_open certification-status=blocker + suspend/1_display_after_suspend_.*_graphics certification-status=blocker + suspend/1_glxgears_after_suspend_.*_graphics certification-status=blocker + suspend/1_video_after_suspend_.*_graphics certification-status=blocker + suspend/1_cycle_resolutions_after_suspend_.*_graphics certification-status=non-blocker suspend/1_xrandr_screens_after_suspend.tar.gz_auto id: after-suspend-graphics-discrete-gpu-cert-full @@ -113,19 +133,32 @@ unit: test plan _name: After suspend tests (discrete GPU) _description: After suspend tests (discrete GPU) include: - suspend/2_resolution_before_suspend_.*_auto certification-status=blocker - suspend/2_suspend_after_switch_to_card_.*_auto certification-status=blocker - suspend/2_suspend-time-check_.*_auto certification-status=non-blocker - suspend/2_suspend-single-log-attach_.*_auto - suspend/2_compiz_check_after_suspend_.*_auto certification-status=blocker - suspend/2_driver_version_after_suspend_.*_auto certification-status=blocker - suspend/2_resolution_after_suspend_.*_auto certification-status=blocker - suspend/2_display_after_suspend_.*_auto certification-status=blocker - suspend/2_glxgears_after_suspend_.*_auto certification-status=blocker - suspend/2_video_after_suspend_.*_auto certification-status=blocker - suspend/2_cycle_resolutions_after_suspend_.*_auto certification-status=non-blocker +nested_part: + com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-automated + com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-manual + +id: after-suspend-graphics-discrete-gpu-cert-automated +unit: test plan +_name: After suspend tests (discrete GPU automated) +_description: After suspend tests (discrete GPU automated) +include: + suspend/2_suspend_after_switch_to_card_.*_auto certification-status=blocker + suspend/2_suspend-time-check_.*_auto certification-status=non-blocker + suspend/2_suspend-single-log-attach_.*_auto certification-status=non-blocker + suspend/2_compiz_check_after_suspend_.*_auto certification-status=blocker + suspend/2_driver_version_after_suspend_.*_auto certification-status=blocker + suspend/2_resolution_after_suspend_.*_auto certification-status=blocker + +id: after-suspend-graphics-discrete-gpu-cert-manual +unit: test plan +_name: After suspend tests (discrete GPU manual) +_description: After suspend tests (discrete GPU manual) +include: + suspend/2_display_after_suspend_.*_graphics certification-status=blocker + suspend/2_glxgears_after_suspend_.*_graphics certification-status=blocker + suspend/2_video_after_suspend_.*_graphics certification-status=blocker + suspend/2_cycle_resolutions_after_suspend_.*_graphics certification-status=non-blocker suspend/2_xrandr_screens_after_suspend_.*.tar.gz_auto - after-suspend-manual-monitor/2_dim_brightness_.* certification-status=blocker id: graphics-integrated-gpu-cert-blockers unit: test plan @@ -175,10 +208,9 @@ include: suspend/1_compiz_check_after_suspend_.*_auto certification-status=blocker suspend/1_driver_version_after_suspend_.*_auto certification-status=blocker suspend/1_resolution_after_suspend_.*_auto certification-status=blocker - suspend/1_display_after_suspend_.*_auto certification-status=blocker - suspend/1_glxgears_after_suspend_.*_auto certification-status=blocker - suspend/1_video_after_suspend_.*_auto certification-status=blocker - after-suspend-manual-monitor/1_dim_brightness_.* certification-status=blocker + suspend/1_display_after_suspend_.*_graphics certification-status=blocker + suspend/1_glxgears_after_suspend_.*_graphics certification-status=blocker + suspend/1_video_after_suspend_.*_graphics certification-status=blocker id: after-suspend-graphics-discrete-gpu-cert-blockers unit: test plan @@ -186,11 +218,10 @@ _name: After suspend tests (discrete GPU, certification blockers only) _description: After suspend tests (discrete GPU, certification blockers only) include: suspend/2_resolution_before_suspend_.*_auto certification-status=blocker - suspend/2_suspend_after_switch_to_card_.*_auto certification-status=blocker + suspend/2_suspend_after_switch_to_card_.*_graphics certification-status=blocker suspend/2_compiz_check_after_suspend_.*_auto certification-status=blocker suspend/2_driver_version_after_suspend_.*_auto certification-status=blocker suspend/2_resolution_after_suspend_.*_auto certification-status=blocker - suspend/2_display_after_suspend_.*_auto certification-status=blocker - suspend/2_glxgears_after_suspend_.*_auto certification-status=blocker - suspend/2_video_after_suspend_.*_auto certification-status=blocker - after-suspend-manual-monitor/2_dim_brightness_.* certification-status=blocker + suspend/2_display_after_suspend_.*_graphics certification-status=blocker + suspend/2_glxgears_after_suspend_.*_graphics certification-status=blocker + suspend/2_video_after_suspend_.*_graphics certification-status=blocker diff --git a/units/info/jobs.pxu b/units/info/jobs.pxu index 93ccd92..9ed5d33 100644 --- a/units/info/jobs.pxu +++ b/units/info/jobs.pxu @@ -103,7 +103,7 @@ category_id: com.canonical.plainbox::info user: root command: if [[ -v SNAP ]]; then - lsusb.py -f $SNAP/var/lib/usbutils/usb.ids + checkbox-support-lsusb -f $SNAP/checkbox-runtime/var/lib/usbutils/usb.ids else lsusb -vv | iconv -t 'utf-8' -c fi @@ -310,7 +310,7 @@ _description: Lists the device driver and version for all audio devices. plugin: attachment category_id: com.canonical.plainbox::info id: info/network_devices -command: network_device_info.py info +command: network_device_info.py info NETWORK estimated_duration: 0.550 _description: Provides information about network devices @@ -452,3 +452,10 @@ command: lstopo $PLAINBOX_SESSION_SHARE/lstopo_visual.png; \ [ -e "$PLAINBOX_SESSION_SHARE/lstopo_visual.png" ] && \ cat "$PLAINBOX_SESSION_SHARE/lstopo_visual.png" + +id: info/network-config +plugin: attachment +category_id: com.canonical.plainbox::info +estimated_duration: 0.2 +_summary: attach network configuration +command: network_configs diff --git a/units/info/test-plan.pxu b/units/info/test-plan.pxu index d293954..6e59a73 100644 --- a/units/info/test-plan.pxu +++ b/units/info/test-plan.pxu @@ -70,6 +70,7 @@ include: efi_attachment info/disk_partitions info/hdparm_.*.txt + info/network-config installer_debug.gz kernel_cmdline_attachment lsblk_attachment diff --git a/units/keys/test-plan.pxu b/units/keys/test-plan.pxu index c75a32a..38386ef 100644 --- a/units/keys/test-plan.pxu +++ b/units/keys/test-plan.pxu @@ -16,7 +16,6 @@ _description: include: keys/lock-screen certification-status=blocker keys/super certification-status=blocker - keys/battery-info certification-status=blocker keys/brightness certification-status=blocker keys/media-control certification-status=blocker keys/mute certification-status=blocker @@ -42,7 +41,6 @@ _description: include: after-suspend-manual-keys/lock-screen certification-status=blocker after-suspend-manual-keys/super certification-status=blocker - after-suspend-manual-keys/battery-info certification-status=blocker after-suspend-manual-keys/brightness certification-status=blocker after-suspend-manual-keys/media-control certification-status=blocker after-suspend-manual-keys/mute certification-status=blocker @@ -61,7 +59,6 @@ _description: include: keys/lock-screen certification-status=blocker keys/super certification-status=blocker - keys/battery-info certification-status=blocker keys/brightness certification-status=blocker keys/media-control certification-status=blocker keys/mute certification-status=blocker @@ -79,7 +76,6 @@ _description: include: after-suspend-manual-keys/lock-screen certification-status=blocker after-suspend-manual-keys/super certification-status=blocker - after-suspend-manual-keys/battery-info certification-status=blocker after-suspend-manual-keys/brightness certification-status=blocker after-suspend-manual-keys/media-control certification-status=blocker after-suspend-manual-keys/mute certification-status=blocker diff --git a/units/mediacard/jobs.pxu b/units/mediacard/jobs.pxu index 01c0ad0..8ce16d6 100644 --- a/units/mediacard/jobs.pxu +++ b/units/mediacard/jobs.pxu @@ -156,6 +156,20 @@ _description: system under test has a memory card device plugged in prior to checkbox execution. It is intended for SRU automated testing. +plugin: shell +category_id: com.canonical.plainbox::mediacard +id: mediacard/sd-preinserted-server +estimated_duration: 30.0 +user: root +flags: preserve-cwd +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' +_summary: Automated test of SD Card reading & writing (udisk2) for servers +_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. + plugin: user-interact template-engine: jinja2 category_id: com.canonical.plainbox::mediacard diff --git a/units/mediacard/test-plan.pxu b/units/mediacard/test-plan.pxu index 58d3f07..2ef8a01 100644 --- a/units/mediacard/test-plan.pxu +++ b/units/mediacard/test-plan.pxu @@ -14,9 +14,6 @@ _name: Mediacard tests (Manual) _description: Mediacard tests (Manual) include: - mediacard/sd-insert certification-status=blocker - mediacard/sd-storage certification-status=blocker - mediacard/sd-remove certification-status=blocker mediacard/sdhc-insert certification-status=blocker mediacard/sdhc-storage certification-status=blocker mediacard/sdhc-remove certification-status=blocker @@ -34,9 +31,6 @@ unit: test plan _name: Mediacard tests (after suspend) _description: Mediacard tests (after suspend) include: - suspend/sd-insert-after-suspend certification-status=blocker - suspend/sd-storage-after-suspend certification-status=blocker - suspend/sd-remove-after-suspend certification-status=blocker suspend/sdhc-insert-after-suspend certification-status=blocker suspend/sdhc-storage-after-suspend certification-status=blocker suspend/sdhc-remove-after-suspend certification-status=blocker @@ -46,9 +40,6 @@ unit: test plan _name: Mediacard tests (certification blockers only) _description: Mediacard tests (certification blockers only) include: - mediacard/sd-insert certification-status=blocker - mediacard/sd-storage certification-status=blocker - mediacard/sd-remove certification-status=blocker mediacard/sdhc-insert certification-status=blocker mediacard/sdhc-storage certification-status=blocker mediacard/sdhc-remove certification-status=blocker @@ -58,9 +49,6 @@ unit: test plan _name: Mediacard tests (after suspend, certification blockers only) _description: Mediacard tests (after suspend, certification blockers only) include: - suspend/sd-insert-after-suspend certification-status=blocker - suspend/sd-storage-after-suspend certification-status=blocker - suspend/sd-remove-after-suspend certification-status=blocker suspend/sdhc-insert-after-suspend certification-status=blocker suspend/sdhc-storage-after-suspend certification-status=blocker suspend/sdhc-remove-after-suspend certification-status=blocker diff --git a/units/miscellanea/jobs.pxu b/units/miscellanea/jobs.pxu index cccec4c..ca726a6 100644 --- a/units/miscellanea/jobs.pxu +++ b/units/miscellanea/jobs.pxu @@ -434,3 +434,21 @@ user: root command: SOSFILE=`ls -t $PLAINBOX_SESSION_SHARE/sosreport*xz | head -1`; [ -e ${SOSFILE} ] && cat $SOSFILE _summary: Attach the baseline sosreport file + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 0.2 +id: miscellanea/cpuid +user: root +requires: cpuinfo.platform in ("i386", "x86_64") +command: cpuid.py +_summary: Attempt to identify CPU family (x86/amd64 only) +_description: Attempts to identify the CPU family of an x86/amd64 processor + +plugin: shell +category_id: com.canonical.plainbox::miscellanea +estimated_duration: 240 +id: miscellanea/fan_stress_reaction +command: fan_reaction_test.py +_summary: Check if system fans react to CPU load +_description: Check if system fans react to CPU load diff --git a/units/miscellanea/test-plan.pxu b/units/miscellanea/test-plan.pxu index 9c17b3a..b63d34f 100644 --- a/units/miscellanea/test-plan.pxu +++ b/units/miscellanea/test-plan.pxu @@ -34,6 +34,7 @@ include: miscellanea/oops certification-status=blocker miscellanea/oops_results.log miscellanea/dmitest_client + miscellanea/fan_stress_reaction bootstrap_include: fwts @@ -61,6 +62,7 @@ _description: Miscellaneous server tests (log checks, dmi data, etc) mandatory_include: miscellanea/submission-resources + miscellanea/cpuid miscellanea/get_make_and_model miscellanea/get_maas_version certification-status=blocker miscellanea/efi_boot_mode certification-status=blocker diff --git a/units/monitor/jobs.pxu b/units/monitor/jobs.pxu index 255d74c..54a86c9 100644 --- a/units/monitor/jobs.pxu +++ b/units/monitor/jobs.pxu @@ -7,12 +7,15 @@ flags: also-after-suspend-manual plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your VGA port. + This test will check your VGA port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a VGA port. 1. Connect a display (if not already connected) to the VGA port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the VGA-connected + screen in every mode? unit: template template-resource: graphics_card @@ -23,12 +26,15 @@ flags: also-after-suspend-manual plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your DVI port. + This test will check your DVI port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a DVI port. 1. Connect a display (if not already connected) to the DVI port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the DVI-connected + screen in every mode? unit: template template-resource: graphics_card @@ -39,12 +45,15 @@ flags: also-after-suspend-manual plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your DisplayPort port. + This test will check your DisplayPort port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a DisplayPort port. 1. Connect a display (if not already connected) to the DisplayPort port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the DisplayPort-connected + screen in every mode? unit: template template-resource: graphics_card @@ -55,12 +64,15 @@ flags: also-after-suspend-manual plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your HDMI port. + This test will check your HDMI port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a HDMI port. 1. Connect a display (if not already connected) to the HDMI port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the HDMI-connected + screen in every mode? unit: template template-resource: graphics_card @@ -70,12 +82,15 @@ requires: display.svideo == 'supported' plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your S-VIDEO port. + This test will check your S-VIDEO port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a S-VIDEO port. 1. Connect a display (if not already connected) to the S-VIDEO port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the S-VIDEO-connected + screen in every mode? unit: template template-resource: graphics_card @@ -85,12 +100,15 @@ requires: display.rca == 'supported' plugin: manual category_id: com.canonical.plainbox::monitor _purpose: - This test will check your RCA port. + This test will check your RCA port as a monitor interconnect for {vendor} {product}. _steps: Skip this test if your system does not have a RCA port. 1. Connect a display (if not already connected) to the RCA port on your system + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only _verification: - Was the desktop displayed correctly on both screens? + Was the desktop displayed correctly with {vendor} {product} on the RCA-connected + screen in every mode? unit: template template-resource: graphics_card @@ -212,6 +230,50 @@ _verification: Was the desktop displayed correctly with {vendor} {product} on the screen connected using a "USB Type-C to DisplayPort" adapter in every mode? +unit: template +template-resource: graphics_card +id: monitor/{index}_type-c_hdmi_{product_slug} +template-filter: graphics_card.prime_gpu_offload == 'Off' +imports: from com.canonical.plainbox import manifest +requires: manifest.has_usb_type_c == 'True' +flags: also-after-suspend-manual +estimated_duration: 15.0 +plugin: manual +category_id: com.canonical.plainbox::monitor +_summary: Display connected via HDMI using an USB Type-C port for {vendor} {product} +_purpose: + This test will check the connection of a screen using a "USB Type-C to HDMI" adapter for {vendor} {product}. +_steps: + 1. Connect a display (if not already connected) to the USB Type-C port on + your system using a "USB Type-C to HDMI" adapter + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only +_verification: + Was the desktop displayed correctly with {vendor} {product} on the screen + connected using a "USB Type-C to HDMI" adapter in every mode? + +unit: template +template-resource: graphics_card +id: monitor/{index}_type-c_vga_{product_slug} +template-filter: graphics_card.prime_gpu_offload == 'Off' +imports: from com.canonical.plainbox import manifest +requires: manifest.has_usb_type_c == 'True' +flags: also-after-suspend-manual +estimated_duration: 15.0 +plugin: manual +category_id: com.canonical.plainbox::monitor +_summary: Display connected via VGA using an USB Type-C port for {vendor} {product} +_purpose: + This test will check the connection of a screen using a "USB Type-C to VGA" adapter for {vendor} {product}. +_steps: + 1. Connect a display (if not already connected) to the USB Type-C port on + your system using a "USB Type-C to VGA" adapter + 2. Switch display modes between in your Display Settings, check if it can be + set to mirrored, extended, displayed on external or onboard only +_verification: + Was the desktop displayed correctly with {vendor} {product} on the screen + connected using a "USB Type-C to VGA" adapter in every mode? + id: monitor/type-c-to-hdmi imports: from com.canonical.plainbox import manifest requires: manifest.has_usb_type_c == 'True' diff --git a/units/monitor/test-plan.pxu b/units/monitor/test-plan.pxu index fbed317..2e635cf 100644 --- a/units/monitor/test-plan.pxu +++ b/units/monitor/test-plan.pxu @@ -27,19 +27,20 @@ include: monitor/1_powersaving_.* certification-status=blocker monitor/1_dim_brightness_.* certification-status=blocker monitor/1_displayport_.* certification-status=blocker - monitor/1_type-c_displayport_.* certification-status=blocker - monitor/type-c-to-hdmi certification-status=blocker - monitor/type-c-to-vga certification-status=blocker audio/1_playback_displayport_.* certification-status=blocker + monitor/1_type-c_displayport_.* certification-status=blocker audio/1_playback_type-c_displayport_.* certification-status=blocker + monitor/1_type-c_hdmi_.* certification-status=blocker + audio/1_playback_type-c_hdmi_.* certification-status=blocker + monitor/1_type-c_vga_.* certification-status=blocker monitor/1_dvi_.* certification-status=blocker monitor/1_hdmi_.* certification-status=blocker audio/1_playback_hdmi_.* certification-status=blocker monitor/1_thunderbolt_.* certification-status=blocker - monitor/1_thunderbolt3_.* certification-status=non-blocker audio/1_playback_thunderbolt_.* certification-status=blocker - audio/1_playback_thunderbolt3_.* certification-status=non-blocker thunderbolt/daisy-chain certification-status=blocker + monitor/1_thunderbolt3_.* certification-status=non-blocker + audio/1_playback_thunderbolt3_.* certification-status=non-blocker thunderbolt3/daisy-chain certification-status=non-blocker monitor/1_vga_.* certification-status=blocker monitor/1_multi-head_.* certification-status=blocker @@ -52,25 +53,26 @@ _name: Monitor tests (after manual suspend, integrated GPU) (Manual) _description: Monitor tests (after manual suspend, integrated GPU) (Manual) include: - (after-suspend-manual-)?monitor/1_powersaving_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_dim_brightness_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_type-c_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/type-c-to-hdmi certification-status=blocker - (after-suspend-manual-)?monitor/type-c-to-vga certification-status=blocker - (after-suspend-manual-)?audio/1_playback_displayport_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_type-c_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_dvi_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_hdmi_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_hdmi_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_thunderbolt_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_thunderbolt3_.* certification-status=non-blocker - (after-suspend-manual-)?audio/1_playback_thunderbolt_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_thunderbolt3_.* certification-status=non-blocker - (after-suspend-manual-)?thunderbolt/daisy-chain certification-status=blocker - (after-suspend-manual-)?thunderbolt3/daisy-chain certification-status=non-blocker - (after-suspend-manual-)?monitor/1_vga_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_multi-head_.* certification-status=blocker + after-suspend-manual-monitor/1_powersaving_.* certification-status=blocker + after-suspend-manual-monitor/1_dim_brightness_.* certification-status=blocker + after-suspend-manual-monitor/1_displayport_.* certification-status=blocker + after-suspend-manual-audio/1_playback_displayport_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_displayport_.* certification-status=blocker + after-suspend-manual-audio/1_playback_type-c_displayport_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-audio/1_playback_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_vga_.* certification-status=blocker + after-suspend-manual-monitor/1_dvi_.* certification-status=blocker + after-suspend-manual-monitor/1_hdmi_.* certification-status=blocker + after-suspend-manual-audio/1_playback_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/1_thunderbolt_.* certification-status=blocker + after-suspend-manual-audio/1_playback_thunderbolt_.* certification-status=blocker + after-suspend-manual-thunderbolt/daisy-chain certification-status=blocker + after-suspend-manual-monitor/1_thunderbolt3_.* certification-status=non-blocker + after-suspend-manual-audio/1_playback_thunderbolt3_.* certification-status=non-blocker + after-suspend-manual-thunderbolt3/daisy-chain certification-status=non-blocker + after-suspend-manual-monitor/1_vga_.* certification-status=blocker + after-suspend-manual-monitor/1_multi-head_.* certification-status=blocker bootstrap_include: graphics_card @@ -105,21 +107,63 @@ include: monitor/2_powersaving_.* certification-status=blocker monitor/2_dim_brightness_.* certification-status=blocker monitor/2_displayport_.* certification-status=blocker - monitor/2_type-c_displayport_.* certification-status=blocker audio/2_playback_displayport_.* certification-status=blocker + monitor/2_type-c_displayport_.* certification-status=blocker audio/2_playback_type-c_displayport_.* certification-status=blocker + monitor/2_type-c_hdmi_.* certification-status=blocker + audio/2_playback_type-c_hdmi_.* certification-status=blocker + monitor/2_type-c_vga_.* certification-status=blocker monitor/2_dvi_.* certification-status=blocker monitor/2_hdmi_.* certification-status=blocker audio/2_playback_hdmi_.* certification-status=blocker monitor/2_thunderbolt_.* certification-status=blocker - monitor/2_thunderbolt3_.* certification-status=non-blocker audio/2_playback_thunderbolt_.* certification-status=blocker + monitor/2_thunderbolt3_.* certification-status=non-blocker audio/2_playback_thunderbolt3_.* certification-status=non-blocker monitor/2_vga_.* certification-status=blocker monitor/2_multi-head_.* certification-status=blocker bootstrap_include: graphics_card + +id: after-suspend-monitor-discrete-gpu-cert-full +unit: test plan +_name: Monitor tests (after suspend, integrated GPU) +_description: Monitor tests (after suspend, integrated GPU) +include: +nested_part: + after-suspend-manual-monitor-discrete-gpu-cert-manual + + +id: after-suspend-manual-monitor-discrete-gpu-cert-manual +unit: test plan +_name: Monitor tests (after manual suspend, discrete GPU) (Manual) +_description: + Monitor tests (after manual suspend, discrete GPU) (Manual) +include: + after-suspend-manual-monitor/2_powersaving_.* certification-status=blocker + after-suspend-manual-monitor/2_dim_brightness_.* certification-status=blocker + after-suspend-manual-monitor/2_displayport_.* certification-status=blocker + after-suspend-manual-audio/2_playback_displayport_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_displayport_.* certification-status=blocker + after-suspend-manual-audio/2_playback_type-c_displayport_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-audio/2_playback_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_vga_.* certification-status=blocker + after-suspend-manual-monitor/2_dvi_.* certification-status=blocker + after-suspend-manual-monitor/2_hdmi_.* certification-status=blocker + after-suspend-manual-audio/2_playback_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/2_thunderbolt_.* certification-status=blocker + after-suspend-manual-audio/2_playback_thunderbolt_.* certification-status=blocker + after-suspend-manual-thunderbolt/daisy-chain certification-status=blocker + after-suspend-manual-monitor/2_thunderbolt3_.* certification-status=non-blocker + after-suspend-manual-audio/2_playback_thunderbolt3_.* certification-status=non-blocker + after-suspend-manual-thunderbolt3/daisy-chain certification-status=non-blocker + after-suspend-manual-monitor/2_vga_.* certification-status=blocker + after-suspend-manual-monitor/2_multi-head_.* certification-status=blocker +bootstrap_include: + graphics_card + id: monitor-discrete-gpu-cert-automated unit: test plan _name: Monitor tests (discrete GPU) (Automated) @@ -138,11 +182,12 @@ include: monitor/1_powersaving_.* certification-status=blocker monitor/1_dim_brightness_.* certification-status=blocker monitor/1_displayport_.* certification-status=blocker - monitor/1_type-c_displayport_.* certification-status=blocker - monitor/type-c-to-hdmi certification-status=blocker - monitor/type-c-to-vga certification-status=blocker audio/1_playback_displayport_.* certification-status=blocker + monitor/1_type-c_displayport_.* certification-status=blocker audio/1_playback_type-c_displayport_.* certification-status=blocker + monitor/1_type-c_hdmi_.* certification-status=blocker + audio/1_playback_type-c_hdmi_.* certification-status=blocker + monitor/1_type-c_vga_.* certification-status=blocker monitor/1_dvi_.* certification-status=blocker monitor/1_hdmi_.* certification-status=blocker audio/1_playback_hdmi_.* certification-status=blocker @@ -159,22 +204,23 @@ unit: test plan _name: Monitor tests (after manual suspend, integrated GPU, certification blockers only) _description: Monitor tests (after manual suspend, integrated GPU, certification blockers only) include: - (after-suspend-manual-)?monitor/1_powersaving_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_dim_brightness_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_type-c_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/type-c-to-hdmi certification-status=blocker - (after-suspend-manual-)?monitor/type-c-to-vga certification-status=blocker - (after-suspend-manual-)?audio/1_playback_displayport_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_type-c_displayport_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_dvi_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_hdmi_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_hdmi_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_thunderbolt_.* certification-status=blocker - (after-suspend-manual-)?audio/1_playback_thunderbolt_.* certification-status=blocker - (after-suspend-manual-)?thunderbolt/daisy-chain certification-status=blocker - (after-suspend-manual-)?monitor/1_vga_.* certification-status=blocker - (after-suspend-manual-)?monitor/1_multi-head_.* certification-status=blocker + after-suspend-manual-monitor/1_powersaving_.* certification-status=blocker + after-suspend-manual-monitor/1_dim_brightness_.* certification-status=blocker + after-suspend-manual-monitor/1_displayport_.* certification-status=blocker + after-suspend-manual-audio/1_playback_displayport_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_displayport_.* certification-status=blocker + after-suspend-manual-audio/1_playback_type-c_displayport_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-audio/1_playback_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/1_type-c_vga_.* certification-status=blocker + after-suspend-manual-monitor/1_dvi_.* certification-status=blocker + after-suspend-manual-monitor/1_hdmi_.* certification-status=blocker + after-suspend-manual-audio/1_playback_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/1_thunderbolt_.* certification-status=blocker + after-suspend-manual-audio/1_playback_thunderbolt_.* certification-status=blocker + after-suspend-manual-thunderbolt/daisy-chain certification-status=blocker + after-suspend-manual-monitor/1_vga_.* certification-status=blocker + after-suspend-manual-monitor/1_multi-head_.* certification-status=blocker bootstrap_include: graphics_card @@ -186,9 +232,12 @@ include: monitor/2_powersaving_.* certification-status=blocker monitor/2_dim_brightness_.* certification-status=blocker monitor/2_displayport_.* certification-status=blocker - monitor/2_type-c_displayport_.* certification-status=blocker audio/2_playback_displayport_.* certification-status=blocker + monitor/2_type-c_displayport_.* certification-status=blocker audio/2_playback_type-c_displayport_.* certification-status=blocker + monitor/2_type-c_hdmi_.* certification-status=blocker + audio/2_playback_type-c_hdmi_.* certification-status=blocker + monitor/2_type-c_vga_.* certification-status=blocker monitor/2_dvi_.* certification-status=blocker monitor/2_hdmi_.* certification-status=blocker audio/2_playback_hdmi_.* certification-status=blocker @@ -198,3 +247,30 @@ include: monitor/2_multi-head_.* certification-status=blocker bootstrap_include: graphics_card + +id: after-suspend-manual-monitor-discrete-gpu-cert-blockers +unit: test plan +_name: Monitor tests (after manual suspend, discrete GPU, certification blockers only) +_description: Monitor tests (after manual suspend, discrete GPU, certification blockers only) +include: + after-suspend-manual-monitor/2_powersaving_.* certification-status=blocker + after-suspend-manual-monitor/2_dim_brightness_.* certification-status=blocker + after-suspend-manual-monitor/2_displayport_.* certification-status=blocker + after-suspend-manual-audio/2_playback_displayport_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_displayport_.* certification-status=blocker + after-suspend-manual-audio/2_playback_type-c_displayport_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-audio/2_playback_type-c_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/2_type-c_vga_.* certification-status=blocker + after-suspend-manual-monitor/2_dvi_.* certification-status=blocker + after-suspend-manual-monitor/2_hdmi_.* certification-status=blocker + after-suspend-manual-audio/2_playback_hdmi_.* certification-status=blocker + after-suspend-manual-monitor/2_thunderbolt_.* certification-status=blocker + after-suspend-manual-audio/2_playback_thunderbolt_.* certification-status=blocker + after-suspend-manual-thunderbolt/daisy-chain certification-status=blocker + after-suspend-manual-monitor/2_vga_.* certification-status=blocker + after-suspend-manual-monitor/2_multi-head_.* certification-status=blocker +bootstrap_include: + graphics_card + + diff --git a/units/networking/jobs.pxu b/units/networking/jobs.pxu index 360aaf2..c5f5c9f 100644 --- a/units/networking/jobs.pxu +++ b/units/networking/jobs.pxu @@ -14,7 +14,8 @@ category_id: com.canonical.plainbox::networking id: networking/info_device{__index__}_{interface} _summary: Network Information of device {__index__} ({interface}) estimated_duration: 1.0 -command: network_info {interface} | zenity --text-info --title="{interface}" +command: + network_device_info.py info NETWORK --interface {interface} | zenity --text-info --title="{interface}" _description: PURPOSE: This test will check the network device {__index__} ({interface}) diff --git a/units/networking/test-plan.pxu b/units/networking/test-plan.pxu index 5a7da04..1abee61 100644 --- a/units/networking/test-plan.pxu +++ b/units/networking/test-plan.pxu @@ -35,6 +35,7 @@ include: networking/gateway_ping certification-status=blocker networking/info_device.* certification-status=blocker networking/ntp certification-status=blocker + ethernet/hotplug-.* certification-status=blocker bootstrap_include: device diff --git a/units/optical/jobs.pxu b/units/optical/jobs.pxu index 707c02d..53a2877 100644 --- a/units/optical/jobs.pxu +++ b/units/optical/jobs.pxu @@ -16,6 +16,7 @@ id: optical/read_{name} estimated_duration: 120.0 user: root command: optical_read_test /dev/{name} +flags: also-after-suspend-manual _description: PURPOSE: This test will check your {product} device's ability to read CD media @@ -164,6 +165,7 @@ requires: optical_drive_{name}.bd_read == "supported" user: root command: optical_read_test /dev/{name} +flags: also-after-suspend-manual _description: PURPOSE: This test will check your {product} device's ability to read Blu-Ray (BD) media diff --git a/units/optical/test-plan.pxu b/units/optical/test-plan.pxu index 2e53d79..f927f00 100644 --- a/units/optical/test-plan.pxu +++ b/units/optical/test-plan.pxu @@ -31,6 +31,17 @@ include: bootstrap_include: device +id: after-suspend-optical-cert-full +unit: test plan +_name: Optical drive tests (after suspend) +_description: + Optical drive tests (after suspend) +include: + optical/detect certification-status=blocker + after-suspend-manual-optical/read_.* certification-status=blocker + after-suspend-manual-optical/bluray-read_.* certification-status=blocker +bootstrap_include: + device id: optical-cert-blockers unit: test plan @@ -42,3 +53,15 @@ include: optical/bluray-read_.* certification-status=blocker bootstrap_include: device + +id: after-suspend-optical-cert-blockers +unit: test plan +_name: Optical drive tests (certification blockers only) +_description: Optical drive tests (certification blockers only) +include: + optical/detect certification-status=blocker + after-suspend-manual-optical/read_.* certification-status=blocker + after-suspend-manual-optical/bluray-read_.* certification-status=blocker +bootstrap_include: + device + diff --git a/units/suspend/suspend-graphics.pxu b/units/suspend/suspend-graphics.pxu index be820a7..d4fe923 100644 --- a/units/suspend/suspend-graphics.pxu +++ b/units/suspend/suspend-graphics.pxu @@ -14,7 +14,7 @@ command: unit: template template-resource: graphics_card template-filter: graphics_card.prime_gpu_offload == 'Off' -plugin: user-interact-verify +plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend_after_switch_to_card_{product_slug}_auto requires: @@ -24,27 +24,12 @@ after: graphics/{index}_auto_switch_card_{product_slug} user: root environ: PLAINBOX_SESSION_SHARE command: - if type -P fwts >/dev/null; then - echo "Calling fwts" - 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 + if [[ -v SNAP ]]; then + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SNAP/usr/lib/fwts" fi -estimated_duration: 90.0 -_summary: Test suspend/resume after switching to {vendor} {product} -_description: - PURPOSE: - This test will check suspend and resume after switching to {vendor} {product} graphics card. - STEPS: - 1. Ensure you have switched to {vendor} {product} graphics card. - 2. Click "Test" and your system will suspend for about 30 - 60 seconds - 3. Observe the Power LED to see if it blinks or changes color during suspend - 4. If your system does not wake itself up after 60 seconds, please press the power button momentarily to wake the system manually - 5. If your system fails to wake at all and must be rebooted, restart System Testing after reboot and mark this test as Failed - VERIFICATION: - Did your system suspend and resume correctly after switching to {vendor} {product} graphics card? - (NOTE: Please only consider whether the system successfully suspended and resumed. Power/Suspend LED verification will occur after this test is completed.) + 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 +estimated_duration: 1m30s +_summary: Test auto suspend/resume after switching to {vendor} {product} unit: template template-resource: graphics_card @@ -72,7 +57,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' template-engine: jinja2 plugin: manual category_id: com.canonical.plainbox::suspend -id: suspend/{{ index }}_display_after_suspend_{{ product_slug }}_auto +id: suspend/{{ index }}_display_after_suspend_{{ product_slug }}_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -94,7 +79,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' template-engine: jinja2 plugin: user-interact-verify category_id: com.canonical.plainbox::suspend -id: suspend/{{ index }}_cycle_resolutions_after_suspend_{{ product_slug }}_auto +id: suspend/{{ index }}_cycle_resolutions_after_suspend_{{ product_slug }}_graphics requires: package.name == 'xorg' depends: {%- if gpu_count > "1" %} @@ -120,7 +105,7 @@ template-filter: graphics_card.prime_gpu_offload == 'Off' plugin: attachment category_id: com.canonical.plainbox::suspend id: suspend/{index}_xrandr_screens_after_suspend.tar.gz_auto -depends: suspend/{index}_cycle_resolutions_after_suspend_{product_slug}_auto +depends: suspend/{index}_cycle_resolutions_after_suspend_{product_slug}_graphics command: [ -f $PLAINBOX_SESSION_SHARE/{index}_xrandr_screens_after_suspend.tgz ] && cat $PLAINBOX_SESSION_SHARE/{index}_xrandr_screens_after_suspend.tgz _description: This attaches screenshots from the suspend/cycle_resolutions_after_suspend test to the results submission. @@ -150,7 +135,7 @@ template-resource: graphics_card template-engine: jinja2 plugin: user-interact-verify category_id: com.canonical.plainbox::suspend -id: suspend/{{ index }}_glxgears_after_suspend_{{ product_slug }}_auto +id: suspend/{{ index }}_glxgears_after_suspend_{{ product_slug }}_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto @@ -176,7 +161,7 @@ _description: unit: template template-resource: graphics_card template-engine: jinja2 -id: suspend/{{ index }}_video_after_suspend_{{ product_slug }}_auto +id: suspend/{{ index }}_video_after_suspend_{{ product_slug }}_graphics depends: {%- if gpu_count > "1" %} suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto diff --git a/units/thunderbolt/jobs.pxu b/units/thunderbolt/jobs.pxu index 14fa3f8..74481fe 100644 --- a/units/thunderbolt/jobs.pxu +++ b/units/thunderbolt/jobs.pxu @@ -5,6 +5,11 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' estimated_duration: 20.0 command: removable_storage_watcher insert --timeout 40 scsi +_siblings: [ + { "id": "after-suspend-manual-thunderbolt/insert", + "_summary": "thunderbolt/insert after suspend", + "depends": "suspend/suspend_advanced"} + ] _summary: Storage insert detection on Thunderbolt _description: PURPOSE: @@ -27,6 +32,11 @@ requires: manifest.has_thunderbolt == 'True' depends: thunderbolt/insert estimated_duration: 45.0 command: removable_storage_test -s 268400000 scsi +_siblings: [ + { "id": "after-suspend-manual-thunderbolt/storage-test", + "_summary": "thunderbolt/storage-test after suspend", + "depends": "after-suspend-manual-thunderbolt/insert"} + ] _summary: Storage test on Thunderbolt _description: This is an automated test which performs read/write operations on an attached @@ -41,6 +51,11 @@ depends: thunderbolt/insert estimated_duration: 10.0 command: removable_storage_watcher remove scsi _summary: Storage removal detection on Thunderbolt +_siblings: [ + { "id": "after-suspend-manual-thunderbolt/remove", + "_summary": "thunderbolt/remove after suspend", + "depends": "after-suspend-manual-thunderbolt/insert"} + ] _description: PURPOSE: This test will check the system can detect the removal of a Thunderbolt HDD @@ -82,6 +97,11 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' estimated_duration: 20.0 command: removable_storage_watcher insert --timeout 40 scsi +_siblings: [ + { "id": "after-suspend-manual-thunderbolt3/insert", + "_summary": "thunderbolt3/insert after suspend", + "depends": "suspend/suspend_advanced"} + ] _summary: Storage insert detection on Thunderbolt 3 port _description: PURPOSE: @@ -104,6 +124,11 @@ requires: manifest.has_thunderbolt3 == 'True' depends: thunderbolt3/insert estimated_duration: 45.0 command: removable_storage_test -s 268400000 scsi +_siblings: [ + { "id": "after-suspend-manual-thunderbolt3/storage-test", + "_summary": "thunderbolt3/storage-test after suspend", + "depends": "after-suspend-manual-thunderbolt3/insert"} + ] _summary: Storage test on Thunderbolt 3 _description: This is an automated test which performs read/write operations on an attached @@ -117,6 +142,11 @@ requires: manifest.has_thunderbolt3 == 'True' depends: thunderbolt3/insert estimated_duration: 10.0 command: removable_storage_watcher remove scsi +_siblings: [ + { "id": "after-suspend-manual-thunderbolt3/remove", + "_summary": "thunderbolt3/remove after suspend", + "depends": "after-suspend-manual-thunderbolt3/insert"} + ] _summary: Storage removal detection on Thunderbolt 3 port _description: PURPOSE: diff --git a/units/thunderbolt/test-plan.pxu b/units/thunderbolt/test-plan.pxu index a0efcda..75aa0ac 100644 --- a/units/thunderbolt/test-plan.pxu +++ b/units/thunderbolt/test-plan.pxu @@ -8,18 +8,27 @@ nested_part: com.canonical.certification::thunderbolt-cert-manual com.canonical.certification::thunderbolt-cert-automated +id: after-suspend-thunderbolt-cert-full +unit: test plan +_name: Thunderbolt tests +_description: + Thunderbolt tests +include: +nested_part: + com.canonical.certification::after-suspend-thunderbolt-cert-manual + id: thunderbolt-cert-manual unit: test plan _name: Thunderbolt tests (Manual) _description: Thunderbolt tests (Manual) include: - thunderbolt/insert certification-status=non-blocker - thunderbolt/storage-test certification-status=non-blocker - thunderbolt/remove certification-status=non-blocker - thunderbolt3/insert certification-status=blocker - thunderbolt3/storage-test certification-status=blocker - thunderbolt3/remove certification-status=blocker + thunderbolt/insert certification-status=blocker + thunderbolt/storage-test certification-status=blocker + thunderbolt/remove certification-status=blocker + thunderbolt3/insert certification-status=non-blocker + thunderbolt3/storage-test certification-status=non-blocker + thunderbolt3/remove certification-status=non-blocker id: thunderbolt-cert-automated unit: test plan @@ -34,6 +43,30 @@ unit: test plan _name: Thunderbolt tests (certification blockers only) _description: Thunderbolt tests (certification blockers only) include: - thunderbolt3/insert certification-status=blocker - thunderbolt3/storage-test certification-status=blocker - thunderbolt3/remove certification-status=blocker + thunderbolt/insert certification-status=blocker + thunderbolt/storage-test certification-status=blocker + thunderbolt/remove certification-status=blocker + +id: after-suspend-thunderbolt-cert-manual +unit: test plan +_name: Thunderbolt tests (after suspend Manual) +_description: + Thunderbolt tests (after suspend Manual) +include: + after-suspend-manual-thunderbolt/insert certification-status=blocker + after-suspend-manual-thunderbolt/storage-test certification-status=blocker + after-suspend-manual-thunderbolt/remove certification-status=blocker + after-suspend-manual-thunderbolt3/insert certification-status=non-blocker + after-suspend-manual-thunderbolt3/storage-test certification-status=non-blocker + after-suspend-manual-thunderbolt3/remove certification-status=non-blocker + +id: after-suspend-thunderbolt-cert-blockers +unit: test plan +_name: Thunderbolt tests (after suspend - certification blockers only) +_description: Thunderbolt tests (after suspend - certification blockers only) +include: + after-suspend-manual-thunderbolt/insert certification-status=blocker + after-suspend-manual-thunderbolt/storage-test certification-status=blocker + after-suspend-manual-thunderbolt/remove certification-status=blocker + + diff --git a/units/touchpad/test-plan.pxu b/units/touchpad/test-plan.pxu index 20da6c5..188e7f2 100644 --- a/units/touchpad/test-plan.pxu +++ b/units/touchpad/test-plan.pxu @@ -17,15 +17,11 @@ include: touchpad/basic certification-status=blocker touchpad/palm-rejection certification-status=non-blocker touchpad/continuous-move certification-status=blocker - touchpad/horizontal certification-status=blocker - touchpad/vertical certification-status=blocker touchpad/singletouch-selection certification-status=blocker touchpad/drag-and-drop certification-status=blocker - touchpad/multitouch-manual certification-status=blocker touchpad/multitouch-rightclick certification-status=blocker touchpad/multitouch-horizontal certification-status=blocker touchpad/multitouch-vertical certification-status=blocker - touchpad/multitouch-dash certification-status=non-blocker id: touchpad-cert-automated unit: test plan @@ -45,15 +41,11 @@ include: touchpad/detected-as-mouse-after-suspend certification-status=blocker touchpad/palm-rejection-after-suspend certification-status=non-blocker touchpad/continuous-move-after-suspend certification-status=blocker - touchpad/horizontal-after-suspend certification-status=blocker - touchpad/vertical-after-suspend certification-status=blocker touchpad/singletouch-selection-after-suspend certification-status=blocker touchpad/drag-and-drop-after-suspend certification-status=blocker - touchpad/multitouch-manual-after-suspend certification-status=blocker touchpad/multitouch-rightclick-after-suspend certification-status=blocker touchpad/multitouch-horizontal-after-suspend certification-status=blocker touchpad/multitouch-vertical-after-suspend certification-status=blocker - touchpad/multitouch-dash-after-suspend certification-status=non-blocker id: touchpad-cert-blockers unit: test plan @@ -63,11 +55,8 @@ include: touchpad/basic certification-status=blocker touchpad/detected-as-mouse certification-status=blocker touchpad/continuous-move certification-status=blocker - touchpad/horizontal certification-status=blocker - touchpad/vertical certification-status=blocker touchpad/singletouch-selection certification-status=blocker touchpad/drag-and-drop certification-status=blocker - touchpad/multitouch-manual certification-status=blocker touchpad/multitouch-rightclick certification-status=blocker touchpad/multitouch-horizontal certification-status=blocker touchpad/multitouch-vertical certification-status=blocker @@ -80,11 +69,8 @@ include: touchpad/basic-after-suspend certification-status=blocker touchpad/detected-as-mouse-after-suspend certification-status=blocker touchpad/continuous-move-after-suspend certification-status=blocker - touchpad/horizontal-after-suspend certification-status=blocker - touchpad/vertical-after-suspend certification-status=blocker touchpad/singletouch-selection-after-suspend certification-status=blocker touchpad/drag-and-drop-after-suspend certification-status=blocker - touchpad/multitouch-manual-after-suspend certification-status=blocker touchpad/multitouch-rightclick-after-suspend certification-status=blocker touchpad/multitouch-horizontal-after-suspend certification-status=blocker touchpad/multitouch-vertical-after-suspend certification-status=blocker diff --git a/units/touchscreen/jobs.pxu b/units/touchscreen/jobs.pxu index 225c168..de55c5d 100644 --- a/units/touchscreen/jobs.pxu +++ b/units/touchscreen/jobs.pxu @@ -59,6 +59,7 @@ _description: 2. Drag and drop the object in a different location VERIFICATION: Does drag and drop work? +flags: also-after-suspend-manual plugin: user-interact-verify category_id: com.canonical.plainbox::touchscreen @@ -76,6 +77,7 @@ _description: 2. Using 2 fingers, resize the blue square until it turns green, then release it. VERIFICATION: Did the blue square change size following the gesture? +flags: also-after-suspend-manual plugin: user-interact-verify category_id: com.canonical.plainbox::touchscreen @@ -93,6 +95,7 @@ _description: 2. Using 2 fingers, rotate the blue square until it turns green, then release it. VERIFICATION: Did the blue square rotate following the gesture? +flags: also-after-suspend-manual plugin: manual category_id: com.canonical.plainbox::touchscreen @@ -158,6 +161,7 @@ command: EXIT=$? {% endif %} exit $EXIT +flags: also-after-suspend-manual plugin: user-interact-verify template-engine: jinja2 @@ -192,3 +196,4 @@ command: EXIT=$? {% endif %} exit $EXIT +flags: also-after-suspend-manual diff --git a/units/touchscreen/test-plan.pxu b/units/touchscreen/test-plan.pxu index 1682136..cfe9907 100644 --- a/units/touchscreen/test-plan.pxu +++ b/units/touchscreen/test-plan.pxu @@ -5,8 +5,8 @@ _description: Touchscreen tests include: nested_part: - com.canonical.certification::touchscreen-cert-manual - com.canonical.certification::touchscreen-cert-automated + touchscreen-cert-manual + touchscreen-cert-automated id: touchscreen-cert-manual unit: test plan @@ -19,7 +19,6 @@ include: touchscreen/multitouch-rotate touchscreen/3-touch-tap certification-status=blocker touchscreen/4-touch-tap certification-status=blocker - touchscreen/multitouch-dash certification-status=non-blocker id: touchscreen-cert-automated unit: test plan @@ -28,6 +27,34 @@ _description: Touchscreen tests (Automated) include: +id: after-suspend-touchscreen-cert-full +unit: test plan +_name: Touchscreen tests +_description: + Touchscreen tests +include: +nested_part: + after-suspend-touchscreen-cert-manual + after-suspend-touchscreen-cert-automated + +id: after-suspend-touchscreen-cert-manual +unit: test plan +_name: Touchscreen tests (Manual) +_description: + Touchscreen tests (Manual) +include: + after-suspend-manual-touchscreen/drag-n-drop certification-status=blocker + after-suspend-manual-touchscreen/multitouch-zoom certification-status=blocker + after-suspend-manual-touchscreen/multitouch-rotate + after-suspend-manual-touchscreen/3-touch-tap certification-status=blocker + after-suspend-manual-touchscreen/4-touch-tap certification-status=blocker + +id: after-suspend-touchscreen-cert-automated +unit: test plan +_name: Touchscreen tests (Automated) +_description: + Touchscreen tests (Automated) +include: id: touchscreen-cert-blockers unit: test plan @@ -38,3 +65,13 @@ include: touchscreen/multitouch-zoom certification-status=blocker touchscreen/3-touch-tap certification-status=blocker touchscreen/4-touch-tap certification-status=blocker + +id: after-suspend-touchscreen-cert-blockers +unit: test plan +_name: Touchscreen tests (after suspend, certification blockers only) +_description: Touchscreen tests (after suspend, certification blockers only) +include: + after-suspend-manual-touchscreen/drag-n-drop certification-status=blocker + after-suspend-manual-touchscreen/multitouch-zoom certification-status=blocker + after-suspend-manual-touchscreen/3-touch-tap certification-status=blocker + after-suspend-manual-touchscreen/4-touch-tap certification-status=blocker diff --git a/units/usb/test-plan.pxu b/units/usb/test-plan.pxu index 63c62b8..e6a9165 100644 --- a/units/usb/test-plan.pxu +++ b/units/usb/test-plan.pxu @@ -102,6 +102,7 @@ include: after-suspend-manual-usb-c/insert certification-status=blocker after-suspend-manual-usb-c/storage-automated certification-status=blocker after-suspend-manual-usb-c/remove certification-status=blocker + after-suspend-manual-usb-c/c-to-ethernet-adapter-insert id: usb-cert-blockers unit: test plan diff --git a/units/usb/usb-c.pxu b/units/usb/usb-c.pxu index cf7c5f6..0d709e2 100644 --- a/units/usb/usb-c.pxu +++ b/units/usb/usb-c.pxu @@ -189,6 +189,7 @@ estimated_duration: 30 id: usb-c/c-to-ethernet-adapter-insert plugin: user-interact +flags: also-after-suspend-manual category_id: com.canonical.plainbox::usb imports: from com.canonical.plainbox import manifest requires: manifest.has_usb_type_c == 'True' diff --git a/units/usb/usb.pxu b/units/usb/usb.pxu index 99623fb..75cf3c9 100644 --- a/units/usb/usb.pxu +++ b/units/usb/usb.pxu @@ -7,7 +7,7 @@ estimated_duration: 1.0 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 + checkbox-support-lsusb -f $SNAP/checkbox-runtime/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 | sort || echo "No USB devices were detected" >&2 fi diff --git a/units/wireless/jobs.pxu b/units/wireless/jobs.pxu index b3d6604..a997285 100644 --- a/units/wireless/jobs.pxu +++ b/units/wireless/jobs.pxu @@ -1,3 +1,15 @@ + +id: wireless/detect +category_id: com.canonical.plainbox::wireless +plugin: shell +flags: also-after-suspend +estimated_duration: 2.0 +_summary: Detect if at least one Wireless LAN device is detected +imports: from com.canonical.plainbox import manifest +requires: manifest.has_wlan_adapter == 'True' +command: + network_device_info.py detect WIRELESS + unit: template template-resource: device template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' @@ -18,6 +30,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -39,6 +52,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -60,6 +74,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -81,6 +96,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -102,6 +118,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -124,6 +141,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' unit: template template-resource: device @@ -146,6 +164,7 @@ requires: {%- if __on_ubuntucore__ %} connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' plugin: user-interact-verify category_id: com.canonical.plainbox::wireless diff --git a/units/wireless/manifest.pxu b/units/wireless/manifest.pxu new file mode 100644 index 0000000..ed92bf6 --- /dev/null +++ b/units/wireless/manifest.pxu @@ -0,0 +1,4 @@ +unit: manifest entry +id: has_wlan_adapter +_name: A WLAN Adapter +value-type: bool diff --git a/units/wireless/wireless-connection-netplan.pxu b/units/wireless/wireless-connection-netplan.pxu new file mode 100644 index 0000000..6811b43 --- /dev/null +++ b/units/wireless/wireless-connection-netplan.pxu @@ -0,0 +1,139 @@ +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_open_ac_np_{{ interface }} +_summary: + Connect to unencrypted 802.11ac Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to insecure 802.11ac AP using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $OPEN_AC_SSID -d +user: root +environ: LD_LIBRARY_PATH OPEN_AC_SSID NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ac == 'supported' +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_open_bg_np_{{ interface }} +_summary: + Connect to unencrypted 802.11b/g Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to insecure 802.11b/g AP using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $OPEN_BG_SSID -d +user: root +environ: LD_LIBRARY_PATH OPEN_BG_SSID NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +#requires: +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_open_n_np_{{ interface }} +_summary: + Connect to unencrypted 802.11n Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to insecure 802.11n AP using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $OPEN_N_SSID -d +user: root +environ: LD_LIBRARY_PATH OPEN_N_SSID NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +#requires: +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_wpa_ac_np_{{ interface }} +_summary: + Connect to WPA-encrypted 802.11ac Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to 802.11ac AP with wpa security using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $WPA_AC_SSID -k $WPA_AC_PSK -d +user: root +environ: LD_LIBRARY_PATH WPA_AC_SSID WPA_AC_PSK NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ac == 'supported' +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_wpa_bg_np_{{ interface }} +_summary: + Connect to WPA-encrypted 802.11b/g Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to 802.11b/g AP with wpa security using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $WPA_BG_SSID -k $WPA_BG_PSK -d +user: root +environ: LD_LIBRARY_PATH WPA_BG_SSID WPA_BG_PSK NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +#requires: +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_wpa_n_np_{{ interface }} +_summary: + Connect to WPA-encrypted 802.11n Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to 802.11n AP with wpa security using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $WPA_N_SSID -k $WPA_N_PSK -d +user: root +environ: LD_LIBRARY_PATH WPA_N_SSID WPA_N_PSK NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +#requires: +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' |