From ef72ad12da75d264afffdf4bf87d2d43ea69a6df Mon Sep 17 00:00:00 2001 From: Sylvain Pineau Date: Sat, 7 Sep 2019 12:05:49 +0200 Subject: units:wireless: New 80211ax jobs and nested parts for test plans --- units/wireless/jobs.pxu | 46 ++++++++++++++++++++++++ units/wireless/test-plan.pxu | 38 +++++++++++++++++--- units/wireless/wireless-connection-manual.pxu | 42 +++++++++++++++++++++- units/wireless/wireless-connection-netplan.pxu | 48 ++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 5 deletions(-) (limited to 'units/wireless') diff --git a/units/wireless/jobs.pxu b/units/wireless/jobs.pxu index a997285..7165827 100644 --- a/units/wireless/jobs.pxu +++ b/units/wireless/jobs.pxu @@ -166,6 +166,52 @@ requires: {% endif -%} # net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_wpa_ax_nm_{{ interface }} +_summary: Connect to WPA-encrypted 802.11ax Wi-Fi network on {{ interface }} +_purpose: + Check system can connect to 802.11ax AP with wpa security +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_nmcli_test.py secured {{ interface }} "$WPA_AX_SSID" "$WPA_AX_PSK" +category_id: com.canonical.plainbox::wireless +estimated_duration: 30.0 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ax == 'supported' + {%- if __on_ubuntucore__ %} + connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' + {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' + +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' and device.interface != 'UNKNOWN' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_open_ax_nm_{{ interface }} +_summary: Connect to unencrypted 802.11ax Wi-Fi network on {{ interface }} +_purpose: + Check system can connect to insecure 802.11ax AP +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_nmcli_test.py open {{ interface }} "$OPEN_AX_SSID" +category_id: com.canonical.plainbox::wireless +estimated_duration: 30.0 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ax == 'supported' + {%- if __on_ubuntucore__ %} + connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager' + {% endif -%} +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'NetworkManager' + plugin: user-interact-verify category_id: com.canonical.plainbox::wireless id: wireless/wireless_connection_wpa_bg_manual diff --git a/units/wireless/test-plan.pxu b/units/wireless/test-plan.pxu index 5d97b5a..f6d6fb3 100644 --- a/units/wireless/test-plan.pxu +++ b/units/wireless/test-plan.pxu @@ -41,6 +41,8 @@ include: wireless/wireless_connection_open_n_nm_.* certification-status=blocker wireless/wireless_connection_wpa_ac_nm_.* certification-status=blocker wireless/wireless_connection_open_ac_nm_.* certification-status=blocker + wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker + wireless/wireless_connection_open_ax_nm_.* certification-status=blocker wireless/nm_connection_restore_.* id: after-suspend-wireless-cert-automated @@ -57,6 +59,8 @@ include: after-suspend-wireless/wireless_connection_open_n_nm_.* certification-status=blocker after-suspend-wireless/wireless_connection_wpa_ac_nm_.* certification-status=blocker after-suspend-wireless/wireless_connection_open_ac_nm_.* certification-status=blocker + after-suspend-wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker + after-suspend-wireless/wireless_connection_open_ax_nm_.* certification-status=blocker after-suspend-wireless/nm_connection_restore_.* id: after-suspend-manual-wireless-cert-automated @@ -73,6 +77,8 @@ include: after-suspend-manual-wireless/wireless_connection_open_n_nm_.* certification-status=blocker after-suspend-manual-wireless/wireless_connection_wpa_ac_nm_.* certification-status=blocker after-suspend-manual-wireless/wireless_connection_open_ac_nm_.* certification-status=blocker + after-suspend-manual-wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker + after-suspend-manual-wireless/wireless_connection_open_ax_nm_.* certification-status=blocker after-suspend-manual-wireless/nm_connection_restore_.* id: wireless-cert-blockers @@ -90,6 +96,8 @@ include: wireless/wireless_connection_open_n_nm_.* certification-status=blocker wireless/wireless_connection_wpa_ac_nm_.* certification-status=blocker wireless/wireless_connection_open_ac_nm_.* certification-status=blocker + wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker + wireless/wireless_connection_open_ax_nm_.* certification-status=blocker wireless/nm_connection_restore_.* id: after-suspend-wireless-cert-blockers @@ -107,6 +115,8 @@ include: after-suspend-manual-wireless/wireless_connection_open_n_nm_.* certification-status=blocker after-suspend-manual-wireless/wireless_connection_wpa_ac_nm_.* certification-status=blocker after-suspend-manual-wireless/wireless_connection_open_ac_nm_.* certification-status=blocker + after-suspend-manual-wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker + after-suspend-manual-wireless/wireless_connection_open_ax_nm_.* certification-status=blocker after-suspend-manual-wireless/nm_connection_restore_.* id: wireless-full @@ -127,9 +137,11 @@ include: # following matchers may also include some automated jobs, this could be # fixed with some regex magic, but the lesser evil seems to be just to # include them as well; XXX: the test plan is not really manual-only + wireless/wireless_connection_open_ax_.* wireless/wireless_connection_open_ac_.* wireless/wireless_connection_open_bg_.* wireless/wireless_connection_open_n_.* + wireless/wireless_connection_wpa_ax_.* wireless/wireless_connection_wpa_ac_.* wireless/wireless_connection_wpa_bg_.* wireless/wireless_connection_wpa_n_.* @@ -138,20 +150,24 @@ id: wireless-automated unit: test plan _name: Automated tests for wireless _description: - Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac + Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac, ax networks. include: wireless/detect wireless/wireless_scanning_.* + wireless/wireless_connection_open_ax_nm_.* wireless/wireless_connection_open_ac_nm_.* wireless/wireless_connection_open_bg_nm_.* wireless/wireless_connection_open_n_nm_.* + wireless/wireless_connection_wpa_ax_nm_.* wireless/wireless_connection_wpa_ac_nm_.* wireless/wireless_connection_wpa_bg_nm_.* wireless/wireless_connection_wpa_n_nm_.* + # wireless/wireless_connection_open_ax_np_.* # wireless/wireless_connection_open_ac_np_.* # wireless/wireless_connection_open_bg_np_.* # wireless/wireless_connection_open_n_np_.* + # wireless/wireless_connection_wpa_ax_np_.* # wireless/wireless_connection_wpa_ac_np_.* # wireless/wireless_connection_wpa_bg_np_.* # wireless/wireless_connection_wpa_n_np_.* @@ -162,20 +178,24 @@ id: wireless-netplan-automated unit: test plan _name: Automated tests for wireless using netplan _description: - Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac + Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac, ax networks using netplan. include: wireless/detect # wireless/wireless_scanning_.* + # wireless/wireless_connection_open_ax_nm_.* # wireless/wireless_connection_open_ac_nm_.* # wireless/wireless_connection_open_bg_nm_.* # wireless/wireless_connection_open_n_nm_.* + # wireless/wireless_connection_wpa_ax_nm_.* # wireless/wireless_connection_wpa_ac_nm_.* # wireless/wireless_connection_wpa_bg_nm_.* # wireless/wireless_connection_wpa_n_nm_.* + wireless/wireless_connection_open_ax_np_.* wireless/wireless_connection_open_ac_np_.* wireless/wireless_connection_open_bg_np_.* wireless/wireless_connection_open_n_np_.* + wireless/wireless_connection_wpa_ax_np_.* wireless/wireless_connection_wpa_ac_np_.* wireless/wireless_connection_wpa_bg_np_.* wireless/wireless_connection_wpa_n_np_.* @@ -320,9 +340,11 @@ include: # following matchers may also include some automated jobs, this could be # fixed with some regex magic, but the lesser evil seems to be just to # include them as well; XXX: the test plan is not really manual-only + after-suspend-wireless/wireless_connection_open_ax_.* after-suspend-wireless/wireless_connection_open_ac_.* after-suspend-wireless/wireless_connection_open_bg_.* after-suspend-wireless/wireless_connection_open_n_.* + after-suspend-wireless/wireless_connection_wpa_ax_.* after-suspend-wireless/wireless_connection_wpa_ac_.* after-suspend-wireless/wireless_connection_wpa_bg_.* after-suspend-wireless/wireless_connection_wpa_n_.* @@ -332,19 +354,23 @@ id: after-suspend-wireless-automated unit: test plan _name: Automated tests for wireless (after suspend) _description: - Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac + Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac, ax networks. include: after-suspend-wireless/wireless_scanning_.* + after-suspend-wireless/wireless_connection_open_ax_nm_.* after-suspend-wireless/wireless_connection_open_ac_nm_.* after-suspend-wireless/wireless_connection_open_bg_nm_.* after-suspend-wireless/wireless_connection_open_n_nm_.* + after-suspend-wireless/wireless_connection_wpa_ax_nm_.* after-suspend-wireless/wireless_connection_wpa_ac_nm_.* after-suspend-wireless/wireless_connection_wpa_bg_nm_.* after-suspend-wireless/wireless_connection_wpa_n_nm_.* + # after-suspend-wireless/wireless_connection_open_ax_np_.* # after-suspend-wireless/wireless_connection_open_ac_np_.* # after-suspend-wireless/wireless_connection_open_bg_np_.* # after-suspend-wireless/wireless_connection_open_n_np_.* + # after-suspend-wireless/wireless_connection_wpa_ax_np_.* # after-suspend-wireless/wireless_connection_wpa_ac_np_.* # after-suspend-wireless/wireless_connection_wpa_bg_np_.* # after-suspend-wireless/wireless_connection_wpa_n_np_.* @@ -355,19 +381,23 @@ id: after-suspend-wireless-netplan-automated unit: test plan _name: Automated tests for wireless using netplan (after suspend) _description: - Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac + Automated connection tests for unencrypted or WPA-encrypted 802.11 bg, n, ac, ax networks using netplan. include: # after-suspend-wireless/wireless_scanning_.* + # after-suspend-wireless/wireless_connection_open_ax_nm_.* # after-suspend-wireless/wireless_connection_open_ac_nm_.* # after-suspend-wireless/wireless_connection_open_bg_nm_.* # after-suspend-wireless/wireless_connection_open_n_nm_.* + # after-suspend-wireless/wireless_connection_wpa_ax_nm_.* # after-suspend-wireless/wireless_connection_wpa_ac_nm_.* # after-suspend-wireless/wireless_connection_wpa_bg_nm_.* # after-suspend-wireless/wireless_connection_wpa_n_nm_.* + after-suspend-wireless/wireless_connection_open_ax_np_.* after-suspend-wireless/wireless_connection_open_ac_np_.* after-suspend-wireless/wireless_connection_open_bg_np_.* after-suspend-wireless/wireless_connection_open_n_np_.* + after-suspend-wireless/wireless_connection_wpa_ax_np_.* after-suspend-wireless/wireless_connection_wpa_ac_np_.* after-suspend-wireless/wireless_connection_wpa_bg_np_.* after-suspend-wireless/wireless_connection_wpa_n_np_.* diff --git a/units/wireless/wireless-connection-manual.pxu b/units/wireless/wireless-connection-manual.pxu index 7c3de03..9986578 100644 --- a/units/wireless/wireless-connection-manual.pxu +++ b/units/wireless/wireless-connection-manual.pxu @@ -1,4 +1,23 @@ - +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-unit: job +id: wireless/wireless_connection_open_ax_{interface} +_summary: Connect to unencrypted 802.11ax Wi-Fi network on {interface} +_purpose: + Check system can connect to insecure 802.11ax AP +_steps: + 1. Remove all wireless configuration in /etc/network/interfaces and /etc/network/interfaces.d + 2. Commence the test +_verification: + If there's "Connection test passed" message in result, mark the test as passed. +plugin: user-interact +command: wifi_client_test -i {interface} -s "$OPEN_AX_SSID" +environ: OPEN_AX_SSID +user: root +category_id: com.canonical.plainbox::wireless +estimated_duration: 90 +flags: preserve-locale also-after-suspend unit: template template-resource: device @@ -63,6 +82,27 @@ category_id: com.canonical.plainbox::wireless estimated_duration: 90 flags: preserve-locale also-after-suspend +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-unit: job +id: wireless/wireless_connection_wpa_ax_{interface} +_summary: Connect to WPA-encrypted 802.11ax Wi-Fi network on {interface} +_purpose: + Check system can connect to 802.11ax AP with wpa security +_steps: + 1. Remove all wireless configuration in /etc/network/interfaces and /etc/network/interfaces.d + 2. Commence the test +_verification: + If there's "Connection test passed" message in result, mark the test as passed. +plugin: user-interact +command: wifi_client_test -i {interface} -s "$WPA_AX_SSID" -k "$WPA_AX_PSK" +environ: WPA_AX_SSID WPA_AX_PSK +user: root +category_id: com.canonical.plainbox::wireless +estimated_duration: 90 +flags: preserve-locale also-after-suspend + unit: template template-resource: device template-filter: device.category == 'WIRELESS' diff --git a/units/wireless/wireless-connection-netplan.pxu b/units/wireless/wireless-connection-netplan.pxu index 6811b43..956f83d 100644 --- a/units/wireless/wireless-connection-netplan.pxu +++ b/units/wireless/wireless-connection-netplan.pxu @@ -1,3 +1,27 @@ +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_open_ax_np_{{ interface }} +_summary: + Connect to unencrypted 802.11ax Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to insecure 802.11ax AP using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $OPEN_AX_SSID -d +user: root +environ: LD_LIBRARY_PATH OPEN_AX_SSID NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ax == 'supported' +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + unit: template template-resource: device template-filter: device.category == 'WIRELESS' @@ -69,6 +93,30 @@ flags: preserve-locale also-after-suspend also-after-suspend-manual # net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' +unit: template +template-resource: device +template-filter: device.category == 'WIRELESS' +template-engine: jinja2 +template-unit: job +id: wireless/wireless_connection_wpa_ax_np_{{ interface }} +_summary: + Connect to WPA-encrypted 802.11ax Wi-Fi network on {{ interface }} - netplan +_purpose: + Check system can connect to 802.11ax AP with wpa security using netplan +plugin: shell +command: + net_driver_info $NET_DRIVER_INFO + wifi_client_test_netplan.py -i {{ interface }} -s $WPA_AX_SSID -k $WPA_AX_PSK -d +user: root +environ: LD_LIBRARY_PATH WPA_AX_SSID WPA_AX_PSK NET_DRIVER_INFO +category_id: com.canonical.plainbox::wireless +estimated_duration: 15 +flags: preserve-locale also-after-suspend also-after-suspend-manual +requires: + wireless_sta_protocol.{{ interface }}_ax == 'supported' +# net_if_management.device == '{{ interface }}' and net_if_management.managed_by == 'networkd' + + unit: template template-resource: device template-filter: device.category == 'WIRELESS' -- cgit v1.2.3