summaryrefslogtreecommitdiff
diff options
-rwxr-xr-xbin/lock_screen_watcher161
-rw-r--r--units/audio/test-plan.pxu33
-rw-r--r--units/bluetooth/test-plan.pxu23
-rw-r--r--units/camera/test-plan.pxu20
-rw-r--r--units/cpu/jobs.pxu9
-rw-r--r--units/cpu/test-plan.pxu14
-rw-r--r--units/esata/test-plan.pxu27
-rw-r--r--units/firewire/test-plan.pxu27
-rw-r--r--units/firmware/jobs.pxu10
-rw-r--r--units/graphics/test-plan.pxu96
-rw-r--r--units/info/test-plan.pxu75
-rw-r--r--units/input/test-plan.pxu27
-rw-r--r--units/keys/test-plan.pxu40
-rw-r--r--units/led/test-plan.pxu42
-rw-r--r--units/mediacard/test-plan.pxu33
-rw-r--r--units/miscellanea/jobs.pxu12
-rw-r--r--units/miscellanea/test-plan.pxu14
-rw-r--r--units/mobilebroadband/test-plan.pxu14
-rw-r--r--units/monitor/test-plan.pxu114
-rw-r--r--units/networking/test-plan.pxu4
-rw-r--r--units/optical/test-plan.pxu31
-rw-r--r--units/power-management/jobs.pxu11
-rw-r--r--units/stress/jobs.pxu10
-rw-r--r--units/stress/test-plan.pxu18
-rw-r--r--units/submission/jobs.pxu14
-rw-r--r--units/suspend/suspend.pxu3
-rw-r--r--units/thunderbolt/test-plan.pxu33
-rw-r--r--units/touchpad/test-plan.pxu51
-rw-r--r--units/touchscreen/test-plan.pxu33
-rw-r--r--units/usb/test-plan.pxu58
-rw-r--r--units/wireless/test-plan.pxu14
31 files changed, 716 insertions, 355 deletions
diff --git a/bin/lock_screen_watcher b/bin/lock_screen_watcher
index b8dd886..4e9847e 100755
--- a/bin/lock_screen_watcher
+++ b/bin/lock_screen_watcher
@@ -1,116 +1,49 @@
#!/usr/bin/env python3
-import argparse
-import sys
-import subprocess
-import lsb_release
-
+# This file is part of Checkbox.
+#
+# Copyright 2018 Canonical Ltd.
+# Written by: Sylvain Pineau <sylvain.pineau@canonical.com>
+#
+# Checkbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3,
+# as published by the Free Software Foundation.
+#
+# Checkbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
+
+import dbus
+from dbus.mainloop.glib import DBusGMainLoop
from gi.repository import GObject
-
-from checkbox_support.dbus import connect_to_system_bus
-
-import threading
-import time
-
-GObject.threads_init()
-
-class SceenSaverStatusHelper(threading.Thread):
-
- def __init__(self, loop):
- super(SceenSaverStatusHelper, self).__init__()
- self._loop = loop
- self.quit = False
-
- def query(self):
- if (lsb_release.get_distro_information()["ID"] == "Ubuntu"):
- if (lsb_release.get_distro_information()["CODENAME"] == "trusty"):
- # trusty uses login screen as screen saver
- process_ps = subprocess.Popen(["ps", "aux"], stdout=subprocess.PIPE)
- process_grep = subprocess.Popen(["grep",
- "/usr/lib/unity/unity-panel-service --lockscreen-mode"],
- stdin=process_ps.stdout,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- process_ps.stdout.close()
- stdout = process_grep.communicate()[0]
- if (len(stdout.decode().split("\n")) == 3):
- print("the screensaver is active")
- self._loop.quit()
- p = subprocess.Popen(["gnome-screensaver-command", "-q"], stdout=subprocess.PIPE)
- stdout, stderr = p.communicate()
- # parse the stdout string from the command "gnome-screensaver-command -q"
- # the result should be "active" or "inactive"
- if "active" == stdout.decode().split(" ")[-1].rstrip() :
- print("the screensaver is active")
- self._loop.quit()
-
- def run(self):
- while not self.quit:
- GObject.idle_add(self.query)
- time.sleep(1)
-
-
-class HotkeyFunctionListener:
-
- def __init__(self, system_bus, loop):
- self._bus = system_bus
- self._loop = loop
- # Assume the test passes, this is changed when timeout expires
- self._error = False
-
- def _on_timeout_expired(self):
- """
- Internal function called when the timer expires.
-
- Basically it's just here to tell the user the test failed or that the
- user was unable to pressed the hot key during the allowed time.
- """
- print("You have failed to perform the required manipulation in time")
- # Fail the test when the timeout was reached
- self._error = True
- # Stop the loop now
- self._loop.quit()
-
- def check(self, timeout):
- """
- Run the configured test and return the result
-
- The result is False if the test has failed. The timeout, when
- non-zero, will make the test fail after the specified seconds have
- elapsed without conclusive result.
- """
- # Setup a timeout if requested
- if timeout > 0:
- GObject.timeout_add_seconds(timeout, self._on_timeout_expired)
-
- # helper to listen the functionality is triggered or not
- query_thread = SceenSaverStatusHelper(self._loop)
- query_thread.start()
-
- self._loop.run()
- query_thread.quit = True
- # Return the outcome of the test
- return self._error
-
-def main():
- description = "Wait for the specified hotkey to be pressed."
- parser = argparse.ArgumentParser(description=description)
- parser.add_argument('--timeout', type=int, default=30)
-
- args = parser.parse_args()
-
- # Connect to the system bus, we also get the event
- # loop as we need it to start listening for signals.
- system_bus, loop = connect_to_system_bus()
-
- listener = HotkeyFunctionListener(system_bus, loop)
-
- # Run the actual listener and wait till it either times out or discovers
- # the specific hot key pressed.
- try:
- return listener.check(args.timeout)
- except KeyboardInterrupt:
- return 1
-
-if __name__ == "__main__":
- sys.exit(main())
-
+from gi.repository import GLib
+
+
+def filter_cb(bus, message):
+ if message.get_member() == "EventEmitted":
+ args = message.get_args_list()
+ if args[0] == "desktop-lock":
+ print("Lock Screen detected")
+ mainloop.quit()
+ elif message.get_member() == "ActiveChanged":
+ args = message.get_args_list()
+ if args[0] == True: # noqa: E712
+ print("Lock Screen detected")
+ mainloop.quit()
+
+
+def on_timeout_expired():
+ print("You have failed to perform the required manipulation in time")
+ raise SystemExit(1)
+
+DBusGMainLoop(set_as_default=True)
+bus = dbus.SessionBus()
+bus.add_match_string("type='signal',interface='com.ubuntu.Upstart0_6'")
+bus.add_match_string("type='signal',interface='org.gnome.ScreenSaver'")
+bus.add_message_filter(filter_cb)
+mainloop = GLib.MainLoop()
+GObject.timeout_add_seconds(30, on_timeout_expired)
+mainloop.run()
diff --git a/units/audio/test-plan.pxu b/units/audio/test-plan.pxu
index b425c57..a147682 100644
--- a/units/audio/test-plan.pxu
+++ b/units/audio/test-plan.pxu
@@ -5,18 +5,27 @@ _description:
Audio tests
See Monitor / Graphic test plans for hybrid-graphic monitor audio tests
include:
- audio/alsa_info_collect
- audio/alsa_info_attachment
- audio/list_devices
- audio/speaker-headphone-plug-detection certification-status=blocker
- audio/microphone-plug-detection certification-status=blocker
- audio/playback_headphones certification-status=blocker
- audio/alsa_record_playback_external certification-status=blocker
- audio/playback_auto certification-status=blocker
- audio/alsa_record_playback_internal certification-status=blocker
- audio/channels
- audio/external-linein
- audio/external-lineout
+nested_part:
+ com.canonical.certification::audio-cert-manual
+ com.canonical.certification::audio-cert-automated
+
+id: audio-cert-manual
+unit: test plan
+_name: Audio tests (Manual)
+_description:
+ Audio tests
+ See Monitor / Graphic test plans for hybrid-graphic monitor audio tests (Manual)
+include:
+ audio/speaker-headphone-plug-detection certification-status=blocker
+ audio/microphone-plug-detection certification-status=blocker
+ audio/playback_headphones certification-status=blocker
+ audio/alsa_record_playback_external certification-status=blocker
+ audio/playback_auto certification-status=blocker
+ audio/alsa_record_playback_internal certification-status=blocker
+ audio/channels
+ audio/external-linein
+ audio/external-lineout
+
id: after-suspend-audio-cert-full
unit: test plan
diff --git a/units/bluetooth/test-plan.pxu b/units/bluetooth/test-plan.pxu
index 7fa002e..ae2c305 100644
--- a/units/bluetooth/test-plan.pxu
+++ b/units/bluetooth/test-plan.pxu
@@ -1,13 +1,24 @@
id: bluetooth-cert-full
unit: test plan
_name: Bluetooth tests
-_description: Bluetooth tests
+_description:
+ Bluetooth tests
include:
- bluetooth/detect-output certification-status=blocker
- bluetooth/audio-a2dp certification-status=blocker
- bluetooth/HID
- bluetooth4/HOGP-mouse certification-status=non-blocker
- bluetooth4/HOGP-keyboard certification-status=non-blocker
+nested_part:
+ com.canonical.certification::bluetooth-cert-manual
+ com.canonical.certification::bluetooth-cert-automated
+
+id: bluetooth-cert-manual
+unit: test plan
+_name: Bluetooth tests (Manual)
+_description:
+ Bluetooth tests (Manual)
+include:
+ bluetooth/audio-a2dp certification-status=blocker
+ bluetooth/HID
+ bluetooth4/HOGP-mouse certification-status=non-blocker
+ bluetooth4/HOGP-keyboard certification-status=non-blocker
+
id: bluetooth-cert-automated
unit: test plan
diff --git a/units/camera/test-plan.pxu b/units/camera/test-plan.pxu
index 2cf5550..e4302be 100644
--- a/units/camera/test-plan.pxu
+++ b/units/camera/test-plan.pxu
@@ -1,12 +1,22 @@
id: camera-cert-full
unit: test plan
_name: Camera tests
-_description: Camera tests
+_description:
+ Camera tests
include:
- camera/detect certification-status=blocker
- camera/still certification-status=blocker
- camera/display certification-status=blocker
- camera/multiple-resolution-images certification-status=blocker
+nested_part:
+ com.canonical.certification::camera-cert-manual
+ com.canonical.certification::camera-cert-automated
+
+id: camera-cert-manual
+unit: test plan
+_name: Camera tests (Manual)
+_description:
+ Camera tests (Manual)
+include:
+ camera/still certification-status=blocker
+ camera/display certification-status=blocker
+
id: after-suspend-camera-cert-full
unit: test plan
diff --git a/units/cpu/jobs.pxu b/units/cpu/jobs.pxu
index bdea273..bf23af7 100644
--- a/units/cpu/jobs.pxu
+++ b/units/cpu/jobs.pxu
@@ -2,8 +2,7 @@ plugin: shell
category_id: com.canonical.plainbox::cpu
id: cpu/scaling_test
estimated_duration: 150.0
-requires:
- package.name == 'fwts' or executable.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
environ: PLAINBOX_SESSION_SHARE LD_LIBRARY_PATH SNAP
command:
@@ -32,8 +31,7 @@ plugin: shell
category_id: com.canonical.plainbox::cpu
id: cpu/maxfreq_test
estimated_duration: 0.6
-requires:
- package.name == 'fwts' or executable.name == 'fwts'
+requires: executable.name == 'fwts'
cpuinfo.platform in ("i386", "x86_64")
user: root
environ: LD_LIBRARY_PATH SNAP
@@ -117,8 +115,7 @@ _description:
plugin:shell
id: cpu/cstates
estimated_duration: 10.0
-requires:
- package.name == 'fwts' or executable.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_summary:
Run C-States tests
diff --git a/units/cpu/test-plan.pxu b/units/cpu/test-plan.pxu
index 2678c31..c20efe8 100644
--- a/units/cpu/test-plan.pxu
+++ b/units/cpu/test-plan.pxu
@@ -1,11 +1,23 @@
id: cpu-cert-full
unit: test plan
_name: CPU tests
-_description: CPU tests
+_description:
+ CPU tests
+include:
+nested_part:
+ com.canonical.certification::cpu-cert-manual
+ com.canonical.certification::cpu-cert-automated
+
+id: cpu-cert-manual
+unit: test plan
+_name: CPU tests (Manual)
+_description:
+ CPU tests (Manual)
include:
nested_part:
cpu-cert-automated
+
id: cpu-cert-automated
unit: test plan
_name: CPU tests (automated)
diff --git a/units/esata/test-plan.pxu b/units/esata/test-plan.pxu
index b7e59cd..e2cc21c 100644
--- a/units/esata/test-plan.pxu
+++ b/units/esata/test-plan.pxu
@@ -1,11 +1,30 @@
id: esata-cert-full
unit: test plan
_name: eSATA tests
-_description: eSATA tests
+_description:
+ eSATA tests
include:
- esata/insert certification-status=blocker
- esata/storage-test certification-status=blocker
- esata/remove certification-status=blocker
+nested_part:
+ com.canonical.certification::esata-cert-manual
+ com.canonical.certification::esata-cert-automated
+
+id: esata-cert-manual
+unit: test plan
+_name: eSATA tests (Manual)
+_description:
+ eSATA tests (Manual)
+include:
+ esata/insert certification-status=blocker
+ esata/storage-test certification-status=blocker
+ esata/remove certification-status=blocker
+
+id: esata-cert-automated
+unit: test plan
+_name: eSATA tests (Automated)
+_description:
+ eSATA tests (Automated)
+include:
+
id: esata-cert-blockers
unit: test plan
diff --git a/units/firewire/test-plan.pxu b/units/firewire/test-plan.pxu
index ecb6084..66de049 100644
--- a/units/firewire/test-plan.pxu
+++ b/units/firewire/test-plan.pxu
@@ -1,11 +1,30 @@
id: firewire-cert-full
unit: test plan
_name: Firewire tests
-_description: Firewire tests
+_description:
+ Firewire tests
include:
- firewire/insert certification-status=blocker
- firewire/storage-test certification-status=blocker
- firewire/remove certification-status=blocker
+nested_part:
+ com.canonical.certification::firewire-cert-manual
+ com.canonical.certification::firewire-cert-automated
+
+id: firewire-cert-manual
+unit: test plan
+_name: Firewire tests (Manual)
+_description:
+ Firewire tests (Manual)
+include:
+ firewire/insert certification-status=blocker
+ firewire/storage-test certification-status=blocker
+ firewire/remove certification-status=blocker
+
+id: firewire-cert-automated
+unit: test plan
+_name: Firewire tests (Automated)
+_description:
+ Firewire tests (Automated)
+include:
+
id: firewire-cert-blockers
unit: test plan
diff --git a/units/firmware/jobs.pxu b/units/firmware/jobs.pxu
index 3095273..5c8dcee 100644
--- a/units/firmware/jobs.pxu
+++ b/units/firmware/jobs.pxu
@@ -4,7 +4,7 @@ plugin: shell
category_id: com.canonical.plainbox::firmware
id: firmware/fwts_{name}
estimated_duration: 1.2
-requires: package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
command: checkbox-support-fwts_test -t {name} -l $PLAINBOX_SESSION_SHARE/fwts_{name}.log
_description: Run {name} test from Firmware Test Suite.
@@ -16,7 +16,7 @@ plugin: attachment
category_id: com.canonical.plainbox::firmware
id: firmware/fwts_{name}.log
estimated_duration: 1.2
-requires: package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
command: [[ -e $PLAINBOX_SESSION_SHARE/fwts_{name}.log ]] && xz -c $PLAINBOX_SESSION_SHARE/fwts_{name}.log
_description: Attach log for FWTS {name} test.
@@ -26,8 +26,7 @@ plugin:shell
category_id: com.canonical.plainbox::firmware
id: firmware/fwts_desktop_diagnosis
estimated_duration: 10.0
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_description:
Run Firmware Test Suite (fwts) QA-concerned desktop-specific diagnosis tests.
@@ -40,8 +39,7 @@ plugin:shell
category_id: com.canonical.plainbox::firmware
id: firmware/fwts_desktop_diagnosis_hwe
estimated_duration: 5.0
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_description:
Run Firmware Test Suite (fwts) HWE-concerned desktop-specific diagnosis tests.
diff --git a/units/graphics/test-plan.pxu b/units/graphics/test-plan.pxu
index a85b194..aa7ddde 100644
--- a/units/graphics/test-plan.pxu
+++ b/units/graphics/test-plan.pxu
@@ -1,42 +1,88 @@
id: graphics-integrated-gpu-cert-full
unit: test plan
_name: Graphics tests (integrated GPU)
-_description: Graphics tests (integrated GPU)
+_description:
+ Graphics tests (integrated GPU)
include:
- miscellanea/chvt
- graphics/xorg-version certification-status=blocker
- graphics/xorg-failsafe certification-status=blocker
- graphics/xorg-process certification-status=blocker
- graphics/VESA_drivers_not_in_use certification-status=blocker
- graphics/1_maximum_resolution_.* certification-status=blocker
- graphics/1_glxgears_.* certification-status=blocker
- graphics/1_driver_version_.* certification-status=blocker
- graphics/1_compiz_check_.* certification-status=blocker
- graphics/1_rotation_.* certification-status=blocker
- graphics/1_video_.* certification-status=blocker
- graphics/1_minimum_resolution_.*
- graphics/1_cycle_resolution_.* certification-status=non-blocker
+bootstrap_include:
+ graphics_card
+nested_part:
+ com.canonical.certification::graphics-integrated-gpu-cert-manual
+ com.canonical.certification::graphics-integrated-gpu-cert-automated
+
+id: graphics-integrated-gpu-cert-manual
+unit: test plan
+_name: Graphics tests (integrated GPU) (Manual)
+_description:
+ Graphics tests (integrated GPU) (Manual)
+include:
+ miscellanea/chvt
+ graphics/1_maximum_resolution_.* certification-status=blocker
+ graphics/1_glxgears_.* certification-status=blocker
+ graphics/1_rotation_.* certification-status=blocker
+ graphics/1_video_.* certification-status=blocker
+ graphics/1_cycle_resolution_.* certification-status=non-blocker
+bootstrap_include:
+ graphics_card
+
+id: graphics-integrated-gpu-cert-automated
+unit: test plan
+_name: Graphics tests (integrated GPU) (Automated)
+_description:
+ Graphics tests (integrated GPU) (Automated)
+include:
+ graphics/xorg-version certification-status=blocker
+ graphics/xorg-failsafe certification-status=blocker
+ graphics/xorg-process certification-status=blocker
+ graphics/VESA_drivers_not_in_use certification-status=blocker
+ graphics/1_driver_version_.* certification-status=blocker
+ graphics/1_compiz_check_.* certification-status=blocker
+ graphics/1_minimum_resolution_.*
bootstrap_include:
graphics_card
+
id: graphics-discrete-gpu-cert-full
unit: test plan
_name: Graphics tests (discrete GPU)
-_description: Graphics tests (discrete GPU)
+_description:
+ Graphics tests (discrete GPU)
include:
- graphics/2_switch_card_.*_xenial certification-status=blocker
- graphics/2_maximum_resolution_.* certification-status=blocker
- graphics/2_valid_opengl_renderer_.* certification-status=blocker
- graphics/2_glxgears_.* certification-status=blocker
- graphics/2_driver_version_.* certification-status=blocker
- graphics/2_compiz_check_.* certification-status=blocker
- graphics/2_rotation_.* certification-status=blocker
- graphics/2_video_.* certification-status=blocker
- graphics/2_minimum_resolution_.*
- graphics/2_cycle_resolution_.* certification-status=non-blocker
+bootstrap_include:
+ graphics_card
+nested_part:
+ com.canonical.certification::graphics-discrete-gpu-cert-manual
+ com.canonical.certification::graphics-discrete-gpu-cert-automated
+
+id: graphics-discrete-gpu-cert-manual
+unit: test plan
+_name: Graphics tests (discrete GPU) (Manual)
+_description:
+ Graphics tests (discrete GPU) (Manual)
+include:
+ graphics/2_switch_card_.*_xenial certification-status=blocker
+ graphics/2_maximum_resolution_.* certification-status=blocker
+ graphics/2_glxgears_.* certification-status=blocker
+ graphics/2_rotation_.* certification-status=blocker
+ graphics/2_video_.* certification-status=blocker
+ graphics/2_cycle_resolution_.* certification-status=non-blocker
bootstrap_include:
graphics_card
+id: graphics-discrete-gpu-cert-automated
+unit: test plan
+_name: Graphics tests (discrete GPU) (Automated)
+_description:
+ Graphics tests (discrete GPU) (Automated)
+include:
+ graphics/2_valid_opengl_renderer_.* certification-status=blocker
+ graphics/2_driver_version_.* certification-status=blocker
+ graphics/2_compiz_check_.* certification-status=blocker
+ graphics/2_minimum_resolution_.*
+bootstrap_include:
+ graphics_card
+
+
id: after-suspend-graphics-integrated-gpu-cert-full
unit: test plan
_name: After suspend tests (integrated GPU)
diff --git a/units/info/test-plan.pxu b/units/info/test-plan.pxu
index c01d47e..e54b443 100644
--- a/units/info/test-plan.pxu
+++ b/units/info/test-plan.pxu
@@ -1,32 +1,55 @@
id: info-attachment-cert-full
unit: test plan
_name: Info attachment jobs
-_description: Info attachment jobs
+_description:
+ Info attachment jobs
include:
- acpi_sleep_attachment
- codecs_attachment
- cpuinfo_attachment
- dkms_info_attachment
- dmesg_attachment
- dmi_attachment
- dmidecode_attachment
- efi_attachment
- info/buildstamp
- info/disk_partitions
- info/hdparm_.*.txt
- info/touchpad_driver
- installer_debug.gz
- kernel_cmdline_attachment
- lsmod_attachment
- lspci_attachment
- lspci_standard_config_attachment
- lsusb_attachment
- meminfo_attachment
- modinfo_attachment
- modprobe_attachment
- modules_attachment
- sysctl_attachment
- sysfs_attachment
- udev_attachment
+bootstrap_include:
+ device
+nested_part:
+ com.canonical.certification::info-attachment-cert-manual
+ com.canonical.certification::info-attachment-cert-automated
+
+id: info-attachment-cert-manual
+unit: test plan
+_name: Info attachment jobs (Manual)
+_description:
+ Info attachment jobs (Manual)
+include:
+bootstrap_include:
+ device
+
+id: info-attachment-cert-automated
+unit: test plan
+_name: Info attachment jobs (Automated)
+_description:
+ Info attachment jobs (Automated)
+include:
+ acpi_sleep_attachment
+ codecs_attachment
+ cpuinfo_attachment
+ dkms_info_attachment
+ dmesg_attachment
+ dmi_attachment
+ dmidecode_attachment
+ efi_attachment
+ info/buildstamp
+ info/disk_partitions
+ info/hdparm_.*.txt
+ info/touchpad_driver
+ installer_debug.gz
+ kernel_cmdline_attachment
+ lsmod_attachment
+ lspci_attachment
+ lspci_standard_config_attachment
+ lsusb_attachment
+ meminfo_attachment
+ modinfo_attachment
+ modprobe_attachment
+ modules_attachment
+ sysctl_attachment
+ sysfs_attachment
+ udev_attachment
bootstrap_include:
device
+
diff --git a/units/input/test-plan.pxu b/units/input/test-plan.pxu
index 8033883..ef9cf75 100644
--- a/units/input/test-plan.pxu
+++ b/units/input/test-plan.pxu
@@ -1,12 +1,29 @@
id: input-cert-full
unit: test plan
_name: Input tests
-_description: Input tests
+_description:
+ Input tests
include:
- input/accelerometer certification-status=non-blocker
- input/pointing_.* certification-status=blocker
- input/clicking_.* certification-status=blocker
- input/keyboard certification-status=blocker
+nested_part:
+ com.canonical.certification::input-cert-manual
+ com.canonical.certification::input-cert-automated
+
+id: input-cert-manual
+unit: test plan
+_name: Input tests (Manual)
+_description:
+ Input tests (Manual)
+include:
+ input/accelerometer certification-status=non-blocker
+ input/keyboard certification-status=blocker
+
+id: input-cert-automated
+unit: test plan
+_name: Input tests (Automated)
+_description:
+ Input tests (Automated)
+include:
+
id: after-suspend-input-cert-full
unit: test plan
diff --git a/units/keys/test-plan.pxu b/units/keys/test-plan.pxu
index 4fd7092..c75a32a 100644
--- a/units/keys/test-plan.pxu
+++ b/units/keys/test-plan.pxu
@@ -4,17 +4,35 @@ _name: Special keys tests
_description:
Special keys tests (w/o sleep/hibernate keys, see Power Management test plans)
include:
- keys/lock-screen certification-status=blocker
- keys/super certification-status=blocker
- keys/battery-info certification-status=blocker
- keys/brightness certification-status=blocker
- keys/media-control certification-status=blocker
- keys/mute certification-status=blocker
- keys/volume certification-status=blocker
- keys/video-out certification-status=blocker
- keys/wireless certification-status=blocker
- keys/keyboard-backlight certification-status=blocker
- keys/microphone-mute certification-status=blocker
+nested_part:
+ com.canonical.certification::keys-cert-manual
+ com.canonical.certification::keys-cert-automated
+
+id: keys-cert-manual
+unit: test plan
+_name: Special keys tests (Manual)
+_description:
+ Special keys tests (w/o sleep/hibernate keys, see Power Management test plans) (Manual)
+include:
+ keys/lock-screen certification-status=blocker
+ keys/super certification-status=blocker
+ keys/battery-info certification-status=blocker
+ keys/brightness certification-status=blocker
+ keys/media-control certification-status=blocker
+ keys/mute certification-status=blocker
+ keys/volume certification-status=blocker
+ keys/video-out certification-status=blocker
+ keys/wireless certification-status=blocker
+ keys/keyboard-backlight certification-status=blocker
+ keys/microphone-mute certification-status=blocker
+
+id: keys-cert-automated
+unit: test plan
+_name: Special keys tests (Automated)
+_description:
+ Special keys tests (w/o sleep/hibernate keys, see Power Management test plans) (Automated)
+include:
+
id: after-suspend-keys-cert-full
unit: test plan
diff --git a/units/led/test-plan.pxu b/units/led/test-plan.pxu
index f43a3ca..88d38a6 100644
--- a/units/led/test-plan.pxu
+++ b/units/led/test-plan.pxu
@@ -2,19 +2,45 @@ id: led-cert-full
unit: test plan
_name: LED tests
_description:
+ LED tests
+ Notes: - led/power-blink-suspend and led/suspend are used later in the
+ power management testplan just after a number of suspend tests.
+ - led/wireless is redundant given that we have led/wlan and
+ led/bluetooth already.
+include:
+nested_part:
+ com.canonical.certification::led-cert-manual
+ com.canonical.certification::led-cert-automated
+
+id: led-cert-manual
+unit: test plan
+_name: LED tests (Manual)
+_description:
LED tests
Notes: - led/power-blink-suspend and led/suspend are used later in the
power management testplan just after a number of suspend tests.
- led/wireless is redundant given that we have led/wlan and
- led/bluetooth already.
+ led/bluetooth already. (Manual)
include:
- led/battery-charged
- led/battery-charging
- led/battery-low
- led/camera
- led/caps-lock
- led/power
- led/touchpad
+ led/battery-charged
+ led/battery-charging
+ led/battery-low
+ led/camera
+ led/caps-lock
+ led/power
+ led/touchpad
+
+id: led-cert-automated
+unit: test plan
+_name: LED tests (Automated)
+_description:
+ LED tests
+ Notes: - led/power-blink-suspend and led/suspend are used later in the
+ power management testplan just after a number of suspend tests.
+ - led/wireless is redundant given that we have led/wlan and
+ led/bluetooth already. (Automated)
+include:
+
id: after-suspend-led-cert-full
unit: test plan
diff --git a/units/mediacard/test-plan.pxu b/units/mediacard/test-plan.pxu
index 087e556..58d3f07 100644
--- a/units/mediacard/test-plan.pxu
+++ b/units/mediacard/test-plan.pxu
@@ -1,14 +1,33 @@
id: mediacard-cert-full
unit: test plan
_name: Mediacard tests
-_description: Mediacard tests
+_description:
+ Mediacard tests
include:
- mediacard/sd-insert certification-status=blocker
- mediacard/sd-storage certification-status=blocker
- mediacard/sd-remove certification-status=blocker
- mediacard/sdhc-insert certification-status=blocker
- mediacard/sdhc-storage certification-status=blocker
- mediacard/sdhc-remove certification-status=blocker
+nested_part:
+ com.canonical.certification::mediacard-cert-manual
+ com.canonical.certification::mediacard-cert-automated
+
+id: mediacard-cert-manual
+unit: test plan
+_name: Mediacard tests (Manual)
+_description:
+ Mediacard tests (Manual)
+include:
+ mediacard/sd-insert certification-status=blocker
+ mediacard/sd-storage certification-status=blocker
+ mediacard/sd-remove certification-status=blocker
+ mediacard/sdhc-insert certification-status=blocker
+ mediacard/sdhc-storage certification-status=blocker
+ mediacard/sdhc-remove certification-status=blocker
+
+id: mediacard-cert-automated
+unit: test plan
+_name: Mediacard tests (Automated)
+_description:
+ Mediacard tests (Automated)
+include:
+
id: after-suspend-mediacard-cert-full
unit: test plan
diff --git a/units/miscellanea/jobs.pxu b/units/miscellanea/jobs.pxu
index 10df43d..2071f06 100644
--- a/units/miscellanea/jobs.pxu
+++ b/units/miscellanea/jobs.pxu
@@ -67,8 +67,7 @@ plugin: shell
category_id: com.canonical.plainbox::miscellanea
id: miscellanea/fwts_test
estimated_duration: 1.2
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_description:
Run Firmware Test Suite (fwts) automated tests.
@@ -93,8 +92,7 @@ command: fwupdate -s
plugin: attachment
category_id: com.canonical.plainbox::miscellanea
id: miscellanea/fwts_results.log
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
command:
[[ -e ${PLAINBOX_SESSION_SHARE}/fwts_results.log ]] && xz -c ${PLAINBOX_SESSION_SHARE}/fwts_results.log
_description: Attaches the miscellanes/fwts_test results log to the submission.
@@ -103,8 +101,7 @@ plugin: attachment
category_id: com.canonical.plainbox::miscellanea
estimated_duration: 0.5
id: miscellanea/fwts_results_hwe.log.gz
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
command:
[ -f $PLAINBOX_SESSION_SHARE/fwts_results_hwe.log ] && gzip -c $PLAINBOX_SESSION_SHARE/fwts_results_hwe.log
_description: Attaches the FWTS results log to the submission (to HWE)
@@ -292,8 +289,7 @@ _description:
plugin:shell
id: miscellanea/oops
estimated_duration: 10.0
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_description:
Run Firmware Test Suite (fwts) oops tests.
diff --git a/units/miscellanea/test-plan.pxu b/units/miscellanea/test-plan.pxu
index adf771f..758386e 100644
--- a/units/miscellanea/test-plan.pxu
+++ b/units/miscellanea/test-plan.pxu
@@ -1,11 +1,23 @@
id: misc-client-cert-full
unit: test plan
_name: Miscellaneous client tests
-_description: Miscellaneous client tests (fwts, dmi, oops)
+_description:
+ Miscellaneous client tests (fwts, dmi, oops)
+include:
+nested_part:
+ com.canonical.certification::misc-client-cert-manual
+ com.canonical.certification::misc-client-cert-automated
+
+id: misc-client-cert-manual
+unit: test plan
+_name: Miscellaneous client tests (Manual)
+_description:
+ Miscellaneous client tests (fwts, dmi, oops) (Manual)
include:
nested_part:
misc-client-cert-automated
+
id: misc-client-cert-automated
unit: test plan
_name: Miscellaneous client tests (automated)
diff --git a/units/mobilebroadband/test-plan.pxu b/units/mobilebroadband/test-plan.pxu
index 166a297..dd086c7 100644
--- a/units/mobilebroadband/test-plan.pxu
+++ b/units/mobilebroadband/test-plan.pxu
@@ -1,11 +1,23 @@
id: mobilebroadband-cert-full
unit: test plan
_name: Mobile broadband tests
-_description: Mobile broadband tests
+_description:
+ Mobile broadband tests
+include:
+nested_part:
+ com.canonical.certification::mobilebroadband-cert-manual
+ com.canonical.certification::mobilebroadband-cert-automated
+
+id: mobilebroadband-cert-manual
+unit: test plan
+_name: Mobile broadband tests (Manual)
+_description:
+ Mobile broadband tests (Manual)
include:
nested_part:
mobilebroadband-cert-automated
+
id: mobilebroadband-cert-automated
unit: test plan
_name: Mobile broadband tests (automated)
diff --git a/units/monitor/test-plan.pxu b/units/monitor/test-plan.pxu
index 10976c9..a642040 100644
--- a/units/monitor/test-plan.pxu
+++ b/units/monitor/test-plan.pxu
@@ -1,51 +1,97 @@
id: monitor-integrated-gpu-cert-full
unit: test plan
_name: Monitor tests (integrated GPU)
-_description: Monitor tests (integrated GPU)
+_description:
+ Monitor tests (integrated GPU)
include:
- monitor/1_powersaving_.* certification-status=blocker
- monitor/1_dim_brightness_.* certification-status=blocker
- monitor/1_displayport_.* certification-status=blocker
- monitor/1_type-c_displayport_.* certification-status=non-blocker
- audio/1_playback_displayport_.* certification-status=blocker
- audio/1_playback_type-c_displayport_.* certification-status=non-blocker
- monitor/1_dvi_.* certification-status=blocker
- monitor/1_hdmi_.* certification-status=blocker
- audio/1_playback_hdmi_.* certification-status=blocker
- monitor/1_thunderbolt_.* certification-status=blocker
- monitor/1_thunderbolt3_.* certification-status=non-blocker
- audio/1_playback_thunderbolt_.* certification-status=blocker
- audio/1_playback_thunderbolt3_.* certification-status=non-blocker
- thunderbolt/daisy-chain certification-status=blocker
- thunderbolt3/daisy-chain certification-status=non-blocker
- monitor/1_vga_.* certification-status=blocker
- monitor/1_multi-head_.* certification-status=blocker
+bootstrap_include:
+ graphics_card
+nested_part:
+ com.canonical.certification::monitor-integrated-gpu-cert-manual
+ com.canonical.certification::monitor-integrated-gpu-cert-automated
+
+id: monitor-integrated-gpu-cert-manual
+unit: test plan
+_name: Monitor tests (integrated GPU) (Manual)
+_description:
+ Monitor tests (integrated GPU) (Manual)
+include:
+ monitor/1_powersaving_.* certification-status=blocker
+ monitor/1_dim_brightness_.* certification-status=blocker
+ monitor/1_displayport_.* certification-status=blocker
+ monitor/1_type-c_displayport_.* certification-status=non-blocker
+ audio/1_playback_displayport_.* certification-status=blocker
+ audio/1_playback_type-c_displayport_.* certification-status=non-blocker
+ monitor/1_dvi_.* certification-status=blocker
+ monitor/1_hdmi_.* certification-status=blocker
+ audio/1_playback_hdmi_.* certification-status=blocker
+ monitor/1_thunderbolt_.* certification-status=blocker
+ monitor/1_thunderbolt3_.* certification-status=non-blocker
+ audio/1_playback_thunderbolt_.* certification-status=blocker
+ audio/1_playback_thunderbolt3_.* certification-status=non-blocker
+ thunderbolt/daisy-chain certification-status=blocker
+ thunderbolt3/daisy-chain certification-status=non-blocker
+ monitor/1_vga_.* certification-status=blocker
+ monitor/1_multi-head_.* certification-status=blocker
bootstrap_include:
graphics_card
+id: monitor-integrated-gpu-cert-automated
+unit: test plan
+_name: Monitor tests (integrated GPU) (Automated)
+_description:
+ Monitor tests (integrated GPU) (Automated)
+include:
+bootstrap_include:
+ graphics_card
+
+
id: monitor-discrete-gpu-cert-full
unit: test plan
_name: Monitor tests (discrete GPU)
-_description: Monitor tests (discrete GPU)
+_description:
+ Monitor tests (discrete GPU)
+include:
+bootstrap_include:
+ graphics_card
+nested_part:
+ com.canonical.certification::monitor-discrete-gpu-cert-manual
+ com.canonical.certification::monitor-discrete-gpu-cert-automated
+
+id: monitor-discrete-gpu-cert-manual
+unit: test plan
+_name: Monitor tests (discrete GPU) (Manual)
+_description:
+ Monitor tests (discrete GPU) (Manual)
+include:
+ monitor/2_powersaving_.* certification-status=blocker
+ monitor/2_dim_brightness_.* certification-status=blocker
+ monitor/2_displayport_.* certification-status=blocker
+ monitor/2_type-c_displayport_.* certification-status=non-blocker
+ audio/2_playback_displayport_.* certification-status=blocker
+ audio/2_playback_type-c_displayport_.* certification-status=non-blocker
+ monitor/2_dvi_.* certification-status=blocker
+ monitor/2_hdmi_.* certification-status=blocker
+ audio/2_playback_hdmi_.* certification-status=blocker
+ monitor/2_thunderbolt_.* certification-status=blocker
+ monitor/2_thunderbolt3_.* certification-status=non-blocker
+ audio/2_playback_thunderbolt_.* certification-status=blocker
+ audio/2_playback_thunderbolt3_.* certification-status=non-blocker
+ monitor/2_vga_.* certification-status=blocker
+ monitor/2_multi-head_.* certification-status=blocker
+bootstrap_include:
+ graphics_card
+
+id: monitor-discrete-gpu-cert-automated
+unit: test plan
+_name: Monitor tests (discrete GPU) (Automated)
+_description:
+ Monitor tests (discrete GPU) (Automated)
include:
- monitor/2_powersaving_.* certification-status=blocker
- monitor/2_dim_brightness_.* certification-status=blocker
- monitor/2_displayport_.* certification-status=blocker
- monitor/2_type-c_displayport_.* certification-status=non-blocker
- audio/2_playback_displayport_.* certification-status=blocker
- audio/2_playback_type-c_displayport_.* certification-status=non-blocker
- monitor/2_dvi_.* certification-status=blocker
- monitor/2_hdmi_.* certification-status=blocker
- audio/2_playback_hdmi_.* certification-status=blocker
- monitor/2_thunderbolt_.* certification-status=blocker
- monitor/2_thunderbolt3_.* certification-status=non-blocker
- audio/2_playback_thunderbolt_.* certification-status=blocker
- audio/2_playback_thunderbolt3_.* certification-status=non-blocker
- monitor/2_vga_.* certification-status=blocker
- monitor/2_multi-head_.* certification-status=blocker
bootstrap_include:
graphics_card
+
id: monitor-integrated-gpu-cert-blockers
unit: test plan
_name: Monitor tests (integrated GPU, certification blockers only)
diff --git a/units/networking/test-plan.pxu b/units/networking/test-plan.pxu
index ade662a..e9e61e2 100644
--- a/units/networking/test-plan.pxu
+++ b/units/networking/test-plan.pxu
@@ -12,7 +12,7 @@ unit: test plan
_name: Networking tests (manual)
_description: Networking tests (manual)
include:
- networking/info.* certification-status=blocker
+ networking/info_device.* certification-status=blocker
id: networking-cert-automated
unit: test plan
@@ -30,5 +30,5 @@ _description: Networking tests (certification blockers only)
include:
ethernet/detect certification-status=blocker
networking/gateway_ping certification-status=blocker
- networking/info.* certification-status=blocker
+ networking/info_device.* certification-status=blocker
networking/ntp certification-status=blocker
diff --git a/units/optical/test-plan.pxu b/units/optical/test-plan.pxu
index 0cc6ab3..2e53d79 100644
--- a/units/optical/test-plan.pxu
+++ b/units/optical/test-plan.pxu
@@ -1,14 +1,37 @@
id: optical-cert-full
unit: test plan
_name: Optical drive tests
-_description: Optical drive tests
+_description:
+ Optical drive tests
include:
- optical/detect certification-status=blocker
- optical/read_.* certification-status=blocker
- optical/bluray-read_.* certification-status=blocker
+bootstrap_include:
+ device
+nested_part:
+ com.canonical.certification::optical-cert-manual
+ com.canonical.certification::optical-cert-automated
+
+id: optical-cert-manual
+unit: test plan
+_name: Optical drive tests (Manual)
+_description:
+ Optical drive tests (Manual)
+include:
+ optical/read_.* certification-status=blocker
+ optical/bluray-read_.* certification-status=blocker
bootstrap_include:
device
+id: optical-cert-automated
+unit: test plan
+_name: Optical drive tests (Automated)
+_description:
+ Optical drive tests (Automated)
+include:
+ optical/detect certification-status=blocker
+bootstrap_include:
+ device
+
+
id: optical-cert-blockers
unit: test plan
_name: Optical drive tests (certification blockers only)
diff --git a/units/power-management/jobs.pxu b/units/power-management/jobs.pxu
index ce252fc..976f814 100644
--- a/units/power-management/jobs.pxu
+++ b/units/power-management/jobs.pxu
@@ -19,8 +19,7 @@ environ: PLAINBOX_SESSION_SHARE
estimated_duration: 25.0
user: root
_description: Test ACPI Wakealarm (fwts wakealarm)
-requires:
- package.name == 'fwts' or executable.name == 'fwts'
+requires: executable.name == 'fwts'
command: checkbox-support-fwts_test -f aborted -t wakealarm -l $PLAINBOX_SESSION_SHARE/fwts-wakealarm.log
plugin: attachment
@@ -38,8 +37,7 @@ estimated_duration: 120.0
depends: power-management/fwts_wakealarm
user: root
environ: PLAINBOX_SESSION_SHARE
-requires:
- package.name == 'fwts'
+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
flags: noreturn autorestart
_description:
@@ -61,8 +59,7 @@ id: power-management/reboot
estimated_duration: 120.0
user: root
environ: PLAINBOX_SESSION_SHARE
-requires:
- package.name == 'fwts'
+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
flags: noreturn autorestart
_description:
@@ -196,7 +193,7 @@ estimated_duration: 140.0
user: root
requires:
package.name == 'upower'
- package.name == 'fwts'
+ executable.name == 'fwts'
depends: power-management/unplug_ac
_description: Checks the battery drain during suspend. Reports time and capacity until empty.
command:
diff --git a/units/stress/jobs.pxu b/units/stress/jobs.pxu
index 2a2a7d0..b5bb254 100644
--- a/units/stress/jobs.pxu
+++ b/units/stress/jobs.pxu
@@ -222,8 +222,7 @@ plugin: shell
category_id: com.canonical.plainbox::stress
id: stress/reboot
estimated_duration: 4500.0
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
command: pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 100 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE
flags: noreturn autorestart
user: root
@@ -243,8 +242,7 @@ command:
plugin: shell
category_id: com.canonical.plainbox::stress
id: stress/reboot_30
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
executable.name == 'x-terminal-emulator'
command: pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox -r 30 --silent --log-level=notset reboot --log-dir=$PLAINBOX_SESSION_SHARE
flags: noreturn autorestart
@@ -267,7 +265,7 @@ category_id: com.canonical.plainbox::stress
id: stress/poweroff
estimated_duration: 4500.0
requires:
- package.name == 'fwts'
+ executable.name == 'fwts'
executable.name == 'x-terminal-emulator'
command: pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --r 100 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE
flags: noreturn autorestart
@@ -289,7 +287,7 @@ plugin: shell
category_id: com.canonical.plainbox::stress
id: stress/poweroff_30
requires:
- package.name == 'fwts'
+ executable.name == 'fwts'
executable.name == 'x-terminal-emulator'
command: pm_test --checkbox-respawn-cmd $PLAINBOX_SESSION_SHARE/__respawn_checkbox --r 30 --silent --log-level=notset poweroff --log-dir=$PLAINBOX_SESSION_SHARE
flags: noreturn autorestart
diff --git a/units/stress/test-plan.pxu b/units/stress/test-plan.pxu
index 5581401..659e04e 100644
--- a/units/stress/test-plan.pxu
+++ b/units/stress/test-plan.pxu
@@ -1,11 +1,27 @@
id: stress-cert-full
unit: test plan
_name: Stress tests
-_description: Stress tests
+_description:
+ Stress tests
include:
nested_part:
+ com.canonical.certification::stress-cert-manual
+ com.canonical.certification::stress-cert-automated
+
+id: stress-cert-manual
+unit: test plan
+_name: Stress tests (Manual)
+_description:
+ Stress tests (Manual)
+include:
+ power-management/suspend_30_cycles certification-status=blocker
+ power-management/suspend-30-cycle-log-attach
+ power-management/suspend-30-cycles-time-check certification-status=non-blocker
+ power-management/hibernate_30_cycles certification-status=non-blocker
+nested_part:
stress-cert-automated
+
id: stress-cert-automated
unit: test plan
_name: Stress tests (automated)
diff --git a/units/submission/jobs.pxu b/units/submission/jobs.pxu
index a21c897..f6f73bc 100644
--- a/units/submission/jobs.pxu
+++ b/units/submission/jobs.pxu
@@ -1,11 +1,9 @@
id: dkms_info_json
plugin: attachment
category_id: com.canonical.plainbox::info
-requires:
- package.name == 'dkms'
command:
dkms_info --format json | python3 -m plainbox dev parse dkms-info | \
- jq --indent 4 '.dkms_info'
+ jq '.dkms_info'
_description: Attaches json dumps of installed dkms package information.
_summary: Attaches json dumps of installed dkms package information.
@@ -24,9 +22,9 @@ requires:
user: root
command:
dmidecode -t bios -t system | python3 -m plainbox dev parse dmidecode | \
- jq --indent 4 '[.[0]."_attributes" +
- {"category": .[0]."category"}, .[1]."_attributes" +
- {"category": .[1]."category"}]'
+ jq '[.[0]."_attributes" +
+ {"category": .[0]."category"}, .[1]."_attributes" +
+ {"category": .[1]."category"}]'
estimated_duration: 1
_description: Attaches dmidecode output
_summary: Attaches json dumps of udev_resource raw dmi devices
@@ -36,7 +34,7 @@ plugin: attachment
category_id: com.canonical.plainbox::info
command:
find /etc/modprobe.* -name \*.conf | xargs cat | python3 -m plainbox dev parse modprobe |
- jq --indent 4 'to_entries | map({"module": .key, "options": .value})'
+ jq 'to_entries | map({"module": .key, "options": .value})'
estimated_duration: 0.015
_description: Attaches the contents of the various modprobe conf files.
_summary: Attach the contents of /etc/modprobe.*
@@ -47,7 +45,7 @@ plugin: attachment
category_id: com.canonical.plainbox::info
command:
lspci -x | python3 -m plainbox dev parse pci-subsys-id | \
- jq --indent 4 '.pci_subsystem_id'
+ jq '.pci_subsystem_id'
estimated_duration: 0.1
_description: Attaches a hex dump of the standard part of the PCI configuration
space for all PCI devices.
diff --git a/units/suspend/suspend.pxu b/units/suspend/suspend.pxu
index 6704a2f..a862390 100644
--- a/units/suspend/suspend.pxu
+++ b/units/suspend/suspend.pxu
@@ -2292,8 +2292,7 @@ id: suspend/oops_after_suspend
depends: suspend/suspend_advanced
plugin:shell
estimated_duration: 10.0
-requires:
- package.name == 'fwts'
+requires: executable.name == 'fwts'
user: root
_description:
Run Firmware Test Suite (fwts) oops tests after suspend.
diff --git a/units/thunderbolt/test-plan.pxu b/units/thunderbolt/test-plan.pxu
index 054bb26..d5dc001 100644
--- a/units/thunderbolt/test-plan.pxu
+++ b/units/thunderbolt/test-plan.pxu
@@ -1,14 +1,33 @@
id: thunderbolt-cert-full
unit: test plan
_name: Thunderbolt tests
-_description: Thunderbolt tests
+_description:
+ Thunderbolt tests
include:
- thunderbolt/insert certification-status=blocker
- thunderbolt/storage-test certification-status=blocker
- thunderbolt/remove certification-status=blocker
- thunderbolt3/insert certification-status=non-blocker
- thunderbolt3/storage-test certification-status=non-blocker
- thunderbolt3/remove certification-status=non-blocker
+nested_part:
+ com.canonical.certification::thunderbolt-cert-manual
+ com.canonical.certification::thunderbolt-cert-automated
+
+id: thunderbolt-cert-manual
+unit: test plan
+_name: Thunderbolt tests (Manual)
+_description:
+ Thunderbolt tests (Manual)
+include:
+ thunderbolt/insert certification-status=blocker
+ thunderbolt/storage-test certification-status=blocker
+ thunderbolt/remove certification-status=blocker
+ thunderbolt3/insert certification-status=non-blocker
+ thunderbolt3/storage-test certification-status=non-blocker
+ thunderbolt3/remove certification-status=non-blocker
+
+id: thunderbolt-cert-automated
+unit: test plan
+_name: Thunderbolt tests (Automated)
+_description:
+ Thunderbolt tests (Automated)
+include:
+
id: thunderbolt-cert-blockers
unit: test plan
diff --git a/units/touchpad/test-plan.pxu b/units/touchpad/test-plan.pxu
index 7514991..78d7fa6 100644
--- a/units/touchpad/test-plan.pxu
+++ b/units/touchpad/test-plan.pxu
@@ -1,23 +1,42 @@
id: touchpad-cert-full
unit: test plan
_name: Touchpad tests
-_description: Touchpad tests
+_description:
+ Touchpad tests
include:
- touchpad/basic certification-status=blocker
- touchpad/detected-as-mouse certification-status=blocker
- touchpad/palm-rejection certification-status=non-blocker
- touchpad/continuous-move certification-status=blocker
- touchpad/horizontal certification-status=blocker
- touchpad/vertical certification-status=blocker
- touchpad/singletouch-automated certification-status=blocker
- touchpad/singletouch-selection certification-status=blocker
- touchpad/drag-and-drop certification-status=blocker
- touchpad/multitouch-automated certification-status=blocker
- touchpad/multitouch-manual certification-status=blocker
- touchpad/multitouch-rightclick certification-status=blocker
- touchpad/multitouch-horizontal certification-status=blocker
- touchpad/multitouch-vertical certification-status=blocker
- touchpad/multitouch-dash certification-status=non-blocker
+nested_part:
+ com.canonical.certification::touchpad-cert-manual
+ com.canonical.certification::touchpad-cert-automated
+
+id: touchpad-cert-manual
+unit: test plan
+_name: Touchpad tests (Manual)
+_description:
+ Touchpad tests (Manual)
+include:
+ touchpad/basic certification-status=blocker
+ touchpad/palm-rejection certification-status=non-blocker
+ touchpad/continuous-move certification-status=blocker
+ touchpad/horizontal certification-status=blocker
+ touchpad/vertical certification-status=blocker
+ touchpad/singletouch-selection certification-status=blocker
+ touchpad/drag-and-drop certification-status=blocker
+ touchpad/multitouch-manual certification-status=blocker
+ touchpad/multitouch-rightclick certification-status=blocker
+ touchpad/multitouch-horizontal certification-status=blocker
+ touchpad/multitouch-vertical certification-status=blocker
+ touchpad/multitouch-dash certification-status=non-blocker
+
+id: touchpad-cert-automated
+unit: test plan
+_name: Touchpad tests (Automated)
+_description:
+ Touchpad tests (Automated)
+include:
+ touchpad/detected-as-mouse certification-status=blocker
+ touchpad/singletouch-automated certification-status=blocker
+ touchpad/multitouch-automated certification-status=blocker
+
id: after-suspend-touchpad-cert-full
unit: test plan
diff --git a/units/touchscreen/test-plan.pxu b/units/touchscreen/test-plan.pxu
index e984af9..1682136 100644
--- a/units/touchscreen/test-plan.pxu
+++ b/units/touchscreen/test-plan.pxu
@@ -1,14 +1,33 @@
id: touchscreen-cert-full
unit: test plan
_name: Touchscreen tests
-_description: Touchscreen tests
+_description:
+ Touchscreen tests
include:
- touchscreen/drag-n-drop certification-status=blocker
- touchscreen/multitouch-zoom certification-status=blocker
- touchscreen/multitouch-rotate
- touchscreen/3-touch-tap certification-status=blocker
- touchscreen/4-touch-tap certification-status=blocker
- touchscreen/multitouch-dash certification-status=non-blocker
+nested_part:
+ com.canonical.certification::touchscreen-cert-manual
+ com.canonical.certification::touchscreen-cert-automated
+
+id: touchscreen-cert-manual
+unit: test plan
+_name: Touchscreen tests (Manual)
+_description:
+ Touchscreen tests (Manual)
+include:
+ touchscreen/drag-n-drop certification-status=blocker
+ touchscreen/multitouch-zoom certification-status=blocker
+ touchscreen/multitouch-rotate
+ touchscreen/3-touch-tap certification-status=blocker
+ touchscreen/4-touch-tap certification-status=blocker
+ touchscreen/multitouch-dash certification-status=non-blocker
+
+id: touchscreen-cert-automated
+unit: test plan
+_name: Touchscreen tests (Automated)
+_description:
+ Touchscreen tests (Automated)
+include:
+
id: touchscreen-cert-blockers
unit: test plan
diff --git a/units/usb/test-plan.pxu b/units/usb/test-plan.pxu
index 5b4e88b..27a0616 100644
--- a/units/usb/test-plan.pxu
+++ b/units/usb/test-plan.pxu
@@ -1,22 +1,60 @@
id: usb-cert-full
unit: test plan
_name: USB tests
-_description: USB tests
+_description:
+ USB tests
include:
- usb/detect certification-status=blocker
- usb/HID certification-status=blocker
- usb/insert certification-status=blocker
- usb/storage-automated certification-status=blocker
- usb/remove certification-status=blocker
+nested_part:
+ com.canonical.certification::usb-cert-manual
+ com.canonical.certification::usb-cert-automated
+
+id: usb-cert-manual
+unit: test plan
+_name: USB tests (Manual)
+_description:
+ USB tests (Manual)
+include:
+ usb/HID certification-status=blocker
+ usb/insert certification-status=blocker
+ usb/storage-automated certification-status=blocker
+ usb/remove certification-status=blocker
+
+id: usb-cert-automated
+unit: test plan
+_name: USB tests (Automated)
+_description:
+ USB tests (Automated)
+include:
+ usb/detect certification-status=blocker
+
id: usb3-cert-full
unit: test plan
_name: USB3 tests
-_description: USB3 tests
+_description:
+ USB3 tests
include:
- usb3/insert certification-status=blocker
- usb3/storage-automated certification-status=blocker
- usb3/remove certification-status=blocker
+nested_part:
+ com.canonical.certification::usb3-cert-manual
+ com.canonical.certification::usb3-cert-automated
+
+id: usb3-cert-manual
+unit: test plan
+_name: USB3 tests (Manual)
+_description:
+ USB3 tests (Manual)
+include:
+ usb3/insert certification-status=blocker
+ usb3/storage-automated certification-status=blocker
+ usb3/remove certification-status=blocker
+
+id: usb3-cert-automated
+unit: test plan
+_name: USB3 tests (Automated)
+_description:
+ USB3 tests (Automated)
+include:
+
id: usb-c-cert-full
unit: test plan
diff --git a/units/wireless/test-plan.pxu b/units/wireless/test-plan.pxu
index ee921df..74bf271 100644
--- a/units/wireless/test-plan.pxu
+++ b/units/wireless/test-plan.pxu
@@ -1,11 +1,23 @@
id: wireless-cert-full
unit: test plan
_name: Wireless tests
-_description: Wireless connection tests
+_description:
+ Wireless connection tests
+include:
+nested_part:
+ com.canonical.certification::wireless-cert-manual
+ com.canonical.certification::wireless-cert-automated
+
+id: wireless-cert-manual
+unit: test plan
+_name: Wireless tests (Manual)
+_description:
+ Wireless connection tests (Manual)
include:
nested_part:
wireless-cert-automated
+
id: after-suspend-wireless-cert-full
unit: test plan
_name: Wireless tests (after suspend)