Stable Release Update Certification Coverage for Real-time Ubuntu¶
Introduction¶
This document lists the coverage of regression tests performed for validating a Stable Release Update (SRU) on Real-time Ubuntu Certified systems. The test plan is not recommended for, nor will it be accepted for self-testing purposes.
For each test job, one of the following certification statuses is specified:
- Blocking
Features that are required for certification. If any of the blocking tests fails, the certification will fail.
- Non-blocking
Features that are tested but not mandatory for certification. Failure in non-blocking tests will not prevent certification. However, a note will be added to the certificate to inform potential customers or users.
Note
Only categories of hardware are tested and not specific types of hardware. For example, tests are run to verify USB controllers work, but the type of peripheral(s) used during those tests are not specified.
Coverage is flexible based on customer requirements (for example, if a device’s use cases don’t require LEDs, then LEDs can be non-blocking)
Full test descriptions can be found in Canonical certification site for partners:
sru-rt¶
Note
The certification tests presented in this document are validated by Checkbox version 4.2.0.dev76.
Blocking¶
Bluetooth tests¶
The following test units are covered in this category:
Category ID: | bluetooth |
Status: | Blocking |
Purpose: | Automated test to store Bluetooth device information in the Checkbox report |
After-suspend: | True |
Plugin: | shell |
bluetooth4/beacon_eddystone_url_interface
Test system can get beacon EddyStone URL advertisements on the {interface} adapter
Unit type: | template |
Category ID: | bluetooth |
Status: | Blocking |
Description: | <missing description> |
After-suspend: | True |
From template: | bluetooth4/beacon_eddystone_url_interface |
Template resource: | device |
Template filter: | device.category == ‘BLUETOOTH’ |
Camera tests¶
The following test units are covered in this category:
Category ID: | camera |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
After-suspend: | True |
User: | root |
Plugin: | shell |
Unit type: | template |
Category ID: | camera |
Status: | Blocking |
After-suspend: | True |
From template: | camera/multiple-resolution-images_name |
Template resource: | device |
Template filter: | device.category == ‘CAPTURE’ and device.name != ‘’ |
CPU tests¶
The following test units are covered in this category:
Category ID: | cpu |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | Uses the Firmware Test Suite (fwts) to test the power saving states of the CPU. |
Environment variable: | LD_LIBRARY_PATH, PLAINBOX_SESSION_SHARE, SNAP |
User: | root |
Plugin: | shell |
Category ID: | cpu |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | Use the Firmware Test Suite (fwts cpufreq) to ensure that the CPU can run at its maximum frequency. |
Environment variable: | LD_LIBRARY_PATH, SNAP |
User: | root |
Plugin: | shell |
Category ID: | cpu |
Status: | Blocking |
Purpose: | Attempts to offline each core in a multicore system. |
After-suspend: | True |
User: | root |
Plugin: | shell |
Category ID: | cpu |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | Use Firmware Test Suite (fwts cpufreq) to test the scaling capabilities of the CPU. |
Environment variable: | LD_LIBRARY_PATH, PLAINBOX_SESSION_SHARE, SNAP |
User: | root |
Plugin: | shell |
Disk tests¶
The following test units are covered in this category:
Category ID: | disk |
Status: | Blocking |
Purpose: | Uses lsblk to gather information about each disk detected on the system under test. |
After-suspend: | True |
Plugin: | shell |
Unit type: | template |
Category ID: | disk |
Status: | Blocking |
After-suspend: | True |
Environment variable: | DISK_MDADM_READ_PERF, DISK_NVME_READ_PERF, DISK_READ_PERF |
From template: | disk/read_performance_name |
Template resource: | device |
Template filter: | device.category == ‘DISK’ |
Ethernet Device tests¶
The following test units are covered in this category:
Graphics tests¶
The following test units are covered in this category:
Memory tests¶
The following test units are covered in this category:
Miscellaneous tests¶
The following test units are covered in this category:
Non-device specific networking tests¶
The following test units are covered in this category:
Category ID: | networking |
Status: | Blocking |
Purpose: | Tests whether the system has a working Internet connection. |
After-suspend: | True |
User: | root |
Plugin: | shell |
Optical Drive tests¶
The following test units are covered in this category:
Category ID: | optical |
Status: | Blocking |
Purpose: | Detects optical drives (CD/DVD) attached to the system. |
Plugin: | shell |
Power Management tests¶
The following test units are covered in this category:
Category ID: | power-management |
Status: | Blocking |
Purpose: | This test powers off the system and then powers it on using RTC |
Environment variable: | COLD_REBOOT_DELAY, RTC_DEVICE_FILE |
User: | root |
Plugin: | shell |
Category ID: | power-management |
Status: | Blocking |
Purpose: | Test ACPI Wakealarm (fwts wakealarm) |
Environment variable: | PLAINBOX_SESSION_SHARE |
User: | root |
Plugin: | shell |
Category ID: | power-management |
Status: | Blocking |
Purpose: | Check there are no failed services after the cold reboot |
Plugin: | shell |
Category ID: | power-management |
Status: | Blocking |
Purpose: | Check there are no failed services after the warm reboot |
Plugin: | shell |
Category ID: | power-management |
Status: | Blocking |
Purpose: | Verify that the Real-time clock (RTC) device functions properly, if present. |
After-suspend: | True |
Environment variable: | RTC_DEVICE_FILE |
User: | root |
Plugin: | shell |
Category ID: | power-management |
Status: | Blocking |
Purpose: | Check to see if CONFIG_NO_HZ is set in the kernel (this is just a simple regression check) |
After-suspend: | True |
Plugin: | shell |
Suspend tests¶
The following test units are covered in this category:
Category ID: | suspend |
Status: | Blocking |
Purpose: | Verify that mixer settings after suspend are the same as before suspend. |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | Verify that all CPUs are online after resuming. |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | Verify that all memory is available after resuming from suspend. |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
Plugin: | shell |
Category ID: | suspend |
Status: | Blocking |
Purpose: | Test the network after resuming. |
User: | root |
Plugin: | shell |
Touchpad tests¶
The following test units are covered in this category:
TPM 2.0 (Trusted Platform Module)¶
The following test units are covered in this category:
clevis-encrypt-tpm2/detect-ecc-capabilities
Ensure the TPM has required capabilities for clevis ECC test
Category ID: | tpm2 |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
User: | root |
Plugin: | shell |
clevis-encrypt-tpm2/detect-rsa-capabilities
Ensure the TPM has required capabilities for clevis RSA test
Category ID: | tpm2 |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
User: | root |
Plugin: | shell |
Category ID: | tpm2 |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
User: | root |
Plugin: | shell |
Category ID: | tpm2 |
Status: | Blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
Plugin: | shell |
USB tests¶
The following test units are covered in this category:
Wireless networking tests¶
The following test units are covered in this category:
wireless/wireless_connection_open_ac_nm_interface
Connect to unencrypted 802.11ac Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_open_ac_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_open_ax_nm_interface
Connect to unencrypted 802.11ax Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_open_ax_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_open_be_nm_interface
Connect to unencrypted 802.11be Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_open_be_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_open_bg_nm_interface
Connect to an unencrypted 802.11b/g Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_open_bg_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_open_n_nm_interface
Connect to an unencrypted 802.11n Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_open_n_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa3_ax_nm_interface
Connect to WPA3-encrypted 802.11ax Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa3_ax_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa3_be_nm_interface
Connect to WPA3-encrypted 802.11be Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa3_be_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa_ac_nm_interface
Connect to WPA-encrypted 802.11ac Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa_ac_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa_ax_nm_interface
Connect to WPA-encrypted 802.11ax Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa_ax_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa_be_nm_interface
Connect to WPA-encrypted 802.11be Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa_be_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa_bg_nm_interface
Connect to WPA-encrypted 802.11b/g Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa_bg_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
wireless/wireless_connection_wpa_n_nm_interface
Connect to a WPA-encrypted 802.11n Wi-Fi network on {{ interface }}
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_connection_wpa_n_nm_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
Unit type: | template |
Category ID: | wireless |
Status: | Blocking |
After-suspend: | True |
From template: | wireless/wireless_scanning_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
Non-blocking¶
Audio tests¶
The following test units are covered in this category:
Category ID: | audio |
Status: | Non-blocking |
Purpose: | Attaches the audio hardware data collection log to the results. |
Plugin: | attachment |
audio/alsa_info_collect
Collect audio-related system information for simulation and detailed testing.
Category ID: | audio |
Status: | Non-blocking |
Purpose: | Collect audio-related system information. This data can be used to simulate this computer’s audio subsystem and perform more detailed tests under a controlled environment. |
User: | root |
Plugin: | shell |
audio/alsa_record_playback_automated
Test playback and recording functionality on the default audio input and output.
Category ID: | audio |
Status: | Non-blocking |
Purpose: | Play back a sound on the default output and listen for it on the default input. This test is intended mostly for laptops, where the default output will be the internal speakers and the default input will be the internal microphone. |
After-suspend: | True |
Plugin: | shell |
Category ID: | audio |
Status: | Non-blocking |
Purpose: | Test to detect if there are available sinks |
After-suspend: | True |
Plugin: | shell |
Benchmarks tests¶
The following test units are covered in this category:
Unit type: | template |
Category ID: | benchmarks |
Status: | Non-blocking |
After-suspend: | True |
From template: | benchmarks/disk/hdparm-cache-read_name |
Template resource: | device |
Template filter: | device.category == ‘DISK’ |
Bluetooth tests¶
The following test units are covered in this category:
Camera tests¶
The following test units are covered in this category:
Unit type: | template |
Category ID: | camera |
Status: | Non-blocking |
Description: | This test will attach the image used for the BRISQUE score. |
After-suspend: | True |
From template: | camera/camera-quality-image_name |
Template resource: | device |
Template filter: | device.category == ‘CAPTURE’ and device.name != ‘’ |
Unit type: | template |
Category ID: | camera |
Status: | Non-blocking |
After-suspend: | True |
From template: | camera/camera-quality_name |
Template resource: | device |
Template filter: | device.category == ‘CAPTURE’ and device.name != ‘’ |
camera/multiple-resolution-images-attachment_name
Attach an image from the multiple resolution images test for {product_slug}
Unit type: | template |
Category ID: | camera |
Status: | Non-blocking |
Description: | This test will attach one of the images used for the multiple resolution images test. |
After-suspend: | True |
From template: | camera/multiple-resolution-images-attachment_name |
Template resource: | device |
Template filter: | device.category == ‘CAPTURE’ and device.name != ‘’ |
CPU tests¶
The following test units are covered in this category:
Category ID: | cpu |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the FWTS desktop diagnosis results log to the submission. |
Plugin: | attachment |
Category ID: | cpu |
Status: | Non-blocking |
Purpose: | Attaches the log generated by cpu/maxfreq_test to the results submission. |
Plugin: | attachment |
Disk tests¶
The following test units are covered in this category:
Unit type: | template |
Category ID: | disk |
Status: | Non-blocking |
Description: | <missing description> |
After-suspend: | True |
From template: | disk/apste_support_on_name |
Template resource: | device |
Template filter: | device.driver == ‘nvme’ and device.category == ‘OTHER’ |
Category ID: | disk |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Examine the system to detect Software RAID devices are created and the RAID mode are expected the SOFTWARE_RAID_LEVEL variable is needed for this tests. e.g. SOFTWARE_RAID_LEVEL=”raid0 raid1 raid5” |
Environment variable: | SOFTWARE_RAID_LEVEL |
User: | root |
Plugin: | shell |
Firmware tests¶
The following test units are covered in this category:
Category ID: | firmware |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Run Firmware Test Suite (fwts) QA-concerned desktop-specific diagnosis tests. |
Environment variable: | PLAINBOX_SESSION_SHARE |
User: | root |
Plugin: | shell |
Category ID: | firmware |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the FWTS desktop diagnosis results log to the submission |
Plugin: | attachment |
Graphics tests¶
The following test units are covered in this category:
Category ID: | graphics |
Status: | Non-blocking |
Purpose: | Test that the X is not running in failsafe mode. |
Plugin: | shell |
Category ID: | graphics |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Test that the X process is running. |
Plugin: | shell |
Informational tests¶
The following test units are covered in this category:
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches the contents of /proc/acpi/sleep if it exists. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a report of installed codecs for Intel HDA |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a report of CPU information |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches json dumps of installed dkms package information. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a copy of /var/log/dmesg or the current dmesg buffer to the test results |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches info on DMI |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches dmidecode output |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches the firmware version |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the buildstamp identifier for the OS |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches information about disk partitions |
User: | root |
Plugin: | attachment |
Unit type: | template |
Category ID: | info |
Status: | Non-blocking |
Description: | <missing description> |
From template: | info/hdparm_name.txt |
Template resource: | device |
Template filter: | device.category == ‘DISK’ |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Output whether secure boot is enabled or disabled |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
Plugin: | shell |
Category ID: | info |
Status: | Non-blocking |
Purpose: | This job prints a tree of the time-critical chain of SystemD units. |
Plugin: | shell |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Returns the name, driver name and driver version of any touchpad discovered on the system. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches the kernel command line used to boot |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a list of the currently running kernel modules. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches very verbose lspci output. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a hex dump of the standard part of the PCI configuration space for all PCI devices. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches the system topology as presented by the lstopo command |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches a list of detected USB devices. |
After-suspend: | True |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | This job loads the hardware manifest and exposes it as a resource. |
Plugin: | resource |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches info on system memory as seen in /proc/meminfo. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attaches modinfo information for all currently loaded modules |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the contents of the various modprobe conf files. |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the contents of the /etc/modules file. |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Allows logging of debug info and errors by the associated resource job |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | Attach the recovery partition version image_version is the preinstalled OS image version bto_version is only for dell_recovery Example: image_version: somerville-trusty-amd64-20140620-0 bto_version: A00_dell-bto-trusty-houston-15-A11-iso-20141203-0.iso |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches the contents of various sysctl config files. |
User: | root |
Plugin: | attachment |
Category ID: | info |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Attaches a report of sysfs attributes. |
Plugin: | attachment |
Input Devices tests¶
The following test units are covered in this category:
input/fixed_screen_orientation_on_product___index__
Check whether screen orientation is fixed on {product}
Unit type: | template |
Category ID: | input |
Status: | Non-blocking |
After-suspend: | True |
From template: | input/fixed_screen_orientation_on_product___index__ |
Template resource: | dmi |
Template filter: | dmi.category == ‘CHASSIS’ and dmi.product not in (‘Tablet’, ‘Convertible’, ‘Detachable’) |
Media Card tests¶
The following test units are covered in this category:
mediacard/storage-preinserted-symlink_uuid
Automated test of SD Card reading & writing ({symlink_uuid})
Unit type: | template |
Category ID: | mediacard |
Status: | Non-blocking |
After-suspend: | True |
From template: | mediacard/storage-preinserted-symlink_uuid |
Template resource: | removable_partition |
Template filter: | removable_partition.bus == ‘mediacard’ |
Miscellaneous tests¶
The following test units are covered in this category:
install/apt-get-gets-updates
Ensure apt can access repositories and get updates without installing them, to aid in recovery from broken updates.
Category ID: | miscellanea |
Status: | Non-blocking |
Purpose: | Tests to see that apt can access repositories and get updates (does not install updates). This is done to confirm that you could recover from an incomplete or broken update. |
User: | root |
Plugin: | shell |
Category ID: | miscellanea |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | Firstly, check the built number of DKMS modules. Secondly, scan APT system update log to see any build error messages. This test is mainly used for pre-installed images which use DKMS modules. |
Plugin: | shell |
Category ID: | miscellanea |
Status: | Non-blocking |
Purpose: | Attaches the FWTS oops results log to the submission |
Plugin: | attachment |
Category ID: | miscellanea |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | A meta-job that verifies the data necessary for a complete result submission are present. Failure indicates that the results are incomplete and may be rejected. |
Plugin: | shell |
Mobile broadband tests¶
The following test units are covered in this category:
mobilebroadband/cdma_connection
Ensure a CDMA based modem establishes and maintains a mobile broadband connection.
Category ID: | mobilebroadband |
Status: | Non-blocking |
Purpose: | Creates a mobile broadband connection for a CDMA based modem and checks the connection to ensure it’s working. |
After-suspend: | True |
Environment variable: | CDMA_CONN_NAME, CDMA_PASSWORD, CDMA_USERNAME |
User: | root |
Plugin: | shell |
Category ID: | mobilebroadband |
Status: | Non-blocking |
Purpose: | Creates a mobile broadband connection for a GSM based modem and checks the connection to ensure it’s working. |
After-suspend: | True |
Environment variable: | GSM_APN, GSM_CONN_NAME, GSM_PASSWORD, GSM_USERNAME |
User: | root |
Plugin: | shell |
Monitor tests¶
The following test units are covered in this category:
Non-device specific networking tests¶
The following test units are covered in this category:
Power Management tests¶
The following test units are covered in this category:
Real Time Performance Tests¶
The following test units are covered in this category:
rt-performance-tests/cyclictest_rt
A short-duration cyclictest to validate the system’s real-time capabilities.
Category ID: | rt-performance-tests |
Status: | Non-blocking |
Purpose: | This test runs for 60 seconds to provide a rapid assessment of the system’s real-time performance. It uses the cyclictest tool to measure the scheduling latency and overflow occurrences. The goal is to ensure that basic real-time functions can be executed without latency spikes. |
User: | root |
Plugin: | shell |
Touchpad tests¶
The following test units are covered in this category:
touchpad/palm-rejection-firmware-labeling_product_slug
Check palm rejection firmware/labeling for touchpads
Unit type: | template |
Category ID: | touchpad |
Status: | Non-blocking |
After-suspend: | True |
From template: | touchpad/palm-rejection-firmware-labeling_product_slug |
Template resource: | device |
Template filter: | device.category == ‘TOUCHPAD’ and device.driver == ‘hid-multitouch’ |
TPM 2.0 (Trusted Platform Module)¶
The following test units are covered in this category:
Category ID: | tpm2 |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | The information in the TPM Event Log can be useful in debugging problems with TPM command support and adherance to standards. This can be of particular help when checking whether a device can support Ubuntu Core Full Disk Encryption. |
User: | root |
Plugin: | attachment |
USB tests¶
The following test units are covered in this category:
Category ID: | usb |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
After-suspend: | True |
Plugin: | shell |
usb/storage-preinserted-symlink_uuid
Test USB storage on 2.0 or 1.1 ports detected by udev ({symlink_uuid})
Unit type: | template |
Category ID: | usb |
Status: | Non-blocking |
After-suspend: | True |
From template: | usb/storage-preinserted-symlink_uuid |
Template resource: | removable_partition |
Template filter: | “usb” in removable_partition.bus |
Unit type: | template |
Category ID: | usb |
Status: | Non-blocking |
Description: | <missing description> |
Environment variable: | ZAPPER_HOST |
From template: | usb/zapper-usb-insert-port_alias |
Template resource: | zapper_capabilities |
Template filter: | zapper_capabilities.capability == ‘USB hotplug’ and zapper_capabilities.usb_version == ‘2’ |
Unit type: | template |
Category ID: | usb |
Status: | Non-blocking |
Description: | <missing description> |
Environment variable: | ZAPPER_HOST |
From template: | usb/zapper-usb-remove-port_alias |
Template resource: | zapper_capabilities |
Template filter: | zapper_capabilities.capability == ‘USB hotplug’ and zapper_capabilities.usb_version == ‘2’ |
Unit type: | template |
Category ID: | usb |
Status: | Non-blocking |
Description: | <missing description> |
Environment variable: | ZAPPER_HOST |
From template: | usb3/zapper-usb-insert-port_alias |
Template resource: | zapper_capabilities |
Template filter: | zapper_capabilities.capability == ‘USB hotplug’ and zapper_capabilities.usb_version == ‘3’ |
Unit type: | template |
Category ID: | usb |
Status: | Non-blocking |
Description: | <missing description> |
Environment variable: | ZAPPER_HOST |
From template: | usb3/zapper-usb-remove-port_alias |
Template resource: | zapper_capabilities |
Template filter: | zapper_capabilities.capability == ‘USB hotplug’ and zapper_capabilities.usb_version == ‘3’ |
Wireless networking tests¶
The following test units are covered in this category:
Unit type: | template |
Category ID: | wireless |
Status: | Non-blocking |
After-suspend: | True |
From template: | wireless/check_iwlwifi_microcode_crash_interface |
Template resource: | device |
Template filter: | device.driver == ‘iwlwifi’ |
Category ID: | wireless |
Status: | Non-blocking |
Purpose: | <missing purpose> |
Description: | <missing description> |
After-suspend: | True |
Plugin: | shell |
wireless/nm_connection_restore_interface
Restore any NetworkManager 802.11 configurations after testing
Unit type: | template |
Category ID: | wireless |
Status: | Non-blocking |
Description: | <missing description> |
After-suspend: | True |
From template: | wireless/nm_connection_restore_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
Unit type: | template |
Category ID: | wireless |
Status: | Non-blocking |
Description: | <missing description> |
After-suspend: | True |
From template: | wireless/nm_connection_save_interface |
Template resource: | device |
Template filter: | device.category == ‘WIRELESS’ and device.interface != ‘UNKNOWN’ |
Appendix A. FWTS tests¶
As part of the certification process, we run a series of firmware tests that are part of the Canonical Firmware Test Suite. In general, any HIGH or CRITICAL error found in the fwts log can cause potential errors in the system and should be looked at by OEMs/ODMs.
Category |
Test Item |
Description |
---|---|---|
Information |
acpidump |
Check ACPI table acpidump. |
Information |
version |
Gather kernel system information. |
ACPI |
acpitables |
ACPI table settings confidence checks. |
ACPI |
apicinstance |
Check for single instance of APIC/MADT table. |
ACPI |
hpet_check |
High Precision Event Timer configuration test. |
ACPI |
mcfg |
MCFG PCI Express* memory mapped config space. |
ACPI |
method |
ACPI DSDT Method Semantic Tests. |
CPU |
mpcheck |
Check Multi Processor tables. |
CPU |
msr |
CPU MSR consistency check. |
CPU |
mtrr |
MTRR validation. |
System |
apicedge |
APIC Edge/Level Check. |
System |
klog |
Scan kernel log for errors and warnings. |