summaryrefslogtreecommitdiff
path: root/jobs
diff options
authorPierre Equoy <pierre.equoy@canonical.com>2016-05-11 12:46:19 +0800
committerPierre Equoy <pierre.equoy@canonical.com>2016-05-11 12:46:19 +0800
commite487d1fd8a8bcf2ee78f24aad299d6a3c75374d8 (patch)
tree60c32ee9f34e56f5344bf860e3e258c224778823 /jobs
parentd524537d77ad8437e01e13e7950ad272f7ff7bdc (diff)
providers:checkbox: Add USB Type-C and Thunderbolt 3 jobs
This commit adds the following to the Checkbox providers: - 2 audio jobs (1 for Thunderbolt 3, 1 for USB Type-C) - 2 monitor jobs (1 for Thunderbolt 3, 1 for USB Type-C) - 4 disk jobs (for Thunderbolt 3) - 8 USB jobs (for USB Type-C, with and without Type-C to Type-A adapter)
Diffstat (limited to 'jobs')
-rw-r--r--jobs/audio.txt.in57
-rw-r--r--jobs/monitor.txt.in40
-rw-r--r--jobs/power-management.txt.in3
-rw-r--r--jobs/thunderbolt.pxu81
-rw-r--r--jobs/usb.txt.in159
5 files changed, 338 insertions, 2 deletions
diff --git a/jobs/audio.txt.in b/jobs/audio.txt.in
index f6fb6a4..79b0445 100644
--- a/jobs/audio.txt.in
+++ b/jobs/audio.txt.in
@@ -118,6 +118,63 @@ _steps:
_verification:
Did you hear the sound from the Thunderbolt device?
+unit: template
+template-resource: graphics_card
+plugin: user-interact-verify
+category_id: 2013.com.canonical.plainbox::audio
+id: audio/{index}_playback_thunderbolt3_{product_slug}
+imports: from 2013.com.canonical.plainbox import manifest
+estimated_duration: 30.0
+requires:
+ manifest.has_thunderbolt3 == 'True'
+ device.category == 'AUDIO'
+ package.name == 'alsa-base'
+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
+ package.name == 'pulseaudio-utils'
+command:
+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
+ audio_settings set --verbose --device=hdmi --volume=50
+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
+ EXIT_CODE=$?
+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
+ exit $EXIT_CODE
+_purpose:
+ Thunderbolt audio interface verification
+_steps:
+ 1. Plug an external Thunderbolt device with sound (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
+ 2. Commence the test
+_verification:
+ Did you hear the sound from the Thunderbolt device?
+
+unit: template
+template-resource: graphics_card
+plugin: user-interact-verify
+category_id: 2013.com.canonical.plainbox::audio
+id: audio/{index}_playback_type-c_displayport_{product_slug}
+imports: from 2013.com.canonical.plainbox import manifest
+estimated_duration: 30.0
+requires:
+ manifest.has_usb_type_c
+ display.dp == 'supported'
+ device.category == 'AUDIO'
+ package.name == 'alsa-base'
+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
+ package.name == 'pulseaudio-utils'
+command:
+ audio_settings store --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
+ audio_settings set --verbose --device=hdmi --volume=50
+ gst_pipeline_test -t 2 --device hdmi 'audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! autoaudiosink'
+ EXIT_CODE=$?
+ audio_settings restore --verbose --file=$PLAINBOX_SESSION_SHARE/pulseaudio_settings
+ exit $EXIT_CODE
+_purpose:
+ DisplayPort audio via USB Type-C port interface verification
+_steps:
+ 1. Plug an external DisplayPort device with sound on a USB Type-C port using a "USB Typce-C to DisplayPort" adapter (Use only one HDMI/DisplayPort/Thunderbolt interface at a time for this test)
+ 2. Commence the test
+_verification:
+ Did you hear the sound from the DisplayPort device?
+
plugin: user-interact-verify
category_id: 2013.com.canonical.plainbox::audio
id: audio/playback_headphones
diff --git a/jobs/monitor.txt.in b/jobs/monitor.txt.in
index 53a787d..1502a14 100644
--- a/jobs/monitor.txt.in
+++ b/jobs/monitor.txt.in
@@ -149,3 +149,43 @@ _steps:
_verification:
Was the desktop displayed correctly with {vendor} {product} on the Thunderbolt-connected
screen in every mode?
+
+unit: template
+template-resource: graphics_card
+id: monitor/{index}_thunderbolt3_{product_slug}
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_thunderbolt3 == 'True'
+estimated_duration: 15.0
+plugin: manual
+category_id: 2013.com.canonical.plainbox::monitor
+_summary: Display connected via Thunderbolt 3 for {vendor} {product}
+_purpose:
+ This test will check your Thunderbolt 3 port as a monitor interconnect for {vendor} {product}.
+_steps:
+ 1. Connect a display (if not already connected) to the Thunderbolt 3 port on
+ your system
+ 2. Switch display modes between in your Display Settings, check if it can be
+ set to mirrored, extended, displayed on external or onboard only
+_verification:
+ Was the desktop displayed correctly with {vendor} {product} on the Thunderbolt-connected
+ screen in every mode?
+
+unit: template
+template-resource: graphics_card
+id: monitor/{index}_type-c_displayport_{product_slug}
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_usb_type_c
+estimated_duration: 15.0
+plugin: manual
+category_id: 2013.com.canonical.plainbox::monitor
+_summary: Display connected via DisplayPort using an USB Type-C port for {vendor} {product}
+_purpose:
+ This test will check the connection of a screen using a "USB Type-C to DisplayPort" adapter for {vendor} {product}.
+_steps:
+ 1. Connect a display (if not already connected) to the USB Type-C port on
+ your system using a "USB Type-C to DisplayPort" adapter
+ 2. Switch display modes between in your Display Settings, check if it can be
+ set to mirrored, extended, displayed on external or onboard only
+_verification:
+ Was the desktop displayed correctly with {vendor} {product} on the screen
+ connected using a "USB Type-C to DisplayPort" adapter in every mode?
diff --git a/jobs/power-management.txt.in b/jobs/power-management.txt.in
index 047a783..5240b77 100644
--- a/jobs/power-management.txt.in
+++ b/jobs/power-management.txt.in
@@ -231,8 +231,7 @@ estimated_duration: 30.0
depends: power-management/battery_drain_idle power-management/battery_drain_movie power-management/battery_drain_sleep
_description:
PURPOSE:
- This test will ensure that the AC is plugged back in after the battery.
- tests
+ This test will ensure that the AC is plugged back in after the battery tests.
STEPS:
1. Plug laptop into AC.
VERIFICATION:
diff --git a/jobs/thunderbolt.pxu b/jobs/thunderbolt.pxu
index f4b4395..d4d2c1b 100644
--- a/jobs/thunderbolt.pxu
+++ b/jobs/thunderbolt.pxu
@@ -3,6 +3,11 @@ id: has_thunderbolt
_name: Thunderbolt Support
value-type: bool
+unit: manifest entry
+id: has_thunderbolt3
+_name: Thunderbolt 3 Support
+value-type: bool
+
plugin: user-interact
category_id: 2013.com.canonical.plainbox::disk
id: thunderbolt/insert
@@ -79,3 +84,79 @@ _description:
with the result for the display.
2. Was the desktop displayed correctly on the Thunderbolt-connected screen?
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::disk
+id: thunderbolt3/insert
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_thunderbolt3 == 'True'
+estimated_duration: 20.0
+command: removable_storage_watcher insert --timeout 40 scsi
+_summary: Storage insert detection on Thunderbolt 3 port
+_description:
+ PURPOSE:
+ This test will check if the insertion of a Thunderbolt HDD could be detected
+ STEPS:
+ 1. Click 'Test' to begin the test. This test will
+ timeout and fail if the insertion has not been detected within 40 seconds.
+ 2. Plug a Thunderbolt HDD into an available Thunderbolt 3 port, if it's not
+ mounted automatically, please click the HDD icon to mount it.
+ VERIFICATION:
+ The verification of this test is automated. Do not change the automatically
+ selected result
+
+plugin: shell
+category_id: 2013.com.canonical.plainbox::disk
+id: thunderbolt3/storage-test
+user: root
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_thunderbolt3 == 'True'
+depends: thunderbolt3/insert
+estimated_duration: 45.0
+command: removable_storage_test -s 268400000 scsi
+_summary: Storage test on Thunderbolt 3
+_description:
+ This is an automated test which performs read/write operations on an attached
+ Thunderbolt HDD
+
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::disk
+id: thunderbolt3/remove
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_thunderbolt3 == 'True'
+depends: thunderbolt3/insert
+estimated_duration: 10.0
+command: removable_storage_watcher remove scsi
+_summary: Storage removal detection on Thunderbolt 3 port
+_description:
+ PURPOSE:
+ This test will check the system can detect the removal of a Thunderbolt HDD
+ STEPS:
+ 1. Click 'Test' to begin the test. This test will timeout and fail if
+ the removal has not been detected within 20 seconds.
+ 2. Remove the previously attached Thunderbolt HDD from the Thunderbolt port.
+ VERIFICATION:
+ The verification of this test is automated. Do not change the automatically
+ selected result
+
+plugin: user-interact-verify
+category_id: 2013.com.canonical.plainbox::disk
+id: thunderbolt3/daisy-chain
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_thunderbolt3 == 'True'
+estimated_duration: 45.0
+command: removable_storage_test -s 268400000 scsi
+_summary: Daisy-chain testing for Thunderbolt 3 storage and display device
+_description:
+ PURPOSE:
+ This test will check if your system can support daisy-chaining of a storage
+ and a monitor over Thunderbolt 3 port
+ STEPS:
+ 1. Connect your Thunderbolt monitor to your systems
+ 2. Connect and mount your Thunderbolt HDD to another Thunderbolt 3 port of the
+ monitor (you can do this with HDD first as well)
+ 3. Click 'Test' to perform the storage test on the Thunderbolt HDD
+ VERIFICATION:
+ 1. The verification for storage is automated, please select the result combine
+ with the result for the display.
+ 2. Was the desktop displayed correctly on the Thunderbolt-connected screen?
+
diff --git a/jobs/usb.txt.in b/jobs/usb.txt.in
index 8826fc1..48e517b 100644
--- a/jobs/usb.txt.in
+++ b/jobs/usb.txt.in
@@ -1,3 +1,13 @@
+unit: manifest entry
+id: has_usb_type_c
+_name: USB Type-C Support
+value-type: bool
+
+unit: manifest entry
+id: has_usb_type_c_charging
+_name: USB Type-C Charging Port
+value-type: bool
+
plugin: shell
category_id: 2013.com.canonical.plainbox::usb
id: usb/detect
@@ -37,6 +47,42 @@ _description:
VERIFICATION:
Did the device work as expected?
+plugin: user-interact-verify
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/c-to-a-adapter/hid
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_usb_type_c
+depends: usb/detect
+estimated_duration: 10.0
+command: keyboard_test
+_purpose:
+ This test will check that you can use a USB HID device plugged in a USB
+ Type-C port using a "USB Type-C to Type-A" adapter
+_steps:
+ 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port using a "USB Type-C to Type-A" adapter
+ 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks
+ 3. For keyboards, commence the test to launch a small tool. Type some text and close the tool.
+_verification:
+ Did the device work as expected?
+
+plugin: user-interact-verify
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/hid
+imports: from 2013.com.canonical.plainbox import manifest
+requires: manifest.has_usb_type_c
+depends: usb/detect
+estimated_duration: 10.0
+command: keyboard_test
+_purpose:
+ This test will check that you can use a USB HID device plugged in a USB
+ Type-C port
+_steps:
+ 1. Enable either a USB mouse or keyboard by plugging it in the USB Type-C port
+ 2. For mice, perform actions such as moving the pointer, right and left button clicks and double clicks
+ 3. For keyboards, commence the test to launch a small tool. Type some text and close the tool.
+_verification:
+ Did the device work as expected?
+
plugin: user-interact
category_id: 2013.com.canonical.plainbox::usb
id: usb/insert
@@ -76,6 +122,48 @@ _description:
plugin: user-interact
category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/c-to-a-adapter/insert
+imports: from 2013.com.canonical.plainbox import manifest
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+estimated_duration: 10.0
+command: removable_storage_watcher -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 using a "Type-C to Type-A"
+ adapter
+_steps:
+ 1. Click "Test" and insert a USB 3 storage device in a USB Type-C port
+ using a "USB Type-C to Type-A" adapter.
+ (Note: this test will time-out after 20 seconds.)
+ 2. Do not unplug the device after the test.
+_verification:
+ The verification of this test is automated. Do not change the
+ automatically selected result.
+
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/insert
+imports: from 2013.com.canonical.plainbox import manifest
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+estimated_duration: 10.0
+command: removable_storage_watcher -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
+_steps:
+ 1. Click "Test" and insert a USB 3 storage device in a USB Type-C port.
+ (Note: this test will time-out after 20 seconds.)
+ 2. Do not unplug the device after the test.
+_verification:
+ The verification of this test is automated. Do not change the
+ automatically selected result.
+
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::usb
id: usb/remove
depends: usb/insert
estimated_duration: 10.0
@@ -110,6 +198,47 @@ _description:
The verification of this test is automated. Do not change the
automatically selected result.
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/c-to-a-adapter/remove
+imports: from 2013.com.canonical.plainbox import manifest
+depends: usb-c/c-to-a-adapter/insert
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+estimated_duration: 10.0
+command: removable_storage_watcher -m 500000000 remove usb
+_purpose:
+ This test will check that the system correctly detects the removal of
+ a USB 3 storage device connected to a USB Type-C port using a "USB Type-C
+ to Type-A" adapter.
+_steps:
+ 1. Click "Test" and remove the USB 3 device.
+ (Note: this test will time-out after 20 seconds.)
+_verification:
+ The verification of this test is automated. Do not change the
+ automatically selected result.
+
+plugin: user-interact
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/remove
+imports: from 2013.com.canonical.plainbox import manifest
+depends: usb-c/insert
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+estimated_duration: 10.0
+command: removable_storage_watcher -m 500000000 remove usb
+_purpose:
+ This test will check that the system correctly detects the removal of
+ a USB 3 storage device connected to a USB Type-C port.
+_steps:
+ 1. Click "Test" and remove the USB 3 device.
+ (Note: this test will time-out after 20 seconds.)
+_verification:
+ The verification of this test is automated. Do not change the
+ automatically selected result.
+
plugin: user-interact-verify
category_id: 2013.com.canonical.plainbox::usb
id: usb/storage-transfer
@@ -172,6 +301,36 @@ _description:
plugin: shell
category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/c-to-a-adapter/storage-automated
+imports: from 2013.com.canonical.plainbox import manifest
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+depends: 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
+_description:
+ This test is automated and executes after the usb-c/c-to-a-adapter/insert test
+ is run.
+
+plugin: shell
+category_id: 2013.com.canonical.plainbox::usb
+id: usb-c/storage-automated
+imports: from 2013.com.canonical.plainbox import manifest
+requires:
+ usb.usb3 == 'supported'
+ manifest.has_usb_type_c
+depends: usb-c/insert
+user: root
+estimated_duration: 45.0
+command: removable_storage_test -s 268400000 -m 500000000 usb --driver xhci_hcd
+_description:
+ This test is automated and executes after the usb-c/insert test
+ is run.
+
+plugin: shell
+category_id: 2013.com.canonical.plainbox::usb
id: usb/storage-preinserted
user: root
estimated_duration: 45.0