diff options
author | PMR <pmr@pmr-lander> | 2020-07-16 09:33:56 +0000 |
---|---|---|
committer | PMR <pmr@pmr-lander> | 2020-07-16 09:33:56 +0000 |
commit | c8fd942af9ac6a1a85a3307581168aad01d28080 (patch) | |
tree | 835996e885903d0f2266041fc57e540034733bb4 /units | |
parent | f210ce4d8305dc63cc9270be536eb90e255638ba (diff) | |
parent | ddad2d4c08754f711b627a6cdb044849101bee86 (diff) |
Merge #387358 from ~sylvain-pineau/plainbox-provider-checkbox:extensions4all
Diffstat (limited to 'units')
42 files changed, 639 insertions, 827 deletions
diff --git a/units/audio/jobs.pxu b/units/audio/jobs.pxu index 126209e..c1dbfe1 100644 --- a/units/audio/jobs.pxu +++ b/units/audio/jobs.pxu @@ -19,11 +19,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -51,11 +51,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: HDMI audio interface verification @@ -80,11 +80,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: DisplayPort audio interface verification @@ -110,11 +110,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Thunderbolt audio interface verification @@ -140,11 +140,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Thunderbolt audio interface verification @@ -171,11 +171,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: DisplayPort audio via USB Type-C port interface verification @@ -202,11 +202,11 @@ requires: 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: HDMI audio via USB Type-C port interface verification @@ -227,11 +227,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -253,11 +253,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -280,11 +280,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -306,11 +306,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=usb --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=usb --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -334,7 +334,7 @@ requires: package.name == 'gstreamer1.0-pulseaudio' package.name == 'alsa-base' device.category == 'AUDIO' -command: audio_test +command: audio_test.py _description: Play back a sound on the default output and listen for it on the default input. @@ -378,7 +378,7 @@ estimated_duration: 1.0 requires: package.name == 'pulseaudio-utils' device.category == 'AUDIO' -command: volume_test --minvol 1 --maxvol 100 +command: volume_test.py --minvol 1 --maxvol 100 _description: This test will verify that the volume levels are at an acceptable level on your local system. The test will validate that the volume is greater than @@ -415,11 +415,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -438,7 +438,7 @@ estimated_duration: 60.0 requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sinks +command: pulse-active-port-change.py sinks _description: PURPOSE: Check that system detects speakers or headphones being plugged in @@ -459,7 +459,7 @@ estimated_duration: 60.0 requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sources +command: pulse-active-port-change.py sources _description: PURPOSE: Check that system detects a microphone being plugged in @@ -485,11 +485,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 10 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 10 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -513,11 +513,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 10 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 10 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -552,11 +552,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -582,7 +582,7 @@ requires: package.name == 'gstreamer1.0-pulseaudio' package.name == 'alsa-base' device.category == 'AUDIO' -command: audio_test +command: audio_test.py _description: Play back a sound on the default output and listen for it on the default input, after suspending 30 times. @@ -595,7 +595,7 @@ depends: power-management/suspend_30_cycles requires: package.name == 'pulseaudio-utils' device.category == 'AUDIO' -command: volume_test --minvol 1 --maxvol 100 +command: volume_test.py --minvol 1 --maxvol 100 _description: This test will verify that the volume levels are at an acceptable level on your local system. The test will validate that the volume is greater than @@ -614,7 +614,7 @@ requires: package.name == 'alsa-base' _description: Record mixer settings after suspending 30 times. command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend_30_cycles + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend_30_cycles diff $PLAINBOX_SESSION_SHARE/audio_settings_before_suspend $PLAINBOX_SESSION_SHARE/audio_settings_after_suspend_30_cycles id: audio/detect-playback-devices @@ -626,7 +626,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_audio_playback == 'True' command: - COUNT=$(alsa_pcm_info | grep Playback | wc -l) + COUNT=$(alsa_pcm_info.py | grep Playback | wc -l) echo "Count: $COUNT" if [ $COUNT -eq 0 ]; then exit 1 @@ -642,7 +642,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_audio_capture == 'True' command: - COUNT=$(alsa_pcm_info | grep Capture | wc -l) + COUNT=$(alsa_pcm_info.py | grep Capture | wc -l) echo "Count: $COUNT" if [ $COUNT -eq 0 ]; then exit 1 diff --git a/units/audio/resource.pxu b/units/audio/resource.pxu index c7fd3b7..8e851c9 100644 --- a/units/audio/resource.pxu +++ b/units/audio/resource.pxu @@ -4,6 +4,6 @@ category_id: com.canonical.plainbox::audio plugin: resource _summary: Gather device info about alsa sound devices _description: Gather device info about alsa sound devices -command: alsa_pcm_info +command: alsa_pcm_info.py estimated_duration: 1s flags: preserve-locale diff --git a/units/benchmarks/jobs.pxu b/units/benchmarks/jobs.pxu index 504401b..0216ed8 100644 --- a/units/benchmarks/jobs.pxu +++ b/units/benchmarks/jobs.pxu @@ -42,38 +42,6 @@ _description: Run Render-Bench XRender/Imlib2 benchmark plugin: shell category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/qgears2-Xrender-gearsfancy -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="qgears2.render-backend=1; qgears2.test-mode=0" pts_run qgears2 -estimated_duration: 180.000 -_description: Run Qgears2 XRender Extension gearsfancy benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/qgears2-Xrender-compo -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="qgears2.render-backend=1; qgears2.test-mode=2" pts_run qgears2 -estimated_duration: 31.500 -_description: Run Qgears2 XRender Extension image scaling benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/qgears2-gl-gearsfancy -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="qgears2.render-backend=2; qgears2.test-mode=0" pts_run qgears2 -estimated_duration: 52.000 -_description: Run Qgears2 OpenGL gearsfancy benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/qgears2-gl-compo -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="qgears2.render-backend=2; qgears2.test-mode=2" pts_run qgears2 -estimated_duration: 23.000 -_description: Run Qgears2 OpenGL image scaling benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks id: benchmarks/graphics/glmark2-es2 requires: package.name == 'glmark2-es2' @@ -95,160 +63,13 @@ _description: Run GLmark2 benchmark plugin: shell category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/unigine-sanctuary -requires: package.name == 'phoronix-test-suite' -command: pts_run unigine-sanctuary -_description: Run Unigine Santuary benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/unigine-tropics -requires: package.name == 'phoronix-test-suite' -command: pts_run unigine-tropics -_description: Run Unigine Tropics benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/unigine-heaven -requires: package.name == 'phoronix-test-suite' -command: pts_run unigine-heaven -_description: Run Unigine Heaven benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/graphics/lightsmark -requires: package.name == 'phoronix-test-suite' -command: pts_run lightsmark -_description: Run Lightsmark benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/cachebench-read -estimated_duration: 160.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="cachebench.test=0" pts_run cachebench -_description: Run Cachebench Read benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/cachebench-write -estimated_duration: 130.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="cachebench.test=1" pts_run cachebench -_description: Run Cachebench Write benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/cachebench-read-modify-write -estimated_duration: 140.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="cachebench.test=2" pts_run cachebench -_description: Run Cachebench Read / Modify / Write benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/stream-copy -estimated_duration: 6.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="stream.run-type=0" pts_run stream -_description: Run Stream Copy benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/stream-scale -estimated_duration: 6.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="stream.run-type=1" pts_run stream -_description: Run Stream Scale benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/stream-add -estimated_duration: 5.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="stream.run-type=2" pts_run stream -_description: Run Stream Add benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/memory/stream-triad -estimated_duration: 4.0 -requires: package.name == 'phoronix-test-suite' -command: PRESET_OPTIONS="stream.run-type=3" pts_run stream -_description: Run Stream Triad benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/network/network-loopback -requires: package.name == 'phoronix-test-suite' -command: pts_run network-loopback -estimated_duration: 85.0 -_description: Run Network Loopback benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks id: benchmarks/network/wifi_time_to_reconnect requires: device.category == 'WIRELESS' -command: wifi_time2reconnect +command: wifi_time2reconnect.py _description: Check the time needed to reconnect to a WIFI access point plugin: shell category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/encode-mp3 -estimated_duration: 140.0 -requires: package.name == 'phoronix-test-suite' -command: pts_run encode-mp3 -_description: Run Encode MP3 benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/x264 -estimated_duration: 400.0 -requires: package.name == 'phoronix-test-suite' -command: pts_run x264 -_description: Run x264 H.264/AVC encoder benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/gnupg -requires: package.name == 'phoronix-test-suite' -command: pts_run gnupg -_description: Run GnuPG benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/compress-pbzip2 -estimated_duration: 90.0 -requires: package.name == 'phoronix-test-suite' -command: pts_run compress-pbzip2 -_description: Run Compress PBZIP2 benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/compress-7zip -estimated_duration: 1400 -requires: package.name == 'phoronix-test-suite' -command: pts_run compress-7zip -_description: Run Compress 7ZIP benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/n-queens -estimated_duration: 330.0 -requires: package.name == 'phoronix-test-suite' -command: pts_run n-queens -_description: Run N-Queens benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks -id: benchmarks/processor/himeno -estimated_duration: 75.0 -requires: package.name == 'phoronix-test-suite' -command: pts_run himeno -_description: Run Himeno benchmark - -plugin: shell -category_id: com.canonical.plainbox::benchmarks id: benchmarks/system/cpu_on_idle estimated_duration: 10.0 requires: package.name == 'sysstat' @@ -269,7 +90,7 @@ id: benchmarks/graphics/gputest_furmark_fullscreen_1920x1080 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark fur --width 1920 --height 1080 -f +command: gputest_benchmark.py fur --width 1920 --height 1080 -f estimated_duration: 75.000 _description: Run a stress test based on FurMark (OpenGL 2.1 or 3.2) @@ -281,7 +102,7 @@ id: benchmarks/graphics/gputest_furmark_windowed_1024x640 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark fur +command: gputest_benchmark.py fur estimated_duration: 75.000 _description: Run a stress test based on FurMark (OpenGL 2.1 or 3.2) @@ -293,7 +114,7 @@ id: benchmarks/graphics/gputest_gimark_fullscreen_1920x1080 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark gi --width 1920 --height 1080 -f +command: gputest_benchmark.py gi --width 1920 --height 1080 -f estimated_duration: 75.00 _description: Run GiMark, a geometry instancing test (OpenGL 3.3) @@ -305,7 +126,7 @@ id: benchmarks/graphics/gputest_gimark_windowed_1024x640 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark gi +command: gputest_benchmark.py gi estimated_duration: 75.500 _description: Run GiMark, a geometry instancing test (OpenGL 3.3) @@ -317,7 +138,7 @@ id: benchmarks/graphics/gputest_tessmark_fullscreen_1920x1080 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark tess --width 1920 --height 1080 -f +command: gputest_benchmark.py tess --width 1920 --height 1080 -f estimated_duration: 75.000 _description: Run a tessellation test based on TessMark (OpenGL 4.0) @@ -329,7 +150,7 @@ id: benchmarks/graphics/gputest_tessmark_windowed_1024x640 requires: package.name == 'gputest' cpuinfo.platform == 'x86_64' -command: gputest_benchmark tess +command: gputest_benchmark.py tess _description: Run a tessellation test based on TessMark (OpenGL 4.0) Windowed 1024x640 no antialiasing diff --git a/units/bluetooth/jobs.pxu b/units/bluetooth/jobs.pxu index cee3467..7f4272a 100644 --- a/units/bluetooth/jobs.pxu +++ b/units/bluetooth/jobs.pxu @@ -98,14 +98,14 @@ id: bluetooth/audio-a2dp depends: bluetooth/detect-output estimated_duration: 120.0 command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings idx=`pactl list cards short | awk '/bluez/{print $1}'` bt_sink=`pactl list sinks short | awk '/bluez/{print $2}'` pactl set-card-profile $idx a2dp pactl set-default-sink $bt_sink - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -123,7 +123,7 @@ category_id: com.canonical.plainbox::bluetooth id: bluetooth/audio depends: bluetooth/detect-output estimated_duration: 120.0 -command: audio_bluetooth_loopback_test +command: audio_bluetooth_loopback_test.sh _description: PURPOSE: This test will check the Telephony Duplex capability of your bluetooth device, @@ -145,7 +145,7 @@ category_id: com.canonical.plainbox::bluetooth id: bluetooth/HID depends: bluetooth/detect-output estimated_duration: 120.0 -command: keyboard_test +command: keyboard_test.py _description: PURPOSE: This test will check that you can use a BlueTooth HID device @@ -183,7 +183,7 @@ command: rfkill unblock bluetooth sleep 3 fi - bluetooth_transfer_stress $BTDEVADDR + bluetooth_transfer_stress.sh $BTDEVADDR _description: This is an automated Bluetooth file transfer test. It sends a large file to the device specified by the BTDEVADDR environment variable, then @@ -199,7 +199,7 @@ requires: manifest.has_bt_smart == 'True' package.name == 'bluez' and package.version >= '5.37' estimated_duration: 30.0 -command: bt_connect --mouse +command: bt_connect.py --mouse _purpose: This test will check that you can use a HID Over GATT Profile (HOGP) with your Bluetooth Smart mouse. _steps: @@ -218,7 +218,7 @@ requires: manifest.has_bt_smart == 'True' package.name == 'bluez' and package.version >= '5.37' estimated_duration: 30.0 -command: bt_connect --keyboard +command: bt_connect.py --keyboard _purpose: This test will check that you can use a HID Over GATT Profile (HOGP) with your Bluetooth Smart keyboard. _steps: @@ -351,7 +351,7 @@ _verification: plugin: user-verify user: root flags: also-after-suspend -command: test_bt_keyboard +command: test_bt_keyboard.py category_id: com.canonical.plainbox::bluetooth estimated_duration: 1m diff --git a/units/camera/jobs.pxu b/units/camera/jobs.pxu index 1a3f807..7c0b1d0 100644 --- a/units/camera/jobs.pxu +++ b/units/camera/jobs.pxu @@ -5,7 +5,7 @@ estimated_duration: 1.2 requires: device.category == 'CAPTURE' command: - camera_test detect + camera_test.py detect _summary: This Automated test attempts to detect a camera. user: root @@ -17,7 +17,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_rpi_camera == 'True' command: - udev_resource -f MMAL | grep "category: MMAL" + udev_resource.py -f MMAL | grep "category: MMAL" _summary: Detect presence of a MMAL camera. unit: template @@ -32,7 +32,7 @@ _summary: Webcam video display test for {product_slug} estimated_duration: 120.0 depends: camera/detect command: - camera_test display -d /dev/{name} + camera_test.py display -d /dev/{name} _description: PURPOSE: This test will check that the {product_slug} camera works @@ -52,7 +52,7 @@ _summary: Webcam LED test for {product_slug} estimated_duration: 120.0 depends: camera/detect command: - camera_test led -d /dev/{name} + camera_test.py led -d /dev/{name} _description: PURPOSE: This test will check that the {product_slug} camera LED works @@ -84,7 +84,7 @@ requires: package.name == 'fswebcam' or package.name == 'gir1.2-gst-plugins-base-1.0' {% endif -%} command: - camera_test still -d /dev/{{ name }} + camera_test.py still -d /dev/{{ name }} _description: PURPOSE: This test will check that the {{ product_slug }} works @@ -111,7 +111,7 @@ requires: package.name == 'fswebcam' or package.name == 'gir1.2-gst-plugins-base-1.0' {% endif -%} command: - camera_test resolutions -d /dev/{{ name }} + camera_test.py resolutions -d /dev/{{ name }} _description: Takes multiple pictures based on the resolutions supported by the camera and validates their size and that they are of a valid format. diff --git a/units/cpu/jobs.pxu b/units/cpu/jobs.pxu index 33446a8..2953d16 100644 --- a/units/cpu/jobs.pxu +++ b/units/cpu/jobs.pxu @@ -75,7 +75,7 @@ category_id: com.canonical.plainbox::cpu id: cpu/offlining_test estimated_duration: 128.0 user: root -command: cpu_offlining +command: cpu_offlining.py _summary: Test offlining of each CPU core _description: @@ -87,7 +87,7 @@ category_id: com.canonical.plainbox::cpu id: cpu/topology 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 +command: cpu_topology.py _summary: Check CPU topology for accuracy between proc and sysfs _description: @@ -99,7 +99,7 @@ category_id: com.canonical.plainbox::cpu id: cpu/frequency_governors estimated_duration: 22.0 user: root -command: nice -n -20 frequency_governors_test --debug +command: nice -n -20 frequency_governors_test.py --debug _description: This test checks that CPU frequency governors are obeyed when set. @@ -170,10 +170,10 @@ category_id: 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 +command: cpuinfo_resource.py > $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 -", + "command": "cpuinfo_resource.py | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend -", "depends": "com.canonical.certification::suspend/suspend_advanced_auto"} ] diff --git a/units/disk/jobs.pxu b/units/disk/jobs.pxu index caafbad..1df012f 100644 --- a/units/disk/jobs.pxu +++ b/units/disk/jobs.pxu @@ -7,7 +7,7 @@ _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 +command: disk_info.py estimated_duration: 0.25 unit: template @@ -20,7 +20,7 @@ id: disk/stats_{name} flags: deprecated user: root estimated_duration: 10.0 -command: disk_stats_test {name} +command: disk_stats_test.sh {name} _summary: Disk statistics for {product_slug} _description: This test checks disk stats, generates some activity and rechecks stats to @@ -48,7 +48,7 @@ _summary: _description: This tests the SMART capabilities for {product_slug} (Note that this test may not work against hardware RAID) user: root -command: disk_smart -b /dev/{name} -s 130 -t 530 +command: disk_smart.py -b /dev/{name} -s 130 -t 530 unit: template template-resource: device @@ -62,7 +62,7 @@ _summary: Disk performance test for {product_slug} _description: Verify that disk storage performs at or above baseline performance user: root environ: DISK_READ_PERF -command: disk_read_performance_test {name} +command: disk_read_performance_test.sh {name} unit: template template-resource: device @@ -89,7 +89,7 @@ requires: block_device.rotation == 'no' and block_device.name == '{name}' _summary: Filesystem TRIM check for {product_slug} _description: Take the path of the storage device and test its TRIM capabilities -command: fstrim_test --device-file {name} +command: fstrim_test.py --device-file {name} unit: template template-resource: device @@ -108,10 +108,10 @@ command: if [ -n "$STRESS_NG_DISK_TIME" ] then echo "Found STRESS_NG_DISK_TIME env var, stress_ng disk running time is now: $STRESS_NG_DISK_TIME seconds" - stress_ng_test disk --device {name} --base-time $STRESS_NG_DISK_TIME + stress_ng_test.py disk --device {name} --base-time $STRESS_NG_DISK_TIME else echo "STRESS_NG_DISK_TIME env var is not found, stress_ng disk running time is default value" - stress_ng_test disk --device {name} --base-time 240 + stress_ng_test.py disk --device {name} --base-time 240 fi unit: template @@ -127,7 +127,7 @@ requires: package.name == 'bc' or executable.name == 'bc' _summary: Check of CPU load imposed by {product_slug} _description: Check to ensure CPU load of {product_slug} is not too high -command: disk_cpu_load {name} +command: disk_cpu_load.sh {name} plugin: shell category_id: com.canonical.plainbox::disk @@ -137,7 +137,7 @@ requires: device.category == 'DISK' package.name == 'smartmontools' user: root -command: spindown +command: spindown.sh _description: Some new hard drives include a feature that parks the drive heads after a short period of inactivity. This is a power-saving feature, but it can have a bad interaction with the operating system that results in the drive constantly parked then activated. This produces excess wear on the drive, potentially leading to early failures. @@ -150,7 +150,7 @@ requires: executable.name == 'hdapsd' depends: input/accelerometer user: root -command: hdd_parking +command: hdd_parking.py _description: PURPOSE: This test checks that a systems drive protection mechanism works properly. diff --git a/units/dock/jobs.pxu b/units/dock/jobs.pxu index 69b7a88..19b5983 100644 --- a/units/dock/jobs.pxu +++ b/units/dock/jobs.pxu @@ -245,11 +245,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock HDMI audio interface verification @@ -273,11 +273,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock DisplayPort audio interface verification @@ -300,11 +300,11 @@ _summary: HDMI audio test plugin: user-interact-verify estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock USB Type-C HDMI audio interface verification @@ -328,11 +328,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock USB Type-C Displayport audio interface verification @@ -358,11 +358,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock Thunderbolt3 audio interface verification @@ -387,11 +387,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: This test will check that headphones connector works correctly. @@ -416,11 +416,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: This test will check that recording sound using an external microphone works correctly @@ -484,11 +484,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Check that external line-in connection works correctly @@ -509,7 +509,7 @@ _summary: Headphones recognized when plugged to the dock test requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sinks +command: pulse-active-port-change.py sinks _purpose: Check that system detects speakers or headphones being plugged in (Skip this test if the dock does not have headphones connector) @@ -532,7 +532,7 @@ _summary: Microphone recognized when plugged to the dock test requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sources +command: pulse-active-port-change.py sources _purpose: Check that system detects a microphone being plugged in (Skip this test if the dock does not have a microphone connector) @@ -571,7 +571,7 @@ plugin: user-interact-verify depends: dock/cold-plug requires: package.name == 'ntpdate' user: root -command: network_ntp_test +command: network_ntp_test.py estimated_duration: 10.00 _summary: NTP sync test using dock's Ethernet connectivity _purpose: @@ -611,7 +611,7 @@ id: dock/usb-HID category_id: dock-usb estimated_duration: 20.0 _summary: USB HID device test -command: keyboard_test +command: keyboard_test.py _purpose: This test will check that you can use a USB HID device _steps: @@ -626,7 +626,7 @@ id: dock/usb-insert category_id: dock-usb estimated_duration: 10.0 _summary: USB drive insertion test -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _purpose: This test will check that the system correctly detects the insertion of a USB storage device plugged on the dock @@ -646,7 +646,7 @@ id: dock/usb3-insert category_id: dock-usb estimated_duration: 10.0 _summary: USB3 drive insertion test -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device @@ -666,7 +666,7 @@ category_id: dock-usb depends: dock/usb-insert estimated_duration: 10.0 _summary: USB drive removal test -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _purpose: This test will check that the system correctly detects the removal of a USB storage device @@ -683,7 +683,7 @@ category_id: dock-usb depends: dock/usb3-insert estimated_duration: 10.0 _summary: USB3 drive removal test -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device @@ -701,7 +701,7 @@ depends: dock/usb-insert user: root estimated_duration: 45.0 _summary: USB drive storage test -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the dock/usb_insert test is run. @@ -712,7 +712,7 @@ depends: dock/usb3-insert user: root estimated_duration: 45.0 _summary: USB3 drive storage test -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3_insert test is run. @@ -726,7 +726,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3 storage device in a USB Type-C connector on the dock using a @@ -748,7 +748,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3 storage device in a USB Type-C connector on the dock @@ -770,7 +770,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -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 using a "USB Type-C @@ -791,7 +791,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -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. @@ -812,7 +812,7 @@ requires: depends: dock/usb-c/c-to-a-adapter/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -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. @@ -827,7 +827,7 @@ requires: depends: dock/usb-c/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the usb-c/insert test is run. @@ -841,7 +841,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3 storage device in a USB Type-C connector on the dock using a @@ -864,7 +864,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3 storage device in a USB Type-C connector on the dock after suspend @@ -886,7 +886,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -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 using a "USB Type-C @@ -907,7 +907,7 @@ requires: usb.usb3 == 'supported' manifest.has_usb_type_c == 'True' estimated_duration: 10.0 -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -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 after suspend. @@ -928,7 +928,7 @@ requires: depends: dock/usb-c/c-to-a-adapter/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -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. @@ -943,7 +943,7 @@ requires: depends: dock/usb-c/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the usb-c/insert test is run. @@ -980,7 +980,7 @@ plugin: user-interact-verify category_id: dock-hotplug id: dock/hotplug-ethernet depends: dock/hot-plug -command: network_check +command: network_check.py estimated_duration: 10 _description: PURPOSE: @@ -997,7 +997,7 @@ category_id: dock-hotplug depends: dock/hot-plug estimated_duration: 10.0 _summary: USB drive insertion test -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _purpose: This test will check that the system correctly detects the insertion of a USB storage device plugged on the dock @@ -1018,7 +1018,7 @@ category_id: dock-hotplug depends: dock/hot-plug estimated_duration: 10.0 _summary: USB3 drive insertion test -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device after dock hot plugged in @@ -1039,7 +1039,7 @@ depends: dock/hotplug-usb-insert user: root estimated_duration: 45.0 _summary: USB drive storage test -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the dock/usb_insert test is run. @@ -1050,7 +1050,7 @@ depends: dock/hotplug-usb3-insert user: root estimated_duration: 45.0 _summary: USB3 drive storage test -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3_insert test is run. @@ -1060,7 +1060,7 @@ category_id: dock-hotplug depends: dock/hotplug-usb-insert estimated_duration: 10.0 _summary: USB drive removal test -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _purpose: This test will check that the system correctly detects the removal of a USB storage device @@ -1077,7 +1077,7 @@ category_id: dock-hotplug depends: dock/hotplug-usb3-insert estimated_duration: 10.0 _summary: USB3 drive removal test -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device after dock hot plugged in @@ -1101,11 +1101,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock USB Type-C Displayport audio interface verification @@ -1129,11 +1129,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock Thunderbolt3 audio interface verification @@ -1157,11 +1157,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock DisplayPort audio interface verification @@ -1185,11 +1185,11 @@ plugin: user-interact-verify flags: also-after-suspend-manual estimated_duration: 30.0 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' + audio_settings.py store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --verbose --device=hdmi --volume=50 + gst_pipeline_test.py -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _purpose: Dock HDMI audio interface verification @@ -1220,7 +1220,7 @@ requires: device.category == 'AUDIO' package.name == 'alsa-base' _description: Record mixer settings before suspending. -command: audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_before_suspend +command: audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_before_suspend @@ -1239,7 +1239,7 @@ category_id: dock-usb depends: suspend/suspend_advanced estimated_duration: 10.0 _summary: USB drive insertion after resuming -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _purpose: This test will check that the system correctly detects the insertion of a USB storage device plugged on the dock after suspend @@ -1274,7 +1274,7 @@ category_id: dock-usb depends: suspend/suspend_advanced estimated_duration: 10.0 _summary: USB3 drive insertion after resuming -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device after suspend @@ -1294,7 +1294,7 @@ category_id: dock-usb depends: dock/usb-insert-after-suspend estimated_duration: 10.0 _summary: USB drive removal after resuming -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _purpose: This test will check that the system correctly detects the removal of a USB storage device after suspend @@ -1311,7 +1311,7 @@ category_id: dock-usb depends: dock/usb3-insert-after-suspend estimated_duration: 10.0 _summary: USB3 drive removal after resuming -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device after suspend @@ -1329,7 +1329,7 @@ depends: dock/usb-insert-after-suspend user: root estimated_duration: 45.0 _summary: USB drive storage test after resuming -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the dock/usb-insert test is run. @@ -1340,7 +1340,7 @@ depends: dock/usb3-insert-after-suspend user: root estimated_duration: 45.0 _summary: USB3 drive storage test after resuming -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3-insert test is run. @@ -1350,7 +1350,7 @@ category_id: dock-usb depends: suspend/suspend_advanced estimated_duration: 20.0 _summary: USB HID device test after resuming -command: keyboard_test +command: keyboard_test.py _purpose: This test will check that you can use a USB HID device _steps: @@ -1540,7 +1540,7 @@ user: root environ: WPA_BG_SSID WPA_BG_PSK command: trap "nmcli con delete id $WPA_BG_SSID" EXIT - if create_connection wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then + if create_connection.py wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1564,7 +1564,7 @@ user: root environ: OPEN_BG_SSID command: trap "nmcli con delete id $OPEN_BG_SSID" EXIT - if create_connection wifi $OPEN_BG_SSID; then + if create_connection.py wifi $OPEN_BG_SSID; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1588,7 +1588,7 @@ user: root environ: WPA_N_SSID WPA_N_PSK command: trap "nmcli con delete id $WPA_N_SSID" EXIT - if create_connection wifi $WPA_N_SSID --security=wpa --key=$WPA_N_PSK; then + if create_connection.py wifi $WPA_N_SSID --security=wpa --key=$WPA_N_PSK; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1612,7 +1612,7 @@ user: root environ: OPEN_N_SSID command: trap "nmcli con delete id $OPEN_N_SSID" EXIT - if create_connection wifi $OPEN_N_SSID; then + if create_connection.py wifi $OPEN_N_SSID; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1637,7 +1637,7 @@ user: root environ: WPA_AC_SSID WPA_AC_PSK command: trap "nmcli con delete id $WPA_AC_SSID" EXIT - if create_connection wifi $WPA_AC_SSID --security=wpa --key=$WPA_AC_PSK; then + if create_connection.py wifi $WPA_AC_SSID --security=wpa --key=$WPA_AC_PSK; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1662,7 +1662,7 @@ user: root environ: OPEN_AC_SSID command: trap "nmcli con delete id $OPEN_AC_SSID" EXIT - if create_connection wifi $OPEN_AC_SSID; then + if create_connection.py wifi $OPEN_AC_SSID; then INTERFACE=`nmcli dev status | awk '/802-11-wireless/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -1684,7 +1684,7 @@ requires: depends: dock/suspend-undock-resume dock/audio-before-suspend _description: Verify that mixer settings after suspend are the same as before suspend. command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend diff $PLAINBOX_SESSION_SHARE/audio_settings_before_suspend $PLAINBOX_SESSION_SHARE/audio_settings_after_suspend plugin: shell @@ -1701,7 +1701,7 @@ requires: package.name == 'gstreamer1.0-pulseaudio' package.name == 'alsa-base' device.category == 'AUDIO' -command: audio_test +command: audio_test.py _description: This will check to make sure that your audio device works properly after a suspend and resume. This may work fine with speakers and onboard microphone, however, it works best if used with a cable connecting the audio-out jack to the audio-in jack. @@ -1711,7 +1711,7 @@ category_id: suspend-undock-resume depends: dock/suspend-undock-resume estimated_duration: 10.0 _summary: USB3 drive insertion test -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device after suspend, undocked, resume. @@ -1732,7 +1732,7 @@ depends: dock/usb3-insert-after-suspend-undock-resume user: root estimated_duration: 45.0 _summary: USB3 drive storage test -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3_insert test is run. @@ -1742,7 +1742,7 @@ category_id: suspend-undock-resume depends: dock/usb3-insert-after-suspend-undock-resume estimated_duration: 10.0 _summary: USB3 drive removal test -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device after suspend, undocked, resume. @@ -1803,7 +1803,7 @@ category_id: dock estimated_duration: 20.0 _summary: FireWire HDD insertion test depends: dock/cold-plug -command: removable_storage_watcher insert firewire +command: removable_storage_watcher.py insert firewire _purpose: This test will check the system can detect the insertion of a FireWire HDD on the dock _steps: @@ -1822,7 +1822,7 @@ estimated_duration: 45.0 _summary: FireWire HDD storage test depends: dock/cold-plug dock/firewire-insert user: root -command: removable_storage_test -s 268400000 firewire +command: removable_storage_test.py -s 268400000 firewire _description: This is an automated test which performs read/write operations on an attached FireWire HDD @@ -1833,7 +1833,7 @@ category_id: dock estimated_duration: 20.0 _summary: FireWire HDD removal test depends: dock/firewire-insert -command: removable_storage_watcher remove firewire +command: removable_storage_watcher.py remove firewire _purpose: This test will check the system can detect the removal of a FireWire HDD _steps: @@ -1851,7 +1851,7 @@ category_id: dock estimated_duration: 20.0 _summary: eSATA HDD insertion test depends: dock/cold-plug -command: removable_storage_watcher insert ata_serial_esata +command: removable_storage_watcher.py insert ata_serial_esata _purpose: This test will check the system can detect the insertion of an eSATA HDD on the dock _steps: @@ -1870,7 +1870,7 @@ estimated_duration: 20.0 _summary: eSATA HDD storage test user: root depends: dock/esata-insert -command: removable_storage_test -s 268400000 ata_serial_esata +command: removable_storage_test.py -s 268400000 ata_serial_esata _description: This is an automated test which performs read/write operations on an attached eSATA HDD @@ -1881,7 +1881,7 @@ category_id: dock estimated_duration: 20.0 _summary: eSATA HDD removal test depends: dock/esata-insert -command: removable_storage_watcher remove ata_serial_esata +command: removable_storage_watcher.py remove ata_serial_esata _purpose: This test will check the system can detect the removal of an eSATA HDD from the dock _steps: @@ -1932,7 +1932,7 @@ depends: dock/cold-plug imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' flags: also-after-suspend-manual -command: removable_storage_watcher insert --timeout 40 scsi +command: removable_storage_watcher.py insert --timeout 40 scsi _summary: Thunderbolt3 storage insertion detection _purpose: This test will check if the connection of a Thunderbolt3 HDD to the dock could be detected @@ -1954,7 +1954,7 @@ depends: dock/thunderbolt3-insert imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' flags: also-after-suspend-manual -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _summary: Thunderbolt3 storage test _description: This is an automated test which performs read/write operations on an attached @@ -1968,7 +1968,7 @@ depends: dock/thunderbolt3-insert imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' flags: also-after-suspend-manual -command: removable_storage_watcher remove scsi +command: removable_storage_watcher.py remove scsi _summary: Thunderbolt3 storage removal detection _purpose: This test will check the system can detect the removal of a Thunderbolt3 HDD @@ -1987,7 +1987,7 @@ flags: also-after-suspend-manual estimated_duration: 45.0 imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _summary: Daisy-chain testing for Thunderbolt 3 storage and display device _description: _purpose: @@ -2023,7 +2023,7 @@ plugin: user-interact-verify category_id: dock-hotplug id: dock/hotplug-ethernet-after-suspend depends: suspend/suspend_advanced -command: network_check +command: network_check.py estimated_duration: 10 _description: PURPOSE: @@ -2040,7 +2040,7 @@ category_id: dock-hotplug depends: dock/hot-plug-after-suspend estimated_duration: 10.0 _summary: USB drive insertion after resuming -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _purpose: This test will check that the system correctly detects the insertion of a USB storage device plugged on the dock after suspend @@ -2061,7 +2061,7 @@ category_id: dock-hotplug depends: dock/hot-plug-after-suspend estimated_duration: 10.0 _summary: USB3 drive insertion test -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device after dock hot plugged in @@ -2082,7 +2082,7 @@ depends: dock/hotplug-usb-insert-after-suspend user: root estimated_duration: 45.0 _summary: USB drive storage test after resuming -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the dock/usb-insert test is run. @@ -2093,7 +2093,7 @@ depends: dock/hotplug-usb3-insert-after-suspend user: root estimated_duration: 45.0 _summary: USB3 drive storage test -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3_insert test is run. @@ -2103,7 +2103,7 @@ category_id: dock-hotplug depends: dock/hotplug-usb-insert-after-suspend estimated_duration: 10.0 _summary: USB drive removal after resuming -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _purpose: This test will check that the system correctly detects the removal of a USB storage device after suspend @@ -2120,7 +2120,7 @@ category_id: dock-hotplug depends: dock/hotplug-usb3-insert-after-suspend estimated_duration: 10.0 _summary: USB3 drive removal test -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device after dock hot plugged in @@ -2152,7 +2152,7 @@ plugin: user-interact-verify category_id: suspend-dock-resume id: dock/ethernet-after-suspend-dock-resume depends: dock/suspend-dock-resume -command: network_check +command: network_check.py estimated_duration: 10 _description: PURPOSE: @@ -2169,7 +2169,7 @@ category_id: suspend-dock-resume depends: dock/suspend-dock-resume estimated_duration: 10.0 _summary: USB drive insertion after resuming -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _purpose: This test will check that the system correctly detects the insertion of a USB storage device plugged on the dock after suspend @@ -2190,7 +2190,7 @@ category_id: suspend-dock-resume depends: dock/suspend-dock-resume estimated_duration: 10.0 _summary: USB3 drive insertion test -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _purpose: This test will check that the system correctly detects the insertion of a USB 3.0 storage device after suspend, undocked, docked, resume. @@ -2211,7 +2211,7 @@ depends: dock/usb-insert-after-suspend-dock-resume user: root estimated_duration: 45.0 _summary: USB drive storage test after resuming -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the dock/usb-insert test is run. @@ -2222,7 +2222,7 @@ depends: dock/usb3-insert-after-suspend-dock-resume user: root estimated_duration: 45.0 _summary: USB3 drive storage test -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the dock/usb3_insert test is run. @@ -2232,7 +2232,7 @@ category_id: suspend-dock-resume depends: dock/usb-insert-after-suspend-dock-resume estimated_duration: 10.0 _summary: USB drive removal after resuming -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _purpose: This test will check that the system correctly detects the removal of a USB storage device after suspend @@ -2249,7 +2249,7 @@ category_id: suspend-dock-resume depends: dock/usb3-insert-after-suspend-dock-resume estimated_duration: 10.0 _summary: USB3 drive removal test -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _purpose: This test will check that the system correctly detects the removal of a USB 3.0 storage device after suspend, undocked, docked, resume. diff --git a/units/esata/jobs.pxu b/units/esata/jobs.pxu index 65778eb..1559f30 100644 --- a/units/esata/jobs.pxu +++ b/units/esata/jobs.pxu @@ -1,7 +1,7 @@ plugin: user-interact category_id: com.canonical.plainbox::esata id: esata/insert -command: removable_storage_watcher insert ata_serial_esata +command: removable_storage_watcher.py insert ata_serial_esata _description: PURPOSE: This test will check the system can detect the insertion of an eSATA HDD @@ -18,7 +18,7 @@ category_id: com.canonical.plainbox::esata id: esata/storage-test user: root depends: esata/insert -command: removable_storage_test -s 268400000 ata_serial_esata +command: removable_storage_test.py -s 268400000 ata_serial_esata _description: This is an automated test which performs read/write operations on an attached eSATA HDD @@ -27,7 +27,7 @@ plugin: user-interact category_id: com.canonical.plainbox::esata id: esata/remove depends: esata/insert -command: removable_storage_watcher remove ata_serial_esata +command: removable_storage_watcher.py remove ata_serial_esata _description: PURPOSE: This test will check the system can detect the removal of an eSATA HDD diff --git a/units/ethernet/jobs.pxu b/units/ethernet/jobs.pxu index 94dcda3..95ae719 100644 --- a/units/ethernet/jobs.pxu +++ b/units/ethernet/jobs.pxu @@ -42,7 +42,7 @@ _description: plugin: user-interact-verify category_id: com.canonical.plainbox::ethernet id: ethernet/wired_connection -command: network_check +command: network_check.py estimated_duration: 1.2 _description: PURPOSE: @@ -68,7 +68,7 @@ requires: 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 +command: network.py test -i {interface} -t iperf --scan-timeout 3600 --fail-threshold 80 --runtime 900 --num_runs 4 _description: This test uses iperf to ensure network devices pass data at an acceptable minimum percentage of advertized speed. @@ -87,7 +87,7 @@ requires: 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 +command: network.py test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 900 --num_runs 4 _description: This test uses iperf3 to ensure network devices pass data at an acceptable minimum percentage of advertized speed. @@ -106,7 +106,7 @@ requires: 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 --underspeed-ok +command: network.py test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 900 --num_runs 4 --underspeed-ok _description: This is the standard Multi-NIC Iperf3 test with the speed check disabled for retesting systems that are incorrectly reporting supported speeds. @@ -154,7 +154,7 @@ requires: package.name == 'iperf' user: root environ: TEST_TARGET_IPERF -command: network test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'ethernet max bw {interface}' +command: network.py test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'ethernet max bw {interface}' _purpose: User verification of whether the observed transfer throughput is acceptable for the type and maximum speed of each ethernet interface. @@ -175,7 +175,7 @@ _summary: Stress and performance test of ethernet device {__index__} ({interface estimated_duration: 330.0 requires: package.name == 'ethtool' -command: network test -i {interface} -t stress +command: network.py test -i {interface} -t stress _description: Automated test that tests performance of ethernet device {__index__} ({interface}). @@ -415,7 +415,7 @@ user: root environ: TEST_TARGET_IPERF LD_LIBRARY_PATH -command: network test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 90 --num_runs 4 +command: network.py test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 90 --num_runs 4 _description: This test uses iperf3 to ensure network devices pass data at an acceptable minimum percentage of advertized speed. @@ -433,7 +433,7 @@ user: root environ: TEST_TARGET_IPERF LD_LIBRARY_PATH -command: network test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 50 --cpu-load-fail-threshold 90 --runtime 90 --num_runs 4 --reverse +command: network.py test -i {interface} -t iperf --iperf3 --scan-timeout 3600 --fail-threshold 50 --cpu-load-fail-threshold 90 --runtime 90 --num_runs 4 --reverse _description: This test uses iperf3 to ensure network devices pass data at an acceptable minimum percentage of advertized speed (Reverse). @@ -491,7 +491,7 @@ depends: suspend/suspend_advanced_auto estimated_duration: 1.2 requires: device.category == 'NETWORK' -command: network_reconnect_resume_test -t 10 -d wired +command: network_reconnect_resume_test.py -t 10 -d wired _summary: Network reconnect resume test (wired) _description: Checks the length of time it takes to reconnect an existing wired connection diff --git a/units/firewire/jobs.pxu b/units/firewire/jobs.pxu index 9a0df3f..ced87cc 100644 --- a/units/firewire/jobs.pxu +++ b/units/firewire/jobs.pxu @@ -2,7 +2,7 @@ plugin: user-interact category_id: com.canonical.plainbox::firewire id: firewire/insert require: device.category == 'FIREWIRE' -command: removable_storage_watcher insert firewire +command: removable_storage_watcher.py insert firewire _description: PURPOSE: This test will check the system can detect the insertion of a FireWire HDD @@ -20,7 +20,7 @@ id: firewire/storage-test user: root require: device.category == 'FIREWIRE' depends: firewire/insert -command: removable_storage_test -s 268400000 firewire +command: removable_storage_test.py -s 268400000 firewire _description: This is an automated test which performs read/write operations on an attached FireWire HDD @@ -30,7 +30,7 @@ category_id: com.canonical.plainbox::firewire id: firewire/remove depends: firewire/insert require: device.category == 'FIREWIRE' -command: removable_storage_watcher remove firewire +command: removable_storage_watcher.py remove firewire _description: PURPOSE: This test will check the system can detect the removal of a FireWire HDD diff --git a/units/floppy/jobs.pxu b/units/floppy/jobs.pxu deleted file mode 100644 index ff4018d..0000000 --- a/units/floppy/jobs.pxu +++ /dev/null @@ -1,9 +0,0 @@ -unit: template -template-resource: device -template-filter: device.driver == 'floppy' -plugin: shell -category_id: com.canonical.plainbox::floppy -id: floppy/check_{name} -_description: Floppy test for {product} -user: root -command: floppy_test /dev/{name} diff --git a/units/graphics/jobs.pxu b/units/graphics/jobs.pxu index fba1f7e..30da64e 100644 --- a/units/graphics/jobs.pxu +++ b/units/graphics/jobs.pxu @@ -5,8 +5,8 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_driver_version_{product_slug} command: - source graphics_env {driver} {index} - graphics_driver + source graphics_env.sh {driver} {index} + graphics_driver.py estimated_duration: 0.5 _description: Parses Xorg.0.log and discovers the running X driver and version for the {vendor} {product} graphics card _summary: Test X driver/version for {vendor} {product} @@ -68,7 +68,7 @@ id: graphics/{index}_resolution_{product_slug} requires: device.category == 'VIDEO' package.name == 'zenity' -command: resolution_test | zenity --text-info +command: resolution_test.py | zenity --text-info estimated_duration: 10.00 _summary: Test default resolution for {vendor} {product} _description: @@ -108,8 +108,8 @@ id: graphics/{index}_minimum_resolution_{product_slug} requires: device.category == 'VIDEO' command: - source graphics_env {driver} {index} - resolution_test --horizontal 800 --vertical 600 + source graphics_env.sh {driver} {index} + resolution_test.py --horizontal 800 --vertical 600 estimated_duration: 0.331 _summary: Test that {vendor} {product} meets minimum resolution requirement _description: @@ -127,7 +127,7 @@ requires: device.category == 'VIDEO' package.name == 'zenity' command: - source graphics_env {driver} {index} + source graphics_env.sh {driver} {index} maxi="$(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{{print $1}}')" now="$(python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); geo = screen.get_monitor_geometry(screen.get_primary_monitor()); print(geo.width, "x", geo.height, sep="")')" test "$maxi" != "$now" && notify="\nPlease switch to the maximum resolution \nfor every graphic tests" @@ -149,7 +149,7 @@ template-resource: graphics_card id: graphics/{index}_modes_{product_slug} plugin: shell category_id: com.canonical.plainbox::graphics -command: graphics_modes_info +command: graphics_modes_info.py estimated_duration: 0.250 _description: Collect info on graphics modes (screen resolution and refresh rate) for {vendor} {product} _summary: Test graphic modes info for {vendor} {product} @@ -159,7 +159,7 @@ template-resource: graphics_card id: graphics/{index}_color_depth_{product_slug} plugin: shell category_id: com.canonical.plainbox::graphics -command: color_depth_info +command: color_depth_info.py estimated_duration: 0.150 _description: Collect info on color depth and pixel format for {vendor} {product} _summary: Test color depth info for {vendor} {product} @@ -169,7 +169,7 @@ template-resource: graphics_card id: graphics/{index}_fresh_rate_{product_slug} plugin: shell category_id: com.canonical.plainbox::graphics -command: fresh_rate_info +command: fresh_rate_info.py _description: Collect info on fresh rate for {vendor} {product}. _summary: Test refresh rate for {vendor} {product} @@ -178,7 +178,7 @@ template-resource: graphics_card id: graphics/{index}_graphic_memory_{product_slug} plugin: shell category_id: com.canonical.plainbox::graphics -command: graphic_memory_info +command: graphic_memory_info.py _description: Collect info on graphic memory for {vendor} {product}. _summary: Test graphic memory info for {vendor} {product}. @@ -191,8 +191,8 @@ requires: package.name == 'xorg' package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' command: - source graphics_env {driver} {index} - gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' + source graphics_env.sh {driver} {index} + gst_pipeline_test.py -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test.py -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' _summary: Test that video can be displayed with {vendor} {product} _description: PURPOSE: @@ -219,8 +219,8 @@ id: graphics/{index}_cycle_resolution_{product_slug} requires: package.name == 'xorg' depends: graphics/VESA_drivers_not_in_use command: - source graphics_env {driver} {index} - xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE + source graphics_env.sh {driver} {index} + xrandr_cycle.py --screenshot-dir $PLAINBOX_SESSION_SHARE estimated_duration: 250.000 _summary: Test resolution cycling for {vendor} {product} _description: @@ -239,8 +239,8 @@ category_id: com.canonical.plainbox::graphics id: graphics/{index}_rotation_{product_slug} depends: graphics/xorg-version command: - source graphics_env {driver} {index} - rotation_test + source graphics_env.sh {driver} {index} + rotation_test.py estimated_duration: 20.000 _summary: Test rotation for {vendor} {product} _description: @@ -258,7 +258,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_gl_support_{product_slug} requires: package.name == 'nux-tools' -command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error" +command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser.py | grep -e ":\(\s\+\)no$" -ie "error" estimated_duration: 0.131 _description: Check that {vendor} {product} hardware is able to run a desktop session (OpenGL) _summary: Test OpenGL support for {vendor} {product} @@ -286,7 +286,7 @@ category_id: com.canonical.plainbox::graphics id: graphics/{index}_glxgears_{product_slug} requires: executable.name == 'glxgears' command: - source graphics_env {driver} {index} + source graphics_env.sh {driver} {index} glxgears true _summary: Test that glxgears works for {vendor} {product} @@ -307,7 +307,7 @@ category_id: com.canonical.plainbox::graphics id: graphics/{index}_glxgears_fullscreen_{product_slug} requires: executable.name == 'glxgears' command: - source graphics_env {driver} {index} + source graphics_env.sh {driver} {index} glxgears -fullscreen true _summary: Test that glxgears works on fullscreen for {vendor} {product} @@ -327,7 +327,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_3d_window_open_close_{product_slug} requires: executable.name == 'glxgears' -command: window_test -t open-close -i 10 +command: window_test.py -t open-close -i 10 estimated_duration: 60.525 _description: Open and close a 3D window multiple times on the {vendor} {product} video card _summary: Test 3D window open/close for {vendor} {product} @@ -338,7 +338,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_3d_window_suspend_resume_{product_slug} requires: executable.name == 'glxgears' -command: window_test -t suspend-resume -i 10 +command: window_test.py -t suspend-resume -i 10 estimated_duration: 121.00 _description: Open, suspend resume and close a 3D window multiple times on the {vendor} {product} video card _summary: Test a 3D window with suspend/resume for {vendor} {product} @@ -349,7 +349,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_multi_3d_windows_open_close_{product_slug} requires: executable.name == 'glxgears' -command: window_test -t open-close-multi -i 10 -w 4 +command: window_test.py -t open-close-multi -i 10 -w 4 estimated_duration: 60.000 _description: Open and close 4 3D windows multiple times on the {vendor} {product} video card _summary: Test Multi 3D window open/close for {vendor} {product} @@ -362,7 +362,7 @@ id: graphics/{index}_3d_window_move_{product_slug} requires: executable.name == 'glxgears' executable.name == 'wmctrl' -command: window_test -t move +command: window_test.py -t move estimated_duration: 50.000 _description: Move a 3D window around the screen on the {vendor} {product} video card _summary: Test 3D window movement for {vendor} {product} @@ -373,7 +373,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/{index}_screenshot_{product_slug} requires: package.name == 'fswebcam' -command: set -o pipefail; camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg -q 2>&1 | ansi_parser +command: set -o pipefail; camera_test.py still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg -q 2>&1 | ansi_parser.py _summary: Test grabbing a screenshot for {vendor} {product} _description: PURPOSE: @@ -404,7 +404,7 @@ command: gsettings set org.gnome.totem repeat true totem --fullscreen $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv 2>/dev/null & set -o pipefail - sleep 15 && camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg -q 2>&1 | ansi_parser + sleep 15 && camera_test.py still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg -q 2>&1 | ansi_parser.py sleep 5 && pkill totem gsettings set org.gnome.totem repeat false _summary: Test FSV screenshot for {vendor} {product} @@ -523,7 +523,7 @@ plugin: shell user: root command: {switch_to_cmd} - pm_test --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox reboot --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE + pm_test.py --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox reboot --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn preserve-locale also-after-suspend plugin: shell @@ -532,7 +532,7 @@ id: graphics/nvlink-status-check requires: dmi.product in ['Desktop','Low Profile Desktop','Tower','Mini Tower', 'Space-saving'] graphics_card.driver == 'nvidia' -command: nvidia_nvlink_check +command: nvidia_nvlink_check.sh _summary: Check NVIDIA NVLINK status _description: Check NVLINK are supported and NVLINK are connected properly on system, please make sure below items before testing: 1. More than one NVIDIA Graphic card are installed. diff --git a/units/graphics/legacy.pxu b/units/graphics/legacy.pxu index 6f18e02..5f20f7b 100644 --- a/units/graphics/legacy.pxu +++ b/units/graphics/legacy.pxu @@ -1,7 +1,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/driver_version -command: graphics_driver +command: graphics_driver.py estimated_duration: 0.500 _description: Parses Xorg.0.Log and discovers the running X driver and version _summary: Test X driver/version @@ -29,7 +29,7 @@ id: graphics/resolution requires: device.category == 'VIDEO' flags: deprecated -command: resolution_test +command: resolution_test.py estimated_duration: 0.750 _summary: Test default resolution (for old checkbox) _description: @@ -64,7 +64,7 @@ category_id: com.canonical.plainbox::graphics id: graphics/minimum_resolution requires: device.category == 'VIDEO' -command: resolution_test --horizontal 800 --vertical 600 +command: resolution_test.py --horizontal 800 --vertical 600 estimated_duration: 0.331 _summary: Test that system meets minimum resolution requirement _description: @@ -94,7 +94,7 @@ _description: id: graphics/modes plugin: shell category_id: com.canonical.plainbox::graphics -command: graphics_modes_info +command: graphics_modes_info.py estimated_duration: 0.250 _description: Collect info on graphics modes (screen resolution and refresh rate) _summary: Collect info on graphics modes @@ -102,7 +102,7 @@ _summary: Collect info on graphics modes id: graphics/color_depth plugin: shell category_id: com.canonical.plainbox::graphics -command: color_depth_info +command: color_depth_info.py estimated_duration: 0.150 _description: Collect info on color depth and pixel format. _summary: Collect info on color depth and pixel format. @@ -110,14 +110,14 @@ _summary: Collect info on color depth and pixel format. id: graphics/fresh_rate plugin: shell category_id: com.canonical.plainbox::graphics -command: fresh_rate_info +command: fresh_rate_info.py _description: Collect info on fresh rate. _summary: Collect info on fresh rate. id: graphics/graphic_memory plugin: shell category_id: com.canonical.plainbox::graphics -command: graphic_memory_info +command: graphic_memory_info.py _description: Collect info on graphic memory. _summary: Collect info on graphic memory. @@ -126,7 +126,7 @@ category_id: com.canonical.plainbox::graphics id: graphics/cycle_resolution requires: package.name == 'xorg' depends: graphics/VESA_drivers_not_in_use -command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE +command: xrandr_cycle.py --screenshot-dir $PLAINBOX_SESSION_SHARE estimated_duration: 250.000 _summary: Test resolution cycling _description: @@ -141,7 +141,7 @@ plugin: user-interact-verify category_id: com.canonical.plainbox::graphics id: graphics/rotation depends: graphics/xorg-version -command: rotation_test +command: rotation_test.py estimated_duration: 20.000 _summary: Test rotation _description: @@ -157,7 +157,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/gl_support requires: package.name == 'nux-tools' -command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error" +command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser.py | grep -e ":\(\s\+\)no$" -ie "error" estimated_duration: 0.131 _description: Check that hardware is able to run a desktop session (OpenGL) _summary: Test OpenGL support @@ -182,7 +182,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/3d_window_open_close requires: executable.name == 'glxgears' -command: window_test -t open-close -i 10 +command: window_test.py -t open-close -i 10 estimated_duration: 60.525 _summary: Test 3D window open/close _description: Open and close a 3D window multiple times @@ -191,7 +191,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/3d_window_suspend_resume requires: executable.name == 'glxgears' -command: window_test -t suspend-resume -i 10 +command: window_test.py -t suspend-resume -i 10 estimated_duration: 121.00 _description: Open, suspend resume and close a 3D window multiple times _summary: Test a 3D window with suspend/resume @@ -200,7 +200,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/multi_3d_windows_open_close requires: executable.name == 'glxgears' -command: window_test -t open-close-multi -i 10 -w 4 +command: window_test.py -t open-close-multi -i 10 -w 4 estimated_duration: 60.000 _description: Open and close 4 3D windows multiple times _summary: Test Multi 3D window open/close @@ -209,7 +209,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/3d_window_move requires: executable.name == 'glxgears' -command: window_test -t move +command: window_test.py -t move estimated_duration: 50.000 _description: Move a 3D window around the screen _summary: Test 3D window movement @@ -218,7 +218,7 @@ plugin: shell category_id: com.canonical.plainbox::graphics id: graphics/screenshot requires: package.name == 'fswebcam' -command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot.jpg -q 2>&1 | ansi_parser +command: set -o pipefail; camera_test.py still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot.jpg -q 2>&1 | ansi_parser.py _summary: Test grabbing a screenshot _description: PURPOSE: @@ -245,7 +245,7 @@ command: gsettings set org.gnome.totem repeat true totem --fullscreen ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv 2>/dev/null & set -o pipefail - sleep 15 && camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video.jpg -q 2>&1 | ansi_parser + sleep 15 && camera_test.py still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video.jpg -q 2>&1 | ansi_parser.py sleep 5 && totem --quit 2>/dev/null gsettings set org.gnome.totem repeat false _summary: Test FSV screenshot diff --git a/units/hibernate/jobs.pxu b/units/hibernate/jobs.pxu index 75f233f..dc88366 100644 --- a/units/hibernate/jobs.pxu +++ b/units/hibernate/jobs.pxu @@ -11,8 +11,8 @@ command: echo "Calling fwts" 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 + echo "Calling sleep_test.py" + sleep_test.py -s disk -w 120 fi estimated_duration: 300.00 _description: @@ -56,8 +56,8 @@ command: echo "Calling fwts" 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 + echo "Calling sleep_test.py" + sleep_test.py -s disk -w 120 fi _purpose: This test will check to make sure your system can successfully hibernate (if supported) @@ -72,7 +72,7 @@ _verification: plugin: shell category_id: com.canonical.plainbox::hibernate id: power-management/hibernate-single-log-check -command: [ -e $PLAINBOX_SESSION_SHARE/hibernate-single.log ] && sleep_test_log_check -v s4 $PLAINBOX_SESSION_SHARE/hibernate-single.log +command: [ -e $PLAINBOX_SESSION_SHARE/hibernate-single.log ] && sleep_test_log_check.py -v s4 $PLAINBOX_SESSION_SHARE/hibernate-single.log _description: Automated check of the hibernate log for errors discovered by fwts diff --git a/units/info/jobs.pxu b/units/info/jobs.pxu index e1d56ae..1e48eee 100644 --- a/units/info/jobs.pxu +++ b/units/info/jobs.pxu @@ -19,9 +19,9 @@ category_id: com.canonical.plainbox::info user: root command: if [ -e /var/log/dmesg ]; then - cat /var/log/dmesg | ansi_parser + cat /var/log/dmesg | ansi_parser.py else - dmesg | ansi_parser + dmesg | ansi_parser.py fi estimated_duration: 0.640 _description: Attaches a copy of /var/log/dmesg or the current dmesg buffer to the test results @@ -184,9 +184,9 @@ _summary: Attach dump of udev database id: udev_resource_attachment plugin: attachment category_id: com.canonical.plainbox::info -command: udev_resource +command: udev_resource.py estimated_duration: 0.432 -_description: Attaches the output of udev_resource, for debugging purposes +_description: Attaches the output of udev_resource.py, for debugging purposes id: lsblk_attachment estimated_duration: 0.1 @@ -202,13 +202,13 @@ plugin: attachment category_id: com.canonical.plainbox::info requires: package.name == 'lcov' user: root -command: gcov_tarball +command: gcov_tarball.sh _description: Attaches a tarball of gcov data if present. id: lsmod_attachment plugin: attachment category_id: com.canonical.plainbox::info -command: lsmod_info +command: lsmod_info.py estimated_duration: 0.5 _description: Attaches a list of the currently running kernel modules. _summary: Attach a list of currently running kernel modules @@ -236,7 +236,7 @@ _description: Bootchart information. requires: package.name == 'bootchart' or package.name == 'pybootchartgui' user: root command: - process_wait -u root bootchart collector ureadahead; \ + process_wait.py -u root bootchart collector ureadahead; \ [ `ls /var/log/bootchart/*.tgz 2>/dev/null | wc -l` -lt 2 ] && reboot && sleep 100 unit: template @@ -290,7 +290,7 @@ plugin: attachment category_id: com.canonical.plainbox::info id: info/touchpad_driver requires: device.category == 'TOUCHPAD' -command: touchpad_driver_info +command: touchpad_driver_info.py estimated_duration: 0.384 _description: Returns the name, driver name and driver version of any touchpad discovered on @@ -303,7 +303,7 @@ requires: package.name == 'pulseaudio-utils' package.name == 'kmod' or package.name == 'module-init-tools' device.category == 'AUDIO' -command: audio_driver_info +command: audio_driver_info.py estimated_duration: 0.177 _description: Lists the device driver and version for all audio devices. @@ -317,7 +317,7 @@ _description: Provides information about network devices plugin: attachment category_id: com.canonical.plainbox::info id: info/mobile_broadband_info -command: broadband_info +command: broadband_info.sh estimated_duration: 0.5 _description: Provides information about wwan/mobile broadband devices @@ -458,7 +458,7 @@ plugin: attachment category_id: com.canonical.plainbox::info estimated_duration: 0.2 _summary: attach network configuration -command: network_configs +command: network_configs.sh id: parts_meta_info_attachment plugin: attachment diff --git a/units/input/jobs.pxu b/units/input/jobs.pxu index 0bf880d..5f5cde0 100644 --- a/units/input/jobs.pxu +++ b/units/input/jobs.pxu @@ -30,7 +30,7 @@ plugin: user-interact-verify category_id: com.canonical.plainbox::input id: input/keyboard estimated_duration: 30.0 -command: keyboard_test +command: keyboard_test.py requires: device.category == 'KEYBOARD' _description: PURPOSE: @@ -47,7 +47,7 @@ id: input/accelerometer estimated_duration: 60.0 user: root requires: device.category == 'ACCELEROMETER' -command: accelerometer_test -m +command: accelerometer_test.py -m _description: PURPOSE: This test will test your accelerometer to see if it is detected diff --git a/units/keys/jobs.pxu b/units/keys/jobs.pxu index fc07eb6..6eec1d4 100644 --- a/units/keys/jobs.pxu +++ b/units/keys/jobs.pxu @@ -5,7 +5,7 @@ estimated_duration: 30.0 imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual -command: lock_screen_watcher +command: lock_screen_watcher.py _description: PURPOSE: This test will test the screen lock key @@ -41,7 +41,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual user: root -command: key_test -s '0xe02e,0xe0ae:Volume Down' '0xe030,0xe0b0:Volume Up' +command: key_test.py -s '0xe02e,0xe0ae:Volume Down' '0xe030,0xe0b0:Volume Up' _description: PURPOSE: This test will test the volume keys of your keyboard @@ -60,7 +60,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual user: root -command: key_test -s '0xe020,0xe0a0:Mute' +command: key_test.py -s '0xe020,0xe0a0:Mute' _description: PURPOSE: This test will test the mute key of your keyboard @@ -94,7 +94,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual user: root -command: key_test -s '0xe071,0xef1:Battery Info' +command: key_test.py -s '0xe071,0xef1:Battery Info' _description: PURPOSE: This test will test the battery information key @@ -136,7 +136,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual user: root -command: key_test -s 0xe010,0xe090:Previous 0xe024,0xe0a4:Stop 0xe019,0xe099:Next 0xe022,0xe0a2:Play +command: key_test.py -s 0xe010,0xe090:Previous 0xe024,0xe0a4:Stop 0xe019,0xe099:Next 0xe022,0xe0a2:Play _description: PURPOSE: This test will test the media keys of your keyboard @@ -155,7 +155,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_special_keys == 'True' flags: also-after-suspend-manual user: root -command: key_test -s '0xe05b,0xe0db:Left Super Key' +command: key_test.py -s '0xe05b,0xe0db:Left Super Key' _description: PURPOSE: This test will test the super key of your keyboard @@ -229,11 +229,11 @@ requires: package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' flags: also-after-suspend-manual command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: diff --git a/units/led/jobs.pxu b/units/led/jobs.pxu index 2df4758..1ff3c38 100644 --- a/units/led/jobs.pxu +++ b/units/led/jobs.pxu @@ -82,7 +82,7 @@ plugin: user-interact-verify category_id: led id: led/hdd estimated_duration: 30.0 -command: led_hdd_test +command: led_hdd_test.sh _description: PURPOSE: HDD LED verification @@ -96,7 +96,7 @@ plugin: user-interact-verify category_id: led id: led/numeric-keypad estimated_duration: 30.0 -command: keyboard_test +command: keyboard_test.py _description: PURPOSE: Numeric keypad LED verification diff --git a/units/mediacard/jobs.pxu b/units/mediacard/jobs.pxu index 1d27f48..05b8345 100644 --- a/units/mediacard/jobs.pxu +++ b/units/mediacard/jobs.pxu @@ -7,7 +7,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -37,7 +37,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 67120000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 67120000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _description: This test is automated and executes after the mediacard/mmc-insert @@ -53,7 +53,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _description: @@ -76,7 +76,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -107,7 +107,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _summary: Test reading & writing to a SD Card _description: @@ -124,7 +124,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _summary: Test that removal of an SD card is detected @@ -145,7 +145,7 @@ id: mediacard/sd-preinserted 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 +command: removable_storage_test.py -s 268400000 --memorycard -l sdio usb scsi && removable_storage_test.py --memorycard sdio usb scsi imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' @@ -162,7 +162,7 @@ id: mediacard/sd-preinserted-server estimated_duration: 30.0 user: root flags: preserve-cwd -command: removable_storage_test -s 268400000 --memorycard -l sdio usb && removable_storage_test --memorycard sdio usb +command: removable_storage_test.py -s 268400000 --memorycard -l sdio usb && removable_storage_test.py --memorycard sdio usb requires: package.name == 'udisks2' or snap.name == 'udisks2' _summary: Automated test of SD Card reading & writing (udisk2) for servers @@ -179,7 +179,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -211,7 +211,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _summary: Test that insertion of an SDHC card is detected _description: @@ -228,7 +228,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _summary: Test that removal of an SDHC card is detected @@ -252,7 +252,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -282,7 +282,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _description: This test is automated and executes after the mediacard/cf-insert @@ -298,7 +298,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _description: @@ -321,7 +321,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -352,7 +352,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _summary: Test reading & writing to a SDXC Card _description: @@ -369,7 +369,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _summary: Test that removal of an SDXC card is detected @@ -393,7 +393,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -423,7 +423,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _description: This test is automated and executes after the mediacard/ms-insert @@ -439,7 +439,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _description: @@ -462,7 +462,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} user: root imports: from com.canonical.plainbox import manifest @@ -492,7 +492,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _description: This test is automated and executes after the mediacard/msp-insert @@ -508,7 +508,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _description: @@ -531,7 +531,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion mediacard {%- else %} - removable_storage_watcher --memorycard insert sdio usb scsi + removable_storage_watcher.py --memorycard insert sdio usb scsi {% endif -%} imports: from com.canonical.plainbox import manifest requires: @@ -561,7 +561,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} _description: This test is automated and executes after the mediacard/xd-insert @@ -577,7 +577,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal mediacard {%- else %} - removable_storage_watcher --memorycard remove sdio usb scsi + removable_storage_watcher.py --memorycard remove sdio usb scsi {% endif -%} user: root _description: @@ -603,7 +603,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -627,7 +627,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -651,7 +651,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 209715200 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 209715200 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -675,7 +675,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -699,7 +699,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -723,7 +723,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -747,7 +747,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: @@ -771,7 +771,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 --memorycard sdio usb scsi --auto-reduce-size + removable_storage_test.py -s 268400000 --memorycard sdio usb scsi --auto-reduce-size {% endif -%} environ: LD_LIBRARY_PATH GI_TYPELIB_PATH _description: diff --git a/units/memory/jobs.pxu b/units/memory/jobs.pxu index 5fad4f4..a44975e 100644 --- a/units/memory/jobs.pxu +++ b/units/memory/jobs.pxu @@ -3,7 +3,7 @@ category_id: com.canonical.plainbox::memory id: memory/info estimated_duration: 5.0 user: root -command: memory_compare +command: memory_compare.py _summary: Check amount of memory reported by meminfo against DMI _description: @@ -17,7 +17,7 @@ estimated_duration: 1000.0 user: root requires: uname.name == 'Linux' -command: memory_test +command: memory_test.py _summary: Run memory stress test including swapping to disk _description: @@ -31,11 +31,11 @@ category_id: 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 +command: meminfo_resource.py > $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 -", + "command": "meminfo_resource.py | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend -", "depends": "com.canonical.certification::suspend/suspend_advanced_auto"} ] @@ -47,7 +47,7 @@ user: root environ: STRESS_NG_MIN_SWAP_SIZE requires: package.name == 'stress-ng' or executable.name == 'stress-ng' -command: stress_ng_test memory +command: stress_ng_test.py memory _summary: Stress test of system memory _description: Test to perform some basic stress and exercise of system memory via the diff --git a/units/miscellanea/jobs.pxu b/units/miscellanea/jobs.pxu index 59a66b4..e5d6965 100644 --- a/units/miscellanea/jobs.pxu +++ b/units/miscellanea/jobs.pxu @@ -56,7 +56,7 @@ id: miscellanea/chvt requires: package.name == 'kbd' user: root -command: cycle_vts +command: cycle_vts.sh _description: PURPOSE: This test will check that the system can switch to a virtual terminal and back to X @@ -119,7 +119,7 @@ requires: _summary: Test that system booted in EFI mode _description: Test to verify that the system booted in EFI mode with Secure Boot active. -command: boot_mode_test efi +command: boot_mode_test.py efi plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -131,7 +131,7 @@ depends: miscellanea/efi_boot_mode _summary: Test that system booted with Secure Boot active _description: Test to verify that the system booted in Secure Boot active. -command: boot_mode_test secureboot +command: boot_mode_test.py secureboot plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -143,7 +143,7 @@ depends: miscellanea/efi_boot_mode _summary: Test that system supports booting into firmware setup utility _description: Test that the system supports rebooting into the firmware setup utility. -command: boot_mode_test reboot_firmware +command: boot_mode_test.py reboot_firmware plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -173,7 +173,7 @@ _summary: Test that system booted from the network _description: Test to verify that the system booted from the network. Works only on EFI-based systems. -command: efi-pxeboot +command: efi-pxeboot.py plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -183,7 +183,7 @@ _summary: Test that system is not a pre-release version _description: Test to verify that the system uses production, rather than pre-release, versions of the kernel and the OS. -command: check-prerelease +command: check-prerelease.py plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -193,7 +193,7 @@ _summary: Test that kernel is not tainted _description: Test to verify that the kernel is not tainted by out-of-tree drivers, live patches, proprietary modules, etc. -command: kernel_taint_test +command: kernel_taint_test.py plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -203,7 +203,7 @@ requires: cpuinfo.platform != 's390x' estimated_duration: 0.5 user: root -command: bmc_info +command: bmc_info.py _description: This will gather some info about the BMC itself for diagnostic purposes. This will not works on non-IPMI systems like AMT and blade/sled type systems. @@ -218,7 +218,7 @@ requires: dmi_present.state == 'supported' estimated_duration: 0.5 user: root -command: dmitest cpu-check +command: dmitest.py cpu-check _description: Sanity check of CPU information; fails if CPU is an engineering sample _summary: @@ -232,7 +232,7 @@ requires: dmi_present.state == 'supported' estimated_duration: 0.5 user: root -command: dmitest server +command: dmitest.py server _description: Sanity check of DMI system identification data (for servers) _summary: @@ -246,7 +246,7 @@ requires: dmi_present.state == 'supported' estimated_duration: 0.5 user: root -command: dmitest --test_versions --test_serials desktop +command: dmitest.py --test_versions --test_serials desktop _description: Sanity check of DMI system identification data (for desktops & laptops) _summary: @@ -258,7 +258,7 @@ id: miscellanea/is_laptop user: root _description: Determine if we need to run tests specific to portable computers that may not apply to desktops. -command: check_is_laptop +command: check_is_laptop.sh plugin: shell category_id: com.canonical.plainbox::miscellanea @@ -271,7 +271,7 @@ _description: plugin: shell category_id: com.canonical.plainbox::miscellanea id: miscellanea/sources-list -command: sources_test $SOURCES_LIST "$REPOSITORIES" +command: sources_test.sh $SOURCES_LIST "$REPOSITORIES" _description: Checks that a specified sources list file contains the requested repositories unit: template @@ -394,7 +394,7 @@ plugin: shell category_id: com.canonical.plainbox::miscellanea estimated_duration: 0.1 id: miscellanea/get_maas_version -command: maas-version-check +command: maas-version-check.sh _description: If system was installed via MAAS from a cert server, the MAAS version used should be contained in /etc/installed-by-maas _summary: Verify MAAS version used to deploy the SUT @@ -403,7 +403,7 @@ category_id: com.canonical.plainbox::miscellanea estimated_duration: 30.0 id: miscellanea/get_make_and_model user: root -command: get_make_and_model +command: get_make_and_model.py requires: dmi_present.state == 'supported' _description: Retrieve the computer's make and model for easier access than digging through the dmidecode output. @@ -413,7 +413,7 @@ plugin: user-interact-verify category_id: com.canonical.plainbox::miscellanea estimated_duration: 5.0 id: miscellanea/device_check -command: udev_resource -l VIDEO NETWORK WIRELESS BLUETOOTH DISK CAPTURE ACCELEROMETER | tee >([[ $DISPLAY ]] && zenity --text-info --title="Device report") +command: udev_resource.py -l VIDEO NETWORK WIRELESS BLUETOOTH DISK CAPTURE ACCELEROMETER | tee >([[ $DISPLAY ]] && zenity --text-info --title="Device report") _summary: Device Check _purpose: Device check diff --git a/units/mobilebroadband/jobs.pxu b/units/mobilebroadband/jobs.pxu index 0c83428..c7a2ab5 100644 --- a/units/mobilebroadband/jobs.pxu +++ b/units/mobilebroadband/jobs.pxu @@ -11,7 +11,7 @@ environ: GSM_CONN_NAME GSM_APN GSM_USERNAME GSM_PASSWORD command: if [ -n "${GSM_APN}" ]; then trap "nmcli con delete id $GSM_CONN_NAME" EXIT - create_connection mobilebroadband gsm \ + create_connection.py mobilebroadband gsm \ `[ -n "${GSM_APN}" ] && echo "--apn=$GSM_APN"` \ `[ -n "${GSM_CONN_NAME}" ] && echo "--name=$GSM_CONN_NAME"` \ `[ -n "${GSM_USERNAME}" ] && echo "--username=$GSM_USERNAME"` \ @@ -41,7 +41,7 @@ environ: CDMA_CONN_NAME CDMA_USERNAME CDMA_PASSWORD command: if [ -n "${CDMA_USERNAME}" ]; then trap "nmcli con delete id $CDMA_CONN_NAME" EXIT - create_connection mobilebroadband cdma \ + create_connection.py mobilebroadband cdma \ `[ -n "${CDMA_CONN_NAME}" ] && echo "--name=$CDMA_CONN_NAME"` \ `[ -n "${CDMA_USERNAME}" ] && echo "--username=$CDMA_USERNAME"` \ `[ -n "${CDMA_PASSWORD}" ] && echo "--password=$CDMA_PASSWORD"` || exit 1 @@ -70,7 +70,7 @@ requires: package.name == 'iperf' environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS user: root -command: network test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'mobile broadband max bw {interface}' +command: network.py test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'mobile broadband max bw {interface}' _purpose: User verification of whether the observed transfer throughput is acceptable for the type and maximum speed of device {__index__} ({interface}). @@ -94,7 +94,7 @@ requires: package.name == 'iperf' environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS user: root -command: network test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'mobile broadband max bw {interface}' +command: network.py test -i {interface} -t iperf 2>&1 | cat - <(echo; echo "Verify the result and click OK to decide on the outcome") | zenity --text-info --title 'mobile broadband max bw {interface}' _purpose: User verification of whether the observed transfer throughput is acceptable for the type and maximum speed of device {__index__} ({interface}). diff --git a/units/monitor/jobs.pxu b/units/monitor/jobs.pxu index c16471d..647dc09 100644 --- a/units/monitor/jobs.pxu +++ b/units/monitor/jobs.pxu @@ -154,7 +154,7 @@ plugin: user-interact-verify category_id: com.canonical.plainbox::monitor user: root flags: also-after-suspend-manual -command: brightness_test +command: brightness_test.py _purpose: This test will test changes to screen brightness _steps: diff --git a/units/networking/jobs.pxu b/units/networking/jobs.pxu index b697b84..b5a6805 100644 --- a/units/networking/jobs.pxu +++ b/units/networking/jobs.pxu @@ -27,7 +27,7 @@ _description: plugin: user-interact-verify category_id: com.canonical.plainbox::networking id: networking/modem_connection -command: network_check +command: network_check.py _description: PURPOSE: This test will check that a DSL modem can be configured and connected. @@ -61,7 +61,7 @@ category_id: com.canonical.plainbox::networking id: networking/ntp requires: package.name == 'ntpdate' user: root -command: network_ntp_test +command: network_ntp_test.py _description: Test to see if we can sync local clock to an NTP server plugin: shell @@ -75,14 +75,14 @@ plugin: shell category_id: com.canonical.plainbox::networking id: networking/printer requires: package.name == 'cups-client' -command: network_printer_test -s $CHECKBOX_SERVER +command: network_printer_test.sh -s $CHECKBOX_SERVER _description: Try to enable a remote printer on the network and print a test page. plugin: shell category_id: com.canonical.plainbox::networking template-engine: jinja2 id: networking/predictable_names -command: network_predictable_names +command: network_predictable_names.sh _summary: Verify that all network interfaces have predictable names. _description: Verify that all network interfaces have predictable names. requires: diff --git a/units/optical/jobs.pxu b/units/optical/jobs.pxu index 53a2877..bcb93c3 100644 --- a/units/optical/jobs.pxu +++ b/units/optical/jobs.pxu @@ -5,7 +5,7 @@ requires: device.category == 'CDROM' estimated_duration: 1.2 _summary: Displays discovered optical drives _description: Detects optical drives (CD/DVD) attached to the system. -command: udev_resource -l CDROM +command: udev_resource.py -l CDROM unit: template template-resource: device @@ -15,7 +15,7 @@ category_id: com.canonical.plainbox::optical id: optical/read_{name} estimated_duration: 120.0 user: root -command: optical_read_test /dev/{name} +command: optical_read_test.py /dev/{name} flags: also-after-suspend-manual _description: PURPOSE: @@ -35,7 +35,7 @@ category_id: com.canonical.plainbox::optical id: optical/read-automated_{name} estimated_duration: 120.0 user: root -command: optical_read_test /dev/{name} +command: optical_read_test.py /dev/{name} _summary: Tests read functionality of optical drive {name} _description: @@ -51,7 +51,7 @@ estimated_duration: 120.0 requires: optical_drive_{name}.cd_write == 'supported' user: root -command: set -o pipefail; optical_write_test /dev/{name} cd | ansi_parser +command: set -o pipefail; optical_write_test.sh /dev/{name} cd | ansi_parser.py _description: PURPOSE: This test will check your system's {product} CD writing capabilities. This test requires a blank CD-R or CD+R. @@ -73,7 +73,7 @@ estimated_duration: 120.0 requires: optical_drive_{name}.cd_write == 'supported' user: root -command: set -o pipefail; optical_write_test /dev/{name} cd | ansi_parser +command: set -o pipefail; optical_write_test.sh /dev/{name} cd | ansi_parser.py _description: This is an automated version of optical/cdrom-write. It assumes you have already inserted a data CD into your {product} optical drive prior to running Checkbox. @@ -111,7 +111,7 @@ requires: optical_drive_{name}.dvd_write == 'supported' estimated_duration: 120.0 user: root -command: set -o pipefail; optical_write_test /dev/{name} dvd | ansi_parser +command: set -o pipefail; optical_write_test.sh /dev/{name} dvd | ansi_parser.py _description: PURPOSE: This test will check your system's {product} writing capabilities. This test requires a blank DVD-R or DVD+R. @@ -133,7 +133,7 @@ estimated_duration: 120.0 requires: optical_drive_{name}.dvd_write == 'supported' user: root -command: set -o pipefail; optical_write_test /dev/{name} dvd | ansi_parser +command: set -o pipefail; optical_write_test.sh /dev/{name} dvd | ansi_parser.py _description: This is an automated version of optical/dvd-write. It assumes you have already inserted a data DVD into your {product} optical drive prior to running Checkbox. @@ -164,7 +164,7 @@ estimated_duration: 120.0 requires: optical_drive_{name}.bd_read == "supported" user: root -command: optical_read_test /dev/{name} +command: optical_read_test.py /dev/{name} flags: also-after-suspend-manual _description: PURPOSE: @@ -186,7 +186,7 @@ requires: optical_drive_{name}.bd_write == "supported" package.name == "growisofs" user: root -command: set -o pipefail; optical_write_test /dev/{name} bd | ansi_parser +command: set -o pipefail; optical_write_test.sh /dev/{name} bd | ansi_parser.py estimated_duration: 120.00 _description: PURPOSE: diff --git a/units/power-management/jobs.pxu b/units/power-management/jobs.pxu index a84f004..76fd6db 100644 --- a/units/power-management/jobs.pxu +++ b/units/power-management/jobs.pxu @@ -38,7 +38,7 @@ depends: power-management/fwts_wakealarm user: root environ: PLAINBOX_SESSION_SHARE PM_TEST_DRY_RUN requires: executable.name == 'fwts' -command: pm_test --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox poweroff --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE +command: pm_test.py --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox poweroff --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn _description: This test will check the system's ability to power-off and boot. @@ -60,7 +60,7 @@ estimated_duration: 120.0 user: root environ: PLAINBOX_SESSION_SHARE PM_TEST_DRY_RUN requires: executable.name == 'fwts' -command: pm_test --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox reboot --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE +command: pm_test.py --silent --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox reboot --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn _description: This test will check the system's ability to reboot cleanly. @@ -173,7 +173,7 @@ requires: package.name == 'upower' depends: power-management/unplug_ac _description: Checks the battery drain during idle. Reports time and capacity until empty. command: - battery_test -t 90 --idle + battery_test.py -t 90 --idle plugin: shell category_id: com.canonical.plainbox::power-management @@ -184,7 +184,7 @@ requires: depends: power-management/unplug_ac _description: Checks the battery drain while watching a movie. Reports time and capacity until empty. Requires MOVIE_VAR to be set. command: - battery_test -t 90 --movie $MOVIE_VAR + battery_test.py -t 90 --movie $MOVIE_VAR plugin: shell category_id: com.canonical.plainbox::power-management @@ -197,7 +197,7 @@ requires: depends: power-management/unplug_ac _description: Checks the battery drain during suspend. Reports time and capacity until empty. command: - battery_test -t 120 --sleep + battery_test.py -t 120 --sleep plugin: manual category_id: com.canonical.plainbox::power-management @@ -345,7 +345,7 @@ id: power-management/light_sensor estimated_duration: 10.0 requires: dmi.product in ['Notebook','Laptop','Portable'] and executable.name == 'monitor-sensor' flags: also-after-suspend-manual -command: light_sensor_test +command: light_sensor_test.sh _description: _purpose: This test will check your Ambient Light Sensor work, if you don't have it, please skip this test. diff --git a/units/stress/jobs.pxu b/units/stress/jobs.pxu index 71a1ebf..93ea3f6 100644 --- a/units/stress/jobs.pxu +++ b/units/stress/jobs.pxu @@ -5,7 +5,7 @@ estimated_duration: 7200.0 requires: package.name == 'stress' user: root -command: num_vm=$(awk '/MemTotal/ {x=$2/262144; print ((x == int(x)) ? x : int(x) +1)}' /proc/meminfo); vm_bytes=$(($(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo)/$num_vm/4))M; stress --cpu `cpuinfo_resource | awk '/count:/ {print $2}'` --vm $num_vm --vm-bytes $vm_bytes --timeout 7200s +command: num_vm=$(awk '/MemTotal/ {x=$2/262144; print ((x == int(x)) ? x : int(x) +1)}' /proc/meminfo); vm_bytes=$(($(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo)/$num_vm/4))M; stress --cpu `cpuinfo_resource.py | awk '/count:/ {print $2}'` --vm $num_vm --vm-bytes $vm_bytes --timeout 7200s _description: Simulate high system load using the 'stress' tool to exercise the CPU for several hours. The test is considered passed if the system does not freeze or @@ -22,10 +22,10 @@ command: if [ -n "$STRESS_NG_CPU_TIME" ] then echo "Found STRESS_NG_CPU_TIME env var, stress_ng cpu running time is now: $STRESS_NG_CPU_TIME seconds" - stress_ng_test cpu --base-time $STRESS_NG_CPU_TIME + stress_ng_test.py cpu --base-time $STRESS_NG_CPU_TIME else echo STRESS_NG_CPU_TIME env var is not found, stress_ng cpu running time is default value - stress_ng_test cpu --base-time 7200 + stress_ng_test.py cpu --base-time 7200 fi _summary: Stress of CPUs (very long runtime) @@ -50,8 +50,8 @@ command: echo "Calling fwts" 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -s disk -i 30 -w 120 | tee $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log fi _description: PURPOSE: @@ -61,7 +61,7 @@ plugin: shell category_id: com.canonical.plainbox::stress id: power-management/hibernate-30-cycles-log-check estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log ] && sleep_test_log_check -v s4 $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log +command: [ -e $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log ] && sleep_test_log_check.py -v s4 $PLAINBOX_SESSION_SHARE/hibernate_30_cycles.log _description: Automated check of the 30 cycle hibernate log for errors detected by fwts. @@ -87,13 +87,13 @@ user: root environ: PM_TEST_DRY_RUN command: rm -f $PLAINBOX_SESSION_SHARE/__result - pm_test reboot --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --fwts --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE --suspends-before-reboot=30 -r 3 --silent --check-hardware-list + pm_test.py reboot --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --fwts --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE --suspends-before-reboot=30 -r 3 --silent --check-hardware-list _summary: 30 suspend/resume cycles and 1 reboot, 3 times (automated stress test) _description: This is an automated stress test that will run a sequence of '30 suspend/resume cycles and one reboot' 3 times. _siblings: [ { "id": "power-management/suspend_30_cycles_with_coldboots", - "command": "rm -f $PLAINBOX_SESSION_SHARE/__result; pm_test poweroff --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --fwts --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE --suspends-before-reboot=30 -r 3 --silent --check-hardware-list", + "command": "rm -f $PLAINBOX_SESSION_SHARE/__result; pm_test.py poweroff --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --fwts --log-level=debug --log-dir=$PLAINBOX_SESSION_SHARE --suspends-before-reboot=30 -r 3 --silent --check-hardware-list", "_description": "This is an automated stress test that will run a sequence of '30 suspend/resume cycles and one poweroff' 3 times.", "_summary": "30 suspend/resume cycles and 1 poweroff, 3 times (automated stress test)" } @@ -113,8 +113,8 @@ command: echo "Calling fwts" 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=60 --s3-sleep-delay=60 --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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -p -s mem -i 30 | tee $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log fi _description: PURPOSE: @@ -125,7 +125,7 @@ category_id: com.canonical.plainbox::stress id: power-management/suspend-30-cycles-log-check depends: power-management/suspend_30_cycles estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/suspend_30_cycles.log _description: Automated check of the 30 cycle suspend log for errors detected by fwts. @@ -134,14 +134,14 @@ category_id: com.canonical.plainbox::stress id: power-management/suspend-30-cycles-log-check-with-reboots depends: power-management/suspend_30_cycles_with_reboots estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log +command: [ -e $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log _summary: 30 suspend/resume cycles and 1 reboot, 3 times (check logs for errors) _description: Automated check of the '30 cycle suspend and 1 reboot times 3' logs for errors detected by fwts. _siblings: [ { "id": "power-management/suspend-30-cycles-log-check-with-coldboots", "depends": "power-management/suspend_30_cycles_with_coldboots", - "command": "[ -e $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log", + "command": "[ -e $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log", "_description": "Automated check of the '30 cycle suspend and 1 poweroff times 3' logs for errors detected by fwts.", "_summary": "30 suspend/resume cycles and 1 poweroff, 3 times (check logs for errors)" } @@ -179,7 +179,7 @@ category_id: com.canonical.plainbox::stress id: power-management/suspend-30-cycles-time-check estimated_duration: 1.0 depends: power-management/suspend_30_cycles -command: [ -e $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/suspend_30_cycles_times.log _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold @@ -188,14 +188,14 @@ category_id: com.canonical.plainbox::stress id: power-management/suspend-30-cycles-time-check-with-reboots estimated_duration: 1.0 depends: power-management/suspend_30_cycles_with_reboots -command: [ -e $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log +command: [ -e $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/pm_test.reboot.3.log _summary: 30 suspend/resume cycles and 1 reboot, 3 times (check logs for timing issues) _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold (warm boots) _siblings: [ { "id": "power-management/suspend-30-cycles-time-check-with-coldboots", "depends": "power-management/suspend_30_cycles_with_coldboots", - "command": "[ -e $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log", + "command": "[ -e $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/pm_test.poweroff.3.log", "_description": "Checks the sleep times to ensure that a machine suspends and resumes within a given threshold (cold boots)", "_summary": "30 suspend/resume cycles and 1 poweroff, 3 times (check logs for timing issues)" } @@ -213,8 +213,8 @@ command: echo "Calling fwts" 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -s disk -i 250 -w 120 | tee $PLAINBOX_SESSION_SHARE/hibernate_250_cycles.log fi _description: PURPOSE: @@ -240,8 +240,8 @@ command: echo "Calling fwts" 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -p -s mem -i 250 | tee $PLAINBOX_SESSION_SHARE/suspend_250_cycles.log fi _description: PURPOSE: @@ -259,7 +259,7 @@ plugin: shell category_id: com.canonical.plainbox::stress id: stress/suspend-250-cycles-time-check estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/suspend_250_cycles_times.log _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold @@ -270,7 +270,7 @@ estimated_duration: 4500.0 requires: executable.name == 'fwts' command: rm -f $PLAINBOX_SESSION_SHARE/__result - pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 100 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE + pm_test.py --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 100 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn user: root environ: PLAINBOX_SESSION_SHARE PM_TEST_DRY_RUN @@ -293,7 +293,7 @@ requires: executable.name == 'fwts' executable.name == 'x-terminal-emulator' command: rm -f $PLAINBOX_SESSION_SHARE/__result - pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 30 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE + pm_test.py --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 30 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn estimated_duration: 2700 user: root @@ -318,7 +318,7 @@ requires: executable.name == 'x-terminal-emulator' command: rm -f $PLAINBOX_SESSION_SHARE/__result - pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 100 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE + pm_test.py --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 100 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn user: root environ: PLAINBOX_SESSION_SHARE PM_TEST_DRY_RUN @@ -342,7 +342,7 @@ requires: executable.name == 'x-terminal-emulator' command: rm -f $PLAINBOX_SESSION_SHARE/__result - pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 30 --wakeup 150 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE + pm_test.py --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 30 --wakeup 150 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE flags: noreturn estimated_duration: 3600 user: root @@ -363,7 +363,7 @@ category_id: com.canonical.plainbox::stress id: stress/reboot_30_check estimated_duration: 1.0 depends: stress/reboot_30 -command: pm_log_check --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.reboot.30.log $PLAINBOX_SESSION_SHARE/pm_log_check_reboot.30.log +command: pm_log_check.py --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.reboot.30.log $PLAINBOX_SESSION_SHARE/pm_log_check_reboot.30.log _description: Check logs for the stress reboot (30 cycles) test case plugin: attachment @@ -380,7 +380,7 @@ category_id: com.canonical.plainbox::stress id: stress/poweroff_30_check estimated_duration: 1.0 depends: stress/poweroff_30 -command: pm_log_check --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.poweroff.30.log $PLAINBOX_SESSION_SHARE/pm_log_check_poweroff.30.log +command: pm_log_check.py --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.poweroff.30.log $PLAINBOX_SESSION_SHARE/pm_log_check_poweroff.30.log _description: Check logs for the stress poweroff (30 cycles) test case plugin: attachment @@ -397,7 +397,7 @@ category_id: com.canonical.plainbox::stress id: stress/reboot_check estimated_duration: 1.0 depends: stress/reboot -command: pm_log_check --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.reboot.100.log $PLAINBOX_SESSION_SHARE/pm_log_check_reboot.100.log +command: pm_log_check.py --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.reboot.100.log $PLAINBOX_SESSION_SHARE/pm_log_check_reboot.100.log _description: Check logs for the stress reboot (100 cycles) test case plugin: attachment @@ -414,7 +414,7 @@ category_id: com.canonical.plainbox::stress id: stress/poweroff_check estimated_duration: 1.0 depends: stress/poweroff -command: pm_log_check --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.poweroff.100.log $PLAINBOX_SESSION_SHARE/pm_log_check_poweroff.100.log +command: pm_log_check.py --log-level=notset $PLAINBOX_SESSION_SHARE/pm_test.poweroff.100.log $PLAINBOX_SESSION_SHARE/pm_log_check_poweroff.100.log _description: Check logs for the stress poweroff (100 cycles) test case plugin: attachment @@ -434,7 +434,7 @@ requires: package.name == 'x11-apps' user: root environ: PLAINBOX_SESSION_SHARE -command: graphics_stress_test --iterations 20 -b repeat -d -o $PLAINBOX_SESSION_SHARE/graphics-stress-results && echo "Graphics Stress Test completed successfully" || echo "Graphics Stress Test completed, but there are errors. Please see the log $PLAINBOX_SESSION_SHARE/graphics-stress-results for details" && false +command: graphics_stress_test.py --iterations 20 -b repeat -d -o $PLAINBOX_SESSION_SHARE/graphics-stress-results && echo "Graphics Stress Test completed successfully" || echo "Graphics Stress Test completed, but there are errors. Please see the log $PLAINBOX_SESSION_SHARE/graphics-stress-results for details" && false _description: Run the graphics stress test. This test can take a few minutes. @@ -452,7 +452,7 @@ category_id: com.canonical.plainbox::stress id: stress/usb estimated_duration: 710.0 user: root -command: removable_storage_test -s 10240000 -c 100 -i 3 usb +command: removable_storage_test.py -s 10240000 -c 100 -i 3 usb _description: Runs a test that transfers 100 10MB files 3 times to usb. plugin: user-interact @@ -461,7 +461,7 @@ id: stress/sdhc user: root _summary: Stress test for SDHC card estimated_duration: 780.0 -command: removable_storage_test -s 10240000 -c 100 -i 3 sdio scsi usb --memorycard +command: removable_storage_test.py -s 10240000 -c 100 -i 3 sdio scsi usb --memorycard _description: PURPOSE: This test will transfers 100 10MB files 3 times to a SDHC card, to @@ -481,7 +481,7 @@ id: stress/network_restart estimated_duration: 1500.0 user: root environ: PLAINBOX_SESSION_SHARE -command: network_restart -t 100 -o $PLAINBOX_SESSION_SHARE +command: network_restart.py -t 100 -o $PLAINBOX_SESSION_SHARE _description: Ping ubuntu.com and restart network interfaces 100 times plugin: attachment diff --git a/units/stress/s3s4.pxu b/units/stress/s3s4.pxu index 9a62f8e..f7a3c77 100644 --- a/units/stress/s3s4.pxu +++ b/units/stress/s3s4.pxu @@ -68,7 +68,7 @@ category_id: stress-tests/suspend id: stress-tests/suspend-{s3_iterations}-cycles-log-check after: stress-tests/suspend_{s3_iterations}_cycles estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/suspend_{s3_iterations}_cycles.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/suspend_{s3_iterations}_cycles.log +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_{s3_iterations}_cycles.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/suspend_{s3_iterations}_cycles.log _description: Automated check of the {s3_iterations} cycles suspend log for errors detected by fwts. @@ -118,7 +118,7 @@ category_id: stress-tests/hibernate id: stress-tests/hibernate-{s4_iterations}-cycles-log-check after: stress-tests/hibernate_{s4_iterations}_cycles estimated_duration: 1.0 -command: [ -e $PLAINBOX_SESSION_SHARE/hibernate_{s4_iterations}_cycles.log ] && sleep_test_log_check -v s4 $PLAINBOX_SESSION_SHARE/hibernate_{s4_iterations}_cycles.log +command: [ -e $PLAINBOX_SESSION_SHARE/hibernate_{s4_iterations}_cycles.log ] && sleep_test_log_check.py -v s4 $PLAINBOX_SESSION_SHARE/hibernate_{s4_iterations}_cycles.log _description: Automated check of the {s4_iterations} cycles hibernate log for errors detected by fwts. diff --git a/units/submission/jobs.pxu b/units/submission/jobs.pxu index e0829b6..d33b49e 100644 --- a/units/submission/jobs.pxu +++ b/units/submission/jobs.pxu @@ -11,8 +11,8 @@ id: udev_json plugin: attachment category_id: com.canonical.plainbox::info command: udevadm info --export-db | python3 -m plainbox dev parse udevadm -_description: Attaches json dumps of udev_resource -_summary: Attaches json dumps of udev_resource +_description: Attaches json dumps of udev_resource.py +_summary: Attaches json dumps of udev_resource.py id: raw_devices_dmi_json plugin: attachment @@ -26,7 +26,7 @@ command: jq '[.[] | ._attributes + {"category": .category}]' estimated_duration: 1 _description: Attaches dmidecode output -_summary: Attaches json dumps of udev_resource raw dmi devices +_summary: Attaches json dumps of raw dmi devices id: modprobe_json plugin: attachment diff --git a/units/suspend/suspend-graphics.pxu b/units/suspend/suspend-graphics.pxu index b0a8608..ec1be28 100644 --- a/units/suspend/suspend-graphics.pxu +++ b/units/suspend/suspend-graphics.pxu @@ -8,7 +8,7 @@ after: graphics/{index}_auto_switch_card_{product_slug} estimated_duration: 1.2 _description: Record the current resolution before suspending. command: - source graphics_env {driver} {index} + source graphics_env.sh {driver} {index} xrandr -q | grep '*'| awk '{{print $1}}' > $PLAINBOX_SESSION_SHARE/{index}_resolution_before_suspend.txt unit: template @@ -48,7 +48,7 @@ depends: {%- endif %} _description: Test to see that we have the same resolution after resuming as before. command: - source graphics_env {{ driver }} {{ index }} + source graphics_env.sh {{ driver }} {{ index }} xrandr -q | grep '*'| awk '{print $1}' | diff $PLAINBOX_SESSION_SHARE/{{ index }}_resolution_before_suspend.txt - unit: template @@ -89,8 +89,8 @@ depends: {%- endif %} estimated_duration: 120.0 command: - source graphics_env {{ driver }} {{ index }} - xrandr_cycle --keyword={{ index }}_after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE + source graphics_env.sh {{ driver }} {{ index }} + xrandr_cycle.py --keyword={{ index }}_after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE _description: PURPOSE: This test will cycle through the detected display modes @@ -124,8 +124,8 @@ depends: {%- endif %} requires: package.name == 'nux-tools' command: - source graphics_env {{ driver }} {{ index }} - ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error" + source graphics_env.sh {{ driver }} {{ index }} + ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser.py | grep -e ":\(\s\+\)no$" -ie "error" estimated_duration: 0.130 _description: Check that {{ product }} hardware is able to run a desktop session (OpenGL) _summary: Test OpenGL support for {{ product }} after suspend @@ -144,7 +144,7 @@ depends: {%- endif %} requires: executable.name == 'glxgears' command: - source graphics_env {{ driver }} {{ index }} + source graphics_env.sh {{ driver }} {{ index }} glxgears true _summary: Test that glxgears works for {{ vendor }} {{ product }} after suspend @@ -174,8 +174,8 @@ requires: package.name == 'xorg' package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' command: - source graphics_env {{ driver }} {{ index }} - gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' + source graphics_env.sh {{ driver }} {{ index }} + gst_pipeline_test.py -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test.py -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' _summary: Test that video can be displayed after suspend with {{ vendor }} {{ product }} _description: PURPOSE: @@ -199,8 +199,8 @@ depends: suspend/suspend_advanced {%- endif %} command: - source graphics_env {{ driver }} {{ index }} - graphics_driver + source graphics_env.sh {{ driver }} {{ index }} + graphics_driver.py estimated_duration: 0.500 _description: Parses Xorg.0.Log and discovers the running X driver and version after suspend for the {{ vendor }} {{ product }} graphics card _summary: Test X driver/version after suspend for {{ vendor }} {{ product }} @@ -236,7 +236,7 @@ depends: suspend/suspend_advanced {%- endif %} estimated_duration: 1.2 -command: [ -e $PLAINBOX_SESSION_SHARE/{{ index }}_suspend_single_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/{{ index }}_suspend_single_times.log +command: [ -e $PLAINBOX_SESSION_SHARE/{{ index }}_suspend_single_times.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/{{ index }}_suspend_single_times.log _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold unit: template @@ -257,8 +257,8 @@ command: 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -p | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log fi _purpose: Suspend SUT 30 times while using {product_slug} graphics card @@ -277,8 +277,8 @@ depends: suspend/suspend_advanced {%- endif %} command: - source graphics_env {{ driver }} {{ index }} - rotation_test + source graphics_env.sh {{ driver }} {{ index }} + rotation_test.py estimated_duration: 20.000 _summary: Test rotation for {{ vendor }} {{ product }} after suspend _description: diff --git a/units/suspend/suspend.pxu b/units/suspend/suspend.pxu index 5d9bf08..a610b55 100644 --- a/units/suspend/suspend.pxu +++ b/units/suspend/suspend.pxu @@ -32,21 +32,21 @@ requires: device.category == 'AUDIO' package.name == 'alsa-base' _summary: Record mixer settings before suspending. -command: audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_before_suspend +command: audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_before_suspend plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/cpu_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 +command: cpuinfo_resource.py > $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/memory_before_suspend estimated_duration: 1.2 _summary: Dumps memory info to a file for comparison after suspend -command: meminfo_resource > $PLAINBOX_SESSION_SHARE/meminfo_before_suspend +command: meminfo_resource.py > $PLAINBOX_SESSION_SHARE/meminfo_before_suspend unit: template template-resource: device @@ -60,7 +60,7 @@ requires: package.name == 'iperf' user: root environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS -command: network test -i {interface} -t iperf +command: network.py test -i {interface} -t iperf _summary: Before suspend iperf test ethernet {interface} _description: This test executes iperf connection performance/stability against device {__index__} ({interface}) before suspend. @@ -75,7 +75,7 @@ environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS command: INTERFACE=`(nmcli -t -f GENERAL -m tabular dev list 2>/dev/null || nmcli -t -f GENERAL -m tabular dev show) |grep gsm |cut -d ":" -f 13` [ -z $INTERFACE ] && exit 1 - network test -i $INTERFACE -t iperf + network.py test -i $INTERFACE -t iperf _summary: Before suspend iperf test GSM mobilebroadband _description: This test executes iperf connection performance/stability against the broadband device found on the system before suspend. @@ -90,7 +90,7 @@ environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS command: INTERFACE=`(nmcli -t -f GENERAL -m tabular dev list 2>/dev/null || nmcli -t -f GENERAL -m tabular dev show) |grep cdma |cut -d ":" -f 13` [ -z $INTERFACE ] && exit 1 - network test -i $INTERFACE -t iperf + network.py test -i $INTERFACE -t iperf _summary: Before suspend iperf test CDMA mobilebroadband _description: This test executes iperf connection performance/stability against the broadband device found on the system before suspend. @@ -119,7 +119,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser.py _summary: Bluetooth OBEX send before suspend _description: This is an automated Bluetooth file transfer test. It sends an image to the device specified by the BTDEVADDR environment variable. @@ -148,7 +148,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser.py _summary: Bluetooth OBEX browse before suspend _description: This is an automated Bluetooth test. It emulates browsing on a remote device specified by the BTDEVADDR environment variable. @@ -177,7 +177,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser.py _summary: Bluetooth OBEX get before suspend _description: This is an automated Bluetooth test. It receives the given file from a remote host specified by the BTDEVADDR environment variable @@ -198,8 +198,8 @@ command: fi 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -p | tee $PLAINBOX_SESSION_SHARE/2_suspend_single_times.log fi estimated_duration: 90.0 _summary: Manual test of suspend function @@ -235,8 +235,8 @@ command: fi 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 + echo "Calling sleep_test.py" + set -o pipefail; sleep_test.py -p | tee $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log fi estimated_duration: 90.0 _summary: Test suspend/resume after switching to {vendor} {product} @@ -307,7 +307,7 @@ category_id: 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 +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/suspend_single.log _summary: Automated check of the suspend log for errors reported by fwts plugin: attachment @@ -334,7 +334,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/{index}_hybrid-sleep-single-log-check depends: suspend/{index}_hybrid_sleep_{product_slug} estimated_duration: 1.2 -command: [ -e $PLAINBOX_SESSION_SHARE/{index}_hybrid_sleep_single.log ] && sleep_test_log_check -v s3 $PLAINBOX_SESSION_SHARE/{index}_hybrid_sleep_single.log +command: [ -e $PLAINBOX_SESSION_SHARE/{index}_hybrid_sleep_single.log ] && sleep_test_log_check.py -v s3 $PLAINBOX_SESSION_SHARE/{index}_hybrid_sleep_single.log _summary: Automated check of the hybrid sleep log for errors reported by fwts unit: template @@ -350,7 +350,7 @@ plugin: shell category_id: com.canonical.plainbox::suspend id: suspend/suspend-time-check estimated_duration: 1.2 -command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/suspend_single_times.log +command: [ -e $PLAINBOX_SESSION_SHARE/suspend_single_times.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/suspend_single_times.log _summary: Ensure time to suspend/resume is under threshold _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold @@ -363,7 +363,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/{index}_suspend-time-check_{product_slug} depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} estimated_duration: 1.2 -command: [ -e $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log ] && sleep_time_check $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log +command: [ -e $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log ] && sleep_time_check.py $PLAINBOX_SESSION_SHARE/{index}_suspend_single_times.log _summary: Ensure time to suspend/resume is under threshold _description: Checks the sleep times to ensure that a machine suspends and resumes within a given threshold @@ -407,7 +407,7 @@ id: suspend/network_after_suspend estimated_duration: 20.0 depends: suspend/suspend_advanced suspend/network_before_suspend _description: Test the network after resuming. -command: network_wait; gateway_ping_test | diff $PLAINBOX_SESSION_SHARE/network_before_suspend.txt - +command: network_wait.py; gateway_ping_test | diff $PLAINBOX_SESSION_SHARE/network_before_suspend.txt - plugin: shell category_id: com.canonical.plainbox::suspend @@ -438,7 +438,7 @@ requires: depends: suspend/suspend_advanced suspend/audio_before_suspend _description: Verify that mixer settings after suspend are the same as before suspend. command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend diff $PLAINBOX_SESSION_SHARE/audio_settings_before_suspend $PLAINBOX_SESSION_SHARE/audio_settings_after_suspend plugin: shell @@ -451,7 +451,7 @@ requires: depends: suspend/suspend_advanced_auto suspend/audio_before_suspend _description: Verify that mixer settings after suspend are the same as before suspend. command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/audio_settings_after_suspend diff $PLAINBOX_SESSION_SHARE/audio_settings_before_suspend $PLAINBOX_SESSION_SHARE/audio_settings_after_suspend plugin: user-interact @@ -462,7 +462,7 @@ estimated_duration: 60.0 requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sinks +command: pulse-active-port-change.py sinks _description: PURPOSE: Check that system detects speakers or headphones being plugged in after suspend @@ -484,7 +484,7 @@ estimated_duration: 60.0 requires: device.category == 'AUDIO' package.name == 'pulseaudio-utils' -command: pulse-active-port-change sources +command: pulse-active-port-change.py sources _description: PURPOSE: Check that system detects a microphone being plugged in after suspend @@ -510,11 +510,11 @@ requires: package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' package.name == 'pulseaudio-utils' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - gst_pipeline_test -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + gst_pipeline_test.py -t 2 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink' EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -536,11 +536,11 @@ requires: package.name == 'pulseaudio-utils' package.name == 'gstreamer1.0-plugins-good' or package.name == 'gstreamer0.10-plugins-good' command: - audio_settings store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings - audio_settings set --device=pci --volume=50 - alsa_record_playback + audio_settings.py store --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py set --device=pci --volume=50 + alsa_record_playback.sh EXIT_CODE=$? - audio_settings restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings + audio_settings.py restore --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings exit $EXIT_CODE _description: PURPOSE: @@ -558,7 +558,7 @@ id: suspend/cpu_after_suspend estimated_duration: 1.2 depends: suspend/suspend_advanced suspend/cpu_before_suspend _description: Verify that all CPUs are online after resuming. -command: cpuinfo_resource | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend - +command: cpuinfo_resource.py | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend - plugin: shell category_id: com.canonical.plainbox::suspend @@ -566,7 +566,7 @@ id: suspend/cpu_after_suspend_auto estimated_duration: 1.2 depends: suspend/suspend_advanced_auto suspend/cpu_before_suspend _description: Verify that all CPUs are online after resuming. -command: cpuinfo_resource | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend - +command: cpuinfo_resource.py | diff $PLAINBOX_SESSION_SHARE/cpuinfo_before_suspend - plugin: shell category_id: com.canonical.plainbox::suspend @@ -575,7 +575,7 @@ estimated_duration: 1.2 depends: suspend/suspend_advanced suspend/memory_before_suspend _description: Verify that all memory is available after resuming from suspend. -command: meminfo_resource | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend - +command: meminfo_resource.py | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend - plugin: shell category_id: com.canonical.plainbox::suspend @@ -584,7 +584,7 @@ estimated_duration: 1.2 depends: suspend/suspend_advanced_auto suspend/memory_before_suspend _description: Verify that all memory is available after resuming from suspend. -command: meminfo_resource | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend - +command: meminfo_resource.py | diff $PLAINBOX_SESSION_SHARE/meminfo_before_suspend - plugin: manual category_id: com.canonical.plainbox::suspend @@ -627,7 +627,7 @@ requires: package.name == 'iperf' user: root environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS -command: network test -i {interface} -t iperf +command: network.py test -i {interface} -t iperf _description: This test executes iperf connection performance/stability against device {__index__} ({interface}) after suspend. @@ -643,7 +643,7 @@ requires: package.name == 'iperf' user: root environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS -command: network test -i {interface} -t iperf +command: network.py test -i {interface} -t iperf _description: This test executes iperf connection performance/stability against device {__index__} ({interface}) after suspend. @@ -657,7 +657,7 @@ environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS command: INTERFACE=`(nmcli -t -f GENERAL -m tabular dev list 2>/dev/null || nmcli -t -f GENERAL -m tabular dev show) |grep gsm |cut -d ":" -f 13` [ -z $INTERFACE ] && exit 1 - network test -i $INTERFACE -t iperf + network.py test -i $INTERFACE -t iperf _description: This test executes iperf connection performance/stability against the broadband device found on the system after suspend. @@ -671,7 +671,7 @@ environ: TEST_TARGET_FTP TEST_TARGET_IPERF TEST_USER TEST_PASS command: INTERFACE=`(nmcli -t -f GENERAL -m tabular dev list 2>/dev/null || nmcli -t -f GENERAL -m tabular dev show) |grep cdma |cut -d ":" -f 13` [ -z $INTERFACE ] && exit 1 - network test -i $INTERFACE -t iperf + network.py test -i $INTERFACE -t iperf _description: This test executes iperf connection performance/stability against the broadband device found on the system after suspend. @@ -687,8 +687,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -727,8 +727,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -767,8 +767,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -807,8 +807,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -847,8 +847,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -887,8 +887,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -966,7 +966,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser.py _description: This is an automated Bluetooth file transfer test. It sends an image to the device specified by the BTDEVADDR environment variable. @@ -995,7 +995,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR send 2>&1 | ansi_parser.py _description: This is an automated Bluetooth file transfer test. It sends an image to the device specified by the BTDEVADDR environment variable. @@ -1024,7 +1024,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser.py _description: This is an automated Bluetooth test. It emulates browsing on a remote device specified by the BTDEVADDR environment variable. @@ -1053,7 +1053,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR browse 2>&1 | ansi_parser.py _description: This is an automated Bluetooth test. It emulates browsing on a remote device specified by the BTDEVADDR environment variable. @@ -1082,7 +1082,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser.py _description: This is an automated Bluetooth test. It receives the given file from a remote host specified by the BTDEVADDR environment variable @@ -1111,7 +1111,7 @@ command: rfkill unblock bluetooth sleep 3 fi - set -o pipefail; bluetooth_test $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser + set -o pipefail; bluetooth_test.py $PLAINBOX_PROVIDER_DATA/images/JPEG_Color_Image_Ubuntu.jpg $BTDEVADDR get 2>&1 | ansi_parser.py _description: This is an automated Bluetooth test. It receives the given file from a remote host specified by the BTDEVADDR environment variable @@ -1121,7 +1121,7 @@ id: suspend/cycle_resolutions_after_suspend estimated_duration: 120.0 requires: package.name == 'xorg' depends: suspend/suspend_advanced -command: xrandr_cycle --keyword=after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE +command: xrandr_cycle.py --keyword=after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE _description: PURPOSE: This test will cycle through the detected display modes @@ -1139,7 +1139,7 @@ id: suspend/{index}_cycle_resolutions_after_suspend_{product_slug} requires: package.name == 'xorg' depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} estimated_duration: 120.0 -command: xrandr_cycle --keyword={index}_after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE +command: xrandr_cycle.py --keyword={index}_after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE _description: PURPOSE: This test will cycle through the detected display modes @@ -1157,7 +1157,7 @@ depends: suspend/suspend_advanced_auto _description: This test will check to make sure supported video modes work after a suspend and resume. This is done automatically by taking screenshots and uploading them as an attachment. -command: xrandr_cycle --keyword=after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE +command: xrandr_cycle.py --keyword=after_suspend --screenshot-dir $PLAINBOX_SESSION_SHARE plugin: attachment category_id: com.canonical.plainbox::suspend @@ -1189,7 +1189,7 @@ requires: package.name == 'gstreamer1.0-pulseaudio' package.name == 'alsa-base' device.category == 'AUDIO' -command: audio_test +command: audio_test.py _description: This will check to make sure that your audio device works properly after a suspend and resume. This may work fine with speakers and onboard microphone, however, it works best if used with a cable connecting the audio-out jack to the audio-in jack. @@ -1206,7 +1206,7 @@ requires: package.name == 'gstreamer1.0-pulseaudio' package.name == 'alsa-base' device.category == 'AUDIO' -command: audio_test +command: audio_test.py _description: This will check to make sure that your audio device works properly after a suspend and resume. This may work fine with speakers and onboard microphone, however, it works best if used with a cable connecting the audio-out jack to the audio-in jack. @@ -1223,7 +1223,7 @@ id: suspend/screenshot_after_suspend estimated_duration: 10.0 depends: suspend/suspend_advanced_auto requires: package.name == 'fswebcam' -command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_after_suspend.jpg -q 2>&1 | ansi_parser +command: set -o pipefail; camera_test.py still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_after_suspend.jpg -q 2>&1 | ansi_parser.py _description: PURPOSE: Take a screengrab of the current screen after suspend (logged on Unity desktop) @@ -1249,7 +1249,7 @@ requires: package.name == 'firefox' package.name == 'unity' depends: suspend/suspend_advanced_auto -command: gpu_test +command: gpu_test.py _description: PURPOSE: Do some challenging operations then check for lockup on the GPU @@ -1266,7 +1266,7 @@ id: suspend/wifi_resume_time depends: suspend/suspend_advanced requires: device.category == 'WIRELESS' -command: network_reconnect_resume_test -t 90 -d wifi +command: network_reconnect_resume_test.py -t 90 -d wifi estimated_duration: 0.530 _description: Checks the length of time it takes to reconnect an existing wifi connection @@ -1279,7 +1279,7 @@ estimated_duration: 1.2 depends: suspend/suspend_advanced_auto requires: device.category == 'WIRELESS' -command: network_reconnect_resume_test -t 90 -d wifi +command: network_reconnect_resume_test.py -t 90 -d wifi _description: Checks the length of time it takes to reconnect an existing wifi connection after a suspend/resume cycle. @@ -1291,7 +1291,7 @@ depends: suspend/suspend_advanced estimated_duration: 1.2 requires: device.category == 'NETWORK' -command: network_reconnect_resume_test -t 10 -d wired +command: network_reconnect_resume_test.py -t 10 -d wired _description: Checks the length of time it takes to reconnect an existing wired connection after a suspend/resume cycle. @@ -1303,7 +1303,7 @@ depends: suspend/suspend_advanced_auto estimated_duration: 1.2 requires: device.category == 'NETWORK' -command: network_reconnect_resume_test -t 10 -d wired +command: network_reconnect_resume_test.py -t 10 -d wired _description: Checks the length of time it takes to reconnect an existing wired connection after a suspend/resume cycle. @@ -1369,7 +1369,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/led_after_suspend/hdd depends: suspend/suspend_advanced estimated_duration: 120.0 -command: led_hdd_test +command: led_hdd_test.sh _description: PURPOSE: Validate that the HDD LED still operates as expected after resuming from suspend @@ -1384,7 +1384,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/led_after_suspend/numeric-keypad estimated_duration: 120.0 depends: suspend/suspend_advanced -command: keyboard_test +command: keyboard_test.py _description: PURPOSE: Validate that the numeric keypad LED operates the same before and after resuming from suspend @@ -1496,7 +1496,7 @@ id: suspend/usb_insert_after_suspend estimated_duration: 30.0 depends: suspend/suspend_advanced -command: removable_storage_watcher insert usb +command: removable_storage_watcher.py insert usb _description: PURPOSE: This test will check that the system correctly detects the insertion of @@ -1517,7 +1517,7 @@ requires: usb.usb3 == 'supported' depends: suspend/suspend_advanced -command: removable_storage_watcher -m 500000000 insert usb +command: removable_storage_watcher.py -m 500000000 insert usb _description: PURPOSE: This test will check that the system correctly detects the insertion of @@ -1536,7 +1536,7 @@ id: suspend/usb_remove_after_suspend estimated_duration: 30.0 depends: suspend/usb_insert_after_suspend -command: removable_storage_watcher remove usb +command: removable_storage_watcher.py remove usb _description: PURPOSE: This test will check that the system correctly detects the removal of @@ -1556,7 +1556,7 @@ depends: suspend/usb3_insert_after_suspend requires: usb.usb3 == 'supported' -command: removable_storage_watcher -m 500000000 remove usb +command: removable_storage_watcher.py -m 500000000 remove usb _description: PURPOSE: This test will check that the system correctly detects the removal of @@ -1574,7 +1574,7 @@ id: suspend/usb_storage_automated_after_suspend estimated_duration: 1.2 depends: suspend/usb_insert_after_suspend user: root -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: This test is automated and executes after the suspend/usb_insert_after_suspend test is run. @@ -1587,7 +1587,7 @@ requires: usb.usb3 == 'supported' depends: suspend/usb3_insert_after_suspend user: root -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test is automated and executes after the suspend/usb3_insert_after_suspend test is run. @@ -1598,7 +1598,7 @@ id: suspend/usb_storage_preinserted_after_suspend estimated_duration: 1.2 user: root depends: suspend/suspend_advanced_auto -command: removable_storage_test -l usb && removable_storage_test -s 268400000 usb +command: removable_storage_test.py -l usb && removable_storage_test.py -s 268400000 usb _description: This is an automated version of usb/storage-automated and assumes that the server has usb storage devices plugged in prior to checkbox execution. It @@ -1612,7 +1612,7 @@ user: root requires: usb.usb3 == 'supported' depends: suspend/suspend_advanced_auto -command: removable_storage_test -l usb && removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -l usb && removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This is an automated version of usb3/storage-automated and assumes that the server has usb 3.0 storage devices plugged in prior to checkbox execution. It @@ -1624,7 +1624,7 @@ id: suspend/usb_performance_after_suspend depends: suspend/usb_insert_after_suspend user: root estimated_duration: 45.00 -command: removable_storage_test -s 268400000 -p 15 usb +command: removable_storage_test.py -s 268400000 -p 15 usb _description: This test will check that your USB 2.0 port transfers data at a minimum expected speed. @@ -1637,7 +1637,7 @@ requires: depends: suspend/usb3_insert_after_suspend user: root estimated_duration: 45.00 -command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _description: This test will check that your USB 3.0 port could be recognized as SuperSpeed USB device using xhci_hcd driver and transfers data correctly. @@ -1651,7 +1651,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1671,7 +1671,7 @@ id: suspend/mmc-storage-after-suspend depends: suspend/mmc-insert-after-suspend estimated_duration: 10.0 user: root -command: removable_storage_test -s 67120000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 67120000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/mmc-insert-after-suspend test is run. It tests reading and writing to the MMC card after the system has been suspended. @@ -1681,7 +1681,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/mmc-remove-after-suspend depends: suspend/mmc-insert-after-suspend estimated_duration: 30.0 -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -1702,7 +1702,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1723,7 +1723,7 @@ id: suspend/sd-storage-after-suspend estimated_duration: 10.0 depends: suspend/sd-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/sd-insert-after-suspend test is run. It tests reading and writing to the SD card after the system has been suspended. @@ -1733,7 +1733,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/sd-remove-after-suspend estimated_duration: 30.0 depends: suspend/sd-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects @@ -1755,7 +1755,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1776,7 +1776,7 @@ id: suspend/sdhc-storage-after-suspend estimated_duration: 10.0 depends: suspend/sdhc-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/sdhc-insert-after-suspend test is run. It tests reading and writing to the SDHC card after the system has been suspended. @@ -1786,7 +1786,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/sdhc-remove-after-suspend estimated_duration: 30.0 depends: suspend/sdhc-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -1807,7 +1807,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1827,7 +1827,7 @@ id: mediacard/cf-storage-after-suspend estimated_duration: 10.0 depends: mediacard/cf-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/cf-insert-after-suspend test is run. It tests reading and writing to the CF card after the system has been suspended. @@ -1837,7 +1837,7 @@ category_id: com.canonical.plainbox::suspend id: mediacard/cf-remove-after-suspend estimated_duration: 30.0 depends: mediacard/cf-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -1858,7 +1858,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1878,7 +1878,7 @@ id: mediacard/sdxc-storage-after-suspend estimated_duration: 10.0 depends: mediacard/sdxc-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/sdxc-insert-after-suspend test is run. It tests reading and writing to the SDXC card after the system has been suspended. @@ -1888,7 +1888,7 @@ category_id: com.canonical.plainbox::suspend id: mediacard/sdxc-remove-after-suspend depends: mediacard/sdxc-insert-after-suspend estimated_duration: 30.0 -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -1909,7 +1909,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1929,7 +1929,7 @@ id: mediacard/ms-storage-after-suspend estimated_duration: 10.0 depends: mediacard/ms-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/ms-insert-after-suspend test is run. It tests reading and writing to the MS card after the system has been suspended. @@ -1939,7 +1939,7 @@ category_id: com.canonical.plainbox::suspend id: mediacard/ms-remove-after-suspend estimated_duration: 30.0 depends: mediacard/ms-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -1960,7 +1960,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -1980,7 +1980,7 @@ id: mediacard/msp-storage-after-suspend estimated_duration: 10.0 depends: mediacard/msp-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/msp-insert-after-suspend test is run. It tests reading and writing to the MSP card after the system has been suspended. @@ -1990,7 +1990,7 @@ category_id: com.canonical.plainbox::suspend id: mediacard/msp-remove-after-suspend estimated_duration: 30.0 depends: mediacard/msp-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -2011,7 +2011,7 @@ imports: from com.canonical.plainbox import manifest requires: package.name == 'udisks2' or snap.name == 'udisks2' manifest.has_card_reader == 'True' -command: removable_storage_watcher --memorycard insert sdio usb scsi +command: removable_storage_watcher.py --memorycard insert sdio usb scsi _description: PURPOSE: This test will check that the systems media card reader can @@ -2031,7 +2031,7 @@ id: mediacard/xd-storage-after-suspend estimated_duration: 10.0 depends: mediacard/xd-insert-after-suspend user: root -command: removable_storage_test -s 268400000 --memorycard sdio usb scsi +command: removable_storage_test.py -s 268400000 --memorycard sdio usb scsi _description: This test is automated and executes after the mediacard/xd-insert-after-suspend test is run. It tests reading and writing to the xD card after the system has been suspended. @@ -2041,7 +2041,7 @@ category_id: com.canonical.plainbox::suspend id: mediacard/xd-remove-after-suspend estimated_duration: 30.0 depends: mediacard/xd-insert-after-suspend -command: removable_storage_watcher --memorycard remove sdio usb scsi +command: removable_storage_watcher.py --memorycard remove sdio usb scsi _description: PURPOSE: This test will check that the system correctly detects the removal @@ -2123,7 +2123,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/{index}_gl_support_after_suspend_{product_slug} depends: suspend/{index}_suspend_after_switch_to_card_{product_slug} requires: package.name == 'nux-tools' -command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error" +command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser.py | grep -e ":\(\s\+\)no$" -ie "error" estimated_duration: 0.130 _description: Check that {product} hardware is able to run a desktop session (OpenGL) after suspend _summary: Test OpenGL support for {product} after suspend @@ -2133,7 +2133,7 @@ category_id: com.canonical.plainbox::suspend id: suspend/gl_support_after_suspend depends: suspend/suspend_advanced requires: package.name == 'nux-tools' -command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error" +command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser.py | grep -e ":\(\s\+\)no$" -ie "error" estimated_duration: 0.130 _description: Check that the hardware is able to run a desktop session (OpenGL) _summary: Test OpenGL support after suspend @@ -2185,7 +2185,7 @@ category_id: com.canonical.plainbox::suspend requires: package.name == 'xorg' package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' -command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' +command: gst_pipeline_test.py -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test.py -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' _summary: Test that video can be displayed after suspend with {vendor} {product} _description: PURPOSE: @@ -2203,7 +2203,7 @@ requires: device.category == 'VIDEO' package.name == 'xorg' package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0' -command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' +command: gst_pipeline_test.py -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test.py -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' _summary: Test that video can be displayed after suspend _description: PURPOSE: diff --git a/units/thunderbolt/jobs.pxu b/units/thunderbolt/jobs.pxu index 8bb54c4..73fadb5 100644 --- a/units/thunderbolt/jobs.pxu +++ b/units/thunderbolt/jobs.pxu @@ -4,7 +4,7 @@ id: thunderbolt/insert imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' estimated_duration: 20.0 -command: removable_storage_watcher insert --timeout 40 scsi +command: removable_storage_watcher.py insert --timeout 40 scsi _siblings: [ { "id": "after-suspend-manual-thunderbolt/insert", "_summary": "thunderbolt/insert after suspend", @@ -31,7 +31,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' depends: thunderbolt/insert estimated_duration: 45.0 -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _siblings: [ { "id": "after-suspend-manual-thunderbolt/storage-test", "_summary": "thunderbolt/storage-test after suspend", @@ -49,7 +49,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' depends: thunderbolt/insert estimated_duration: 10.0 -command: removable_storage_watcher remove scsi +command: removable_storage_watcher.py remove scsi _summary: Storage removal detection on Thunderbolt _siblings: [ { "id": "after-suspend-manual-thunderbolt/remove", @@ -74,7 +74,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt == 'True' flags: also-after-suspend-manual estimated_duration: 45.0 -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _summary: Daisy-chain testing for Thunderbolt storage and display device _description: PURPOSE: @@ -96,7 +96,7 @@ id: thunderbolt3/insert imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' estimated_duration: 20.0 -command: removable_storage_watcher insert --timeout 40 scsi +command: removable_storage_watcher.py insert --timeout 40 scsi _siblings: [ { "id": "after-suspend-manual-thunderbolt3/insert", "_summary": "thunderbolt3/insert after suspend", @@ -123,7 +123,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' depends: thunderbolt3/insert estimated_duration: 45.0 -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _siblings: [ { "id": "after-suspend-manual-thunderbolt3/storage-test", "_summary": "thunderbolt3/storage-test after suspend", @@ -141,7 +141,7 @@ user: root imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' estimated_duration: 45.0 -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi flags: also-after-suspend _summary: Storage test on Thunderbolt 3 -preinserted _description: @@ -155,7 +155,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' depends: thunderbolt3/insert estimated_duration: 10.0 -command: removable_storage_watcher remove scsi +command: removable_storage_watcher.py remove scsi _siblings: [ { "id": "after-suspend-manual-thunderbolt3/remove", "_summary": "thunderbolt3/remove after suspend", @@ -180,7 +180,7 @@ imports: from com.canonical.plainbox import manifest requires: manifest.has_thunderbolt3 == 'True' flags: also-after-suspend-manual estimated_duration: 45.0 -command: removable_storage_test -s 268400000 scsi +command: removable_storage_test.py -s 268400000 scsi _summary: Daisy-chain testing for Thunderbolt 3 storage and display device _description: PURPOSE: diff --git a/units/touchpad/jobs.pxu b/units/touchpad/jobs.pxu index a7b7e35..5e5a4f2 100644 --- a/units/touchpad/jobs.pxu +++ b/units/touchpad/jobs.pxu @@ -20,7 +20,7 @@ id: touchpad/horizontal requires: dmi.product in ['Notebook','Laptop','Portable','Convertible'] 'Button Horiz Wheel Left' in xinput.button_labels and 'Button Horiz Wheel Right' in xinput.button_labels -command: touchpad_test right left --edge-scroll +command: touchpad_test.py right left --edge-scroll estimated_duration: 120.0 _purpose: Touchpad horizontal scroll verification @@ -39,7 +39,7 @@ id: touchpad/vertical requires: dmi.product in ['Notebook','Laptop','Portable','Convertible'] 'Button Wheel Up' in xinput.button_labels and 'Button Wheel Down' in xinput.button_labels -command: touchpad_test up down --edge-scroll +command: touchpad_test.py up down --edge-scroll estimated_duration: 120.0 _purpose: Touchpad vertical scroll verification @@ -104,7 +104,7 @@ plugin: user-interact category_id: com.canonical.plainbox::touchpad id: touchpad/multitouch-horizontal requires: dmi.product in ['Notebook','Laptop','Portable','Convertible'] -command: touchpad_test right left +command: touchpad_test.py right left estimated_duration: 120.0 _purpose: Touchpad 2-touch horizontal scroll verification @@ -121,7 +121,7 @@ plugin: user-interact category_id: com.canonical.plainbox::touchpad id: touchpad/multitouch-vertical requires: dmi.product in ['Notebook','Laptop','Portable','Convertible'] -command: touchpad_test up down +command: touchpad_test.py up down estimated_duration: 120.0 _purpose: Touchpad 2-touch vertical scroll verification @@ -189,7 +189,7 @@ id: touchpad/detected-as-mouse requires: dmi.product in ['Notebook','Laptop','Portable','Convertible'] estimated_duration: 1.2 command: - info=`touchpad_driver_info` + info=`touchpad_driver_info.py` if [ $? -eq 0 ]; then echo -e "touchpad detected with:\n$info" else diff --git a/units/touchscreen/jobs.pxu b/units/touchscreen/jobs.pxu index 3a8a33a..39a2a98 100644 --- a/units/touchscreen/jobs.pxu +++ b/units/touchscreen/jobs.pxu @@ -151,11 +151,11 @@ _description: {% endif %} command: {%- if 'Unity' in __system_env__["XDG_CURRENT_DESKTOP"] %} - manage_compiz_plugin unityshell disable + manage_compiz_plugin.py unityshell disable qmlscene -qt5 3 $PLAINBOX_PROVIDER_DATA/touch_tap_test.qml 2>&1 | grep -o PASS EXIT=$? sleep 5 - manage_compiz_plugin unityshell enable + manage_compiz_plugin.py unityshell enable {%- else %} timeout 20 multitap_test.py 3 || (>&2 echo "FAILED TO DETECT TAP"; false) EXIT=$? @@ -186,11 +186,11 @@ _description: {% endif %} command: {%- if 'Unity' in __system_env__["XDG_CURRENT_DESKTOP"] %} - manage_compiz_plugin unityshell disable + manage_compiz_plugin.py unityshell disable qmlscene -qt5 4 $PLAINBOX_PROVIDER_DATA/touch_tap_test.qml 2>&1 | grep -o PASS EXIT=$? sleep 5 - manage_compiz_plugin unityshell enable + manage_compiz_plugin.py unityshell enable {%- else %} timeout 20 multitap_test.py 4 || (>&2 echo "FAILED TO DETECT TAP"; false) EXIT=$? diff --git a/units/usb/usb-c.pxu b/units/usb/usb-c.pxu index 0d709e2..ac17664 100644 --- a/units/usb/usb-c.pxu +++ b/units/usb/usb-c.pxu @@ -36,7 +36,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-run_watcher insertion usb3 else - removable_storage_watcher -m 500000000 insert usb + removable_storage_watcher.py -m 500000000 insert usb fi category_id: com.canonical.plainbox::usb imports: from com.canonical.plainbox import manifest @@ -56,7 +56,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-usb_read_write else - removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd fi category_id: com.canonical.plainbox::usb imports: from com.canonical.plainbox import manifest @@ -84,7 +84,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-run_watcher removal usb3 else - removable_storage_watcher -m 500000000 remove usb + removable_storage_watcher.py -m 500000000 remove usb fi category_id: com.canonical.plainbox::usb depends: usb-c/c-to-a-adapter/insert @@ -130,7 +130,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-run_watcher insertion usb3 else - removable_storage_watcher -m 500000000 insert usb + removable_storage_watcher.py -m 500000000 insert usb fi category_id: com.canonical.plainbox::usb imports: from com.canonical.plainbox import manifest @@ -151,7 +151,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-usb_read_write else - removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd fi category_id: com.canonical.plainbox::usb imports: from com.canonical.plainbox import manifest @@ -178,7 +178,7 @@ command: if [[ -v SNAP ]]; then checkbox-support-run_watcher removal usb3 else - removable_storage_watcher -m 500000000 remove usb + removable_storage_watcher.py -m 500000000 remove usb fi category_id: com.canonical.plainbox::usb depends: usb-c/insert diff --git a/units/usb/usb.pxu b/units/usb/usb.pxu index 77dd601..29ad795 100644 --- a/units/usb/usb.pxu +++ b/units/usb/usb.pxu @@ -21,7 +21,7 @@ depends: usb/detect requires: package.name == 'udisks2' or snap.name == 'udisks2' estimated_duration: 1.0 -command: removable_storage_test -l usb +command: removable_storage_test.py -l usb _description: PURPOSE: This test will check that your system detects USB storage devices. @@ -36,7 +36,7 @@ category_id: com.canonical.plainbox::usb id: usb/HID depends: usb/detect estimated_duration: 1.0 -command: keyboard_test +command: keyboard_test.py _description: PURPOSE: This test will check that you can use a USB HID device @@ -66,7 +66,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion usb2 {%- else %} - removable_storage_watcher --unmounted insert usb + removable_storage_watcher.py --unmounted insert usb {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 120 @@ -92,7 +92,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher insertion usb3 {%- else %} - removable_storage_watcher --unmounted -m 500000000 insert usb + removable_storage_watcher.py --unmounted -m 500000000 insert usb {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 120 @@ -117,7 +117,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal usb2 {%- else %} - removable_storage_watcher --unmounted remove usb + removable_storage_watcher.py --unmounted remove usb {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 120 @@ -142,7 +142,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-run_watcher removal usb3 {%- else %} - removable_storage_watcher --unmounted -m 500000000 remove usb + removable_storage_watcher.py --unmounted -m 500000000 remove usb {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 120 @@ -153,7 +153,7 @@ id: usb/storage-transfer depends: usb/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 usb +command: removable_storage_test.py -s 268400000 usb _description: PURPOSE: This test will check your USB connection. @@ -173,7 +173,7 @@ requires: depends: usb3/insert user: root estimated_duration: 45.0 -command: removable_storage_test -s 268400000 -m 500000000 usb +command: removable_storage_test.py -s 268400000 -m 500000000 usb _description: PURPOSE: This test will check your USB 3.0 connection. @@ -202,7 +202,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 usb + removable_storage_test.py -s 268400000 usb {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 300 @@ -224,7 +224,7 @@ command: {%- if __on_ubuntucore__ %} checkbox-support-usb_read_write {%- else %} - removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd + removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd {% endif -%} category_id: com.canonical.plainbox::usb estimated_duration: 300 @@ -234,7 +234,7 @@ category_id: com.canonical.plainbox::usb id: usb/storage-preinserted user: root estimated_duration: 45.0 -command: removable_storage_test -l usb && timeout 300 removable_storage_test -s 268400000 usb +command: removable_storage_test.py -l usb && timeout 300 removable_storage_test.py -s 268400000 usb flags: also-after-suspend preserve-cwd requires: cpuinfo.platform != 's390x' @@ -258,7 +258,7 @@ requires: 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 && timeout 300 removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd +command: removable_storage_test.py -l usb && timeout 300 removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd _summary: Test USB 3.0 or 3.1 ports _description: @@ -288,7 +288,7 @@ id: usb/performance depends: usb/insert user: root estimated_duration: 45.00 -command: removable_storage_test -s 268400000 -p 15 usb +command: removable_storage_test.py -s 268400000 -p 15 usb _description: This test will check that your USB 2.0 port transfers data at a minimum expected speed. @@ -298,7 +298,7 @@ category_id: com.canonical.plainbox::usb plugin: shell _summary: Detect storage partitions on a device on the USB bus command: - udev_resource -f PARTITION | grep "bus: usb" + udev_resource.py -f PARTITION | grep "bus: usb" estimated_duration: 1.0 flags: also-after-suspend imports: from com.canonical.plainbox import manifest diff --git a/units/virtualization/jobs.pxu b/units/virtualization/jobs.pxu index faccf65..1bf566c 100644 --- a/units/virtualization/jobs.pxu +++ b/units/virtualization/jobs.pxu @@ -8,7 +8,7 @@ requires: package.name == 'qemu-system' package.name == 'qemu-utils' virtualization.kvm == 'supported' -command: virtualization --debug kvm --log-file=$PLAINBOX_SESSION_SHARE/virt_debug +command: virtualization.py --debug kvm --log-file=$PLAINBOX_SESSION_SHARE/virt_debug _description: Verifies that a KVM guest can be created and booted using an Ubuntu Server cloud image. @@ -23,7 +23,7 @@ estimated_duration: 30.0 requires: package.name == 'lxd-client' or executable.name == 'lxc' package.name == 'lxd' or snap.name == 'lxd' -command: virtualization --debug lxd +command: virtualization.py --debug lxd _description: Verifies that an LXD container can be created and launched _summary: diff --git a/units/wireless/jobs.pxu b/units/wireless/jobs.pxu index 7165827..c4ee54c 100644 --- a/units/wireless/jobs.pxu +++ b/units/wireless/jobs.pxu @@ -18,7 +18,7 @@ template-unit: job id: wireless/wireless_scanning_{{ interface }} _summary: Test system can discover Wi-Fi networks on {{ interface }} command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py scan {{ interface }} plugin: shell category_id: com.canonical.plainbox::wireless @@ -43,7 +43,7 @@ _purpose: Check system can connect to 802.11b/g AP with wpa security plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py secured {{ interface }} "$WPA_BG_SSID" "$WPA_BG_PSK" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -65,7 +65,7 @@ _purpose: Check system can connect to insecure 802.11b/g AP plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py open {{ interface }} "$OPEN_BG_SSID" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -87,7 +87,7 @@ _purpose: Check system can connect to 802.11n AP with wpa security plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py secured {{ interface }} "$WPA_N_SSID" "$WPA_N_PSK" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -109,7 +109,7 @@ _purpose: Check system can connect to insecure 802.11n AP plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py open {{ interface }} "$OPEN_N_SSID" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -131,7 +131,7 @@ _purpose: Check system can connect to 802.11ac AP with wpa security plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py secured {{ interface }} "$WPA_AC_SSID" "$WPA_AC_PSK" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -154,7 +154,7 @@ _purpose: Check system can connect to insecure 802.11ac AP plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py open {{ interface }} "$OPEN_AC_SSID" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -177,7 +177,7 @@ _purpose: Check system can connect to 802.11ax AP with wpa security plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py secured {{ interface }} "$WPA_AX_SSID" "$WPA_AX_PSK" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -200,7 +200,7 @@ _purpose: Check system can connect to insecure 802.11ax AP plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py open {{ interface }} "$OPEN_AX_SSID" category_id: com.canonical.plainbox::wireless estimated_duration: 30.0 @@ -222,8 +222,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -261,8 +261,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -301,8 +301,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -341,8 +341,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -381,8 +381,8 @@ user: root environ: ROUTER_SSID ROUTER_PSK command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID --security=wpa --key=$ROUTER_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -421,8 +421,8 @@ user: root environ: ROUTER_SSID command: trap "nmcli con delete id $ROUTER_SSID" EXIT - if create_connection wifi $ROUTER_SSID; then - connect_wireless # lp:1471663 + if create_connection.py wifi $ROUTER_SSID; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link gateway_ping_test --interface=$INTERFACE @@ -460,8 +460,8 @@ user: root environ: WPA_BG_SSID WPA_BG_PSK SERVER_IPERF command: trap "nmcli con delete id $WPA_BG_SSID" EXIT - if create_connection wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link iperf -c $SERVER_IPERF -t 300 -i 30 @@ -489,8 +489,8 @@ user: root environ: WPA_BG_SSID WPA_BG_PSK SERVER_IPERF command: trap "nmcli con delete id $WPA_BG_SSID" EXIT - if create_connection wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then - connect_wireless # lp:1471663 + if create_connection.py wifi $WPA_BG_SSID --security=wpa --key=$WPA_BG_PSK; then + connect_wireless.sh # lp:1471663 INTERFACE=`nmcli dev status | awk '/802-11-wireless|wifi/ {print $1}'` iw dev $INTERFACE link iperf -c $SERVER_IPERF -t 300 -i 30 -u -b 100m -p 5050 diff --git a/units/wireless/nm-hotspot.pxu b/units/wireless/nm-hotspot.pxu index 5ffbe2b..3baa742 100644 --- a/units/wireless/nm-hotspot.pxu +++ b/units/wireless/nm-hotspot.pxu @@ -7,7 +7,7 @@ template-unit: job id: wireless/nmcli_wifi_ap_bg_{{ interface }} _summary: Create 802.11b/g Wi-Fi AP on {{ interface }} using NetworkManager command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py ap {{ interface }} bg plugin: shell category_id: com.canonical.plainbox::wireless @@ -28,7 +28,7 @@ template-unit: job id: wireless/nmcli_wifi_ap_a_{{ interface }} _summary: Create 802.11a Wi-Fi AP on {{ interface }} using NetworkManager command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_nmcli_test.py ap {{ interface }} a plugin: shell category_id: com.canonical.plainbox::wireless diff --git a/units/wireless/wireless-connection-manual.pxu b/units/wireless/wireless-connection-manual.pxu index 13ff465..7eb06cb 100644 --- a/units/wireless/wireless-connection-manual.pxu +++ b/units/wireless/wireless-connection-manual.pxu @@ -12,7 +12,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$OPEN_AX_SSID" +command: wifi_client_test.py -i {interface} -s "$OPEN_AX_SSID" environ: OPEN_AX_SSID user: root category_id: com.canonical.plainbox::wireless @@ -33,7 +33,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$OPEN_AC_SSID" +command: wifi_client_test.py -i {interface} -s "$OPEN_AC_SSID" environ: OPEN_AC_SSID user: root category_id: com.canonical.plainbox::wireless @@ -54,7 +54,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$OPEN_BG_SSID" +command: wifi_client_test.py -i {interface} -s "$OPEN_BG_SSID" environ: OPEN_BG_SSID user: root category_id: com.canonical.plainbox::wireless @@ -75,7 +75,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$OPEN_N_SSID" +command: wifi_client_test.py -i {interface} -s "$OPEN_N_SSID" environ: OPEN_N_SSID user: root category_id: com.canonical.plainbox::wireless @@ -96,7 +96,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$WPA_AX_SSID" -k "$WPA_AX_PSK" +command: wifi_client_test.py -i {interface} -s "$WPA_AX_SSID" -k "$WPA_AX_PSK" environ: WPA_AX_SSID WPA_AX_PSK user: root category_id: com.canonical.plainbox::wireless @@ -117,7 +117,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$WPA_AC_SSID" -k "$WPA_AC_PSK" +command: wifi_client_test.py -i {interface} -s "$WPA_AC_SSID" -k "$WPA_AC_PSK" environ: WPA_AC_SSID WPA_AC_PSK user: root category_id: com.canonical.plainbox::wireless @@ -138,7 +138,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$WPA_BG_SSID" -k "$WPA_BG_PSK" +command: wifi_client_test.py -i {interface} -s "$WPA_BG_SSID" -k "$WPA_BG_PSK" environ: WPA_BG_SSID WPA_BG_PSK user: root category_id: com.canonical.plainbox::wireless @@ -159,7 +159,7 @@ _steps: _verification: If there's "Connection test passed" message in result, mark the test as passed. plugin: user-interact -command: wifi_client_test -i {interface} -s "$WPA_N_SSID" -k "$WPA_N_PSK" +command: wifi_client_test.py -i {interface} -s "$WPA_N_SSID" -k "$WPA_N_PSK" environ: WPA_N_SSID WPA_N_PSK user: root category_id: com.canonical.plainbox::wireless @@ -204,7 +204,7 @@ estimated_duration: 1.2 depends: suspend/suspend_advanced_auto requires: device.category == 'WIRELESS' -command: network_reconnect_resume_test -t 90 -d wifi +command: network_reconnect_resume_test.py -t 90 -d wifi _summary: Network reconnect resume test (wifi) _description: Checks the length of time it takes to reconnect an existing wifi connection diff --git a/units/wireless/wireless-connection-netplan.pxu b/units/wireless/wireless-connection-netplan.pxu index 0483ac1..2127b8c 100644 --- a/units/wireless/wireless-connection-netplan.pxu +++ b/units/wireless/wireless-connection-netplan.pxu @@ -10,7 +10,7 @@ _purpose: Check system can connect to insecure 802.11ax AP using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_client_test_netplan.py -i {{ interface }} -s $OPEN_AX_SSID -d user: root environ: LD_LIBRARY_PATH OPEN_AX_SSID NET_DRIVER_INFO @@ -34,7 +34,7 @@ _purpose: Check system can connect to insecure 802.11ac AP using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 @@ -59,7 +59,7 @@ _purpose: Check system can connect to insecure 802.11b/g AP using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 @@ -82,7 +82,7 @@ _purpose: Check system can connect to insecure 802.11n AP using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 @@ -105,7 +105,7 @@ _purpose: Check system can connect to 802.11ax AP with wpa security using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $NET_DRIVER_INFO wifi_client_test_netplan.py -i {{ interface }} -s $WPA_AX_SSID -k $WPA_AX_PSK -d user: root environ: LD_LIBRARY_PATH WPA_AX_SSID WPA_AX_PSK NET_DRIVER_INFO @@ -129,7 +129,7 @@ _purpose: Check system can connect to 802.11ac AP with wpa security using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 @@ -153,7 +153,7 @@ _purpose: Check system can connect to 802.11b/g AP with wpa security using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 @@ -176,7 +176,7 @@ _purpose: Check system can connect to 802.11n AP with wpa security using netplan plugin: shell command: - net_driver_info $NET_DRIVER_INFO + net_driver_info.py $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 |