Merge ~jocave/plainbox-provider-checkbox:select-master-mode-tests into plainbox-provider-checkbox:master

Proposed by Jonathan Cave
Status: Merged
Approved by: Jonathan Cave
Approved revision: da04ac19338ad0de7e37df31911f3e9dafa1b054
Merged at revision: eea2c9e443c0a6683d5aa5da554ee953a31b2f15
Proposed branch: ~jocave/plainbox-provider-checkbox:select-master-mode-tests
Merge into: plainbox-provider-checkbox:master
Diff against target: 325 lines (+39/-29)
3 files modified
units/wireless/nm-hotspot.pxu (+4/-0)
units/wireless/test-plan.pxu (+6/-0)
units/wireless/wifi-ap.pxu (+29/-29)
Reviewer Review Type Date Requested Status
Kristin Chuang (community) Approve
Review via email: mp+400446@code.launchpad.net

Description of the change

Modify the wifi-ap and NetworkManager based master mode tests to be dependent on the net_if_management resource job. See:

https://code.launchpad.net/~jocave/plainbox-provider-resource/+git/plainbox-provider-resource/+merge/400444

This allows the NM jobs to be added to the existing nested test plans and the appropriate jobs (or no jobs) be selected depending on the setup of the system under test.

To post a comment you must log in.
Revision history for this message
Kristin Chuang (kristinchuang) wrote :

+1, the current logic works in the following trial runs:

* UC16 enablement project, wifi-AP & network-manager pre-installed
[Expected] wifi-ap jobs run (its pass/fail status unrelated to this MR), nmcli jobs skipped
[Actual] OK, see https://pastebin.canonical.com/p/GHVhyYxQJC/

* rpi 2b, stock rpi armhf UC20, network-manager manually installed
[Expected] wifi-ap jobs skipped, nmcli jobs run (its pass/fail status unrelated to this MR)
[Actual] OK, see https://pastebin.canonical.com/p/jkTc6KQw8c/

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/units/wireless/nm-hotspot.pxu b/units/wireless/nm-hotspot.pxu
2index ca62c7a..fbef4bc 100644
3--- a/units/wireless/nm-hotspot.pxu
4+++ b/units/wireless/nm-hotspot.pxu
5@@ -14,6 +14,8 @@ category_id: com.canonical.plainbox::wireless
6 estimated_duration: 10
7 flags: preserve-locale also-after-suspend
8 requires:
9+ wifi_interface_mode.{{ interface }}_AP == 'supported'
10+ net_if_management.device == '{{ interface }}' and net_if_management.master_mode_managed_by == 'NetworkManager'
11 {%- if __on_ubuntucore__ %}
12 connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager'
13 {%- else %}
14@@ -35,6 +37,8 @@ category_id: com.canonical.plainbox::wireless
15 estimated_duration: 10
16 flags: preserve-locale also-after-suspend
17 requires:
18+ wifi_interface_mode.{{ interface }}_AP == 'supported'
19+ net_if_management.device == '{{ interface }}' and net_if_management.master_mode_managed_by == 'NetworkManager'
20 {%- if __on_ubuntucore__ %}
21 connections.slot == 'network-manager:service' and connections.plug == '{{ __system_env__["SNAP_NAME"] }}:network-manager'
22 {%- else %}
23diff --git a/units/wireless/test-plan.pxu b/units/wireless/test-plan.pxu
24index 6b2b8c1..b7448cb 100644
25--- a/units/wireless/test-plan.pxu
26+++ b/units/wireless/test-plan.pxu
27@@ -229,6 +229,7 @@ _name: Automated tests for wifi master mode
28 _description:
29 Automated tests for using System as Access Point
30 include:
31+ # wifi-ap set (see net-if-management resource)
32 wireless/wifi_ap_open_b_no_sta_.*_auto
33 wireless/wifi_ap_open_g_no_sta_.*_auto
34 wireless/wifi_ap_wpa_b_no_sta_.*_auto
35@@ -236,6 +237,8 @@ include:
36 wireless/wifi_ap_wpa_b_with_sta_.*_auto
37 wireless/wifi_ap_wpa_g_with_sta_.*_auto
38 wireless/wifi_ap_setup_wizard_.*_auto
39+ # NetworkManager set (see net-if-management resource)
40+ wireless/nmcli_wifi_ap_.*
41 bootstrap_include:
42 device
43 wifi_interface_mode
44@@ -273,6 +276,7 @@ _name: QA tests for wifi master mode (after suspend)
45 _description:
46 System as Access Point tests
47 include:
48+ # wifi-ap set (see net-if-management resource)
49 after-suspend-wireless/wifi_ap_open_b_no_sta_.*_auto
50 after-suspend-wireless/wifi_ap_open_g_no_sta_.*_auto
51 after-suspend-wireless/wifi_ap_wpa_b_no_sta_.*_auto
52@@ -280,6 +284,8 @@ include:
53 after-suspend-wireless/wifi_ap_wpa_b_with_sta_.*_auto
54 after-suspend-wireless/wifi_ap_wpa_g_with_sta_.*_auto
55 after-suspend-wireless/wifi_ap_setup_wizard_.*_auto
56+ # NetworkManager set (see net-if-management resource)
57+ after-suspend-wireless/nmcli_wifi_ap_.*
58 bootstrap_include:
59 device
60 wifi_interface_mode
61diff --git a/units/wireless/wifi-ap.pxu b/units/wireless/wifi-ap.pxu
62index 622d70f..ad5dfae 100644
63--- a/units/wireless/wifi-ap.pxu
64+++ b/units/wireless/wifi-ap.pxu
65@@ -8,7 +8,7 @@ _summary: Create open 802.11a Wi-Fi AP on {interface} with no STA (Manual)
66 plugin: manual
67 requires:
68 wifi_interface_mode.{interface}_AP == 'supported'
69- snap.name == 'wifi-ap'
70+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
71 estimated_duration: 120.0
72 _purpose:
73 Check that the system can create an open 802.11a Access Point without any STA connection
74@@ -64,7 +64,7 @@ command:
75 fi
76 requires:
77 wifi_interface_mode.{interface}_AP == 'supported'
78- snap.name == 'wifi-ap'
79+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
80 estimated_duration: 120.0
81 environ: WIFI_AP_SETUPTIME
82 flags: preserve-locale also-after-suspend
83@@ -79,7 +79,7 @@ _summary: Create open 802.11b Wi-Fi AP on {interface} with no STA (Manual)
84 plugin: manual
85 requires:
86 wifi_interface_mode.{interface}_AP == 'supported'
87- snap.name == 'wifi-ap'
88+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
89 estimated_duration: 120.0
90 _purpose:
91 Check that the system can create an open 802.11b Access Point without any STA connection
92@@ -135,7 +135,7 @@ command:
93 fi
94 requires:
95 wifi_interface_mode.{interface}_AP == 'supported'
96- snap.name == 'wifi-ap'
97+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
98 estimated_duration: 120.0
99 environ: WIFI_AP_SETUPTIME
100 flags: preserve-locale also-after-suspend
101@@ -150,7 +150,7 @@ _summary: Create open 802.11g Wi-Fi AP on {interface} with no STA (Manual)
102 plugin: manual
103 requires:
104 wifi_interface_mode.{interface}_AP == 'supported'
105- snap.name == 'wifi-ap'
106+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
107 estimated_duration: 120.0
108 _purpose:
109 Check that the system can create an open 802.11g Access Point without any STA connection
110@@ -206,7 +206,7 @@ command:
111 fi
112 requires:
113 wifi_interface_mode.{interface}_AP == 'supported'
114- snap.name == 'wifi-ap'
115+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
116 estimated_duration: 120.0
117 environ: WIFI_AP_SETUPTIME
118 flags: preserve-locale also-after-suspend
119@@ -221,7 +221,7 @@ _summary: Create open 802.11ad Wi-Fi AP on {interface} with no STA (Manual)
120 plugin: manual
121 requires:
122 wifi_interface_mode.{interface}_AP == 'supported'
123- snap.name == 'wifi-ap'
124+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
125 estimated_duration: 120.0
126 _purpose:
127 Check that the system can create an open 802.11ad Access Point without any STA connection
128@@ -277,7 +277,7 @@ command:
129 fi
130 requires:
131 wifi_interface_mode.{interface}_AP == 'supported'
132- snap.name == 'wifi-ap'
133+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
134 estimated_duration: 120.0
135 environ: WIFI_AP_SETUPTIME
136 flags: preserve-locale also-after-suspend
137@@ -292,7 +292,7 @@ _summary: Create WPA2 802.11a Wi-Fi AP on {interface} with no STA (Manual)
138 plugin: manual
139 requires:
140 wifi_interface_mode.{interface}_AP == 'supported'
141- snap.name == 'wifi-ap'
142+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
143 estimated_duration: 120.0
144 _purpose:
145 Check that the system can create a WPA2 802.11a Access Point without any STA connection
146@@ -350,7 +350,7 @@ command:
147 fi
148 requires:
149 wifi_interface_mode.{interface}_AP == 'supported'
150- snap.name == 'wifi-ap'
151+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
152 estimated_duration: 120.0
153 environ: WIFI_AP_SETUPTIME
154 flags: preserve-locale also-after-suspend
155@@ -365,7 +365,7 @@ _summary: Create WPA2 802.11b Wi-Fi AP on {interface} with no STA (Manual)
156 plugin: manual
157 requires:
158 wifi_interface_mode.{interface}_AP == 'supported'
159- snap.name == 'wifi-ap'
160+ net_if_management.device == '{{ interface }}' and net_if_management.master_mode_managed_by == 'wifi-ap'
161 estimated_duration: 120.0
162 _purpose:
163 Check that the system can create a WPA2 802.11b Access Point without any STA connection
164@@ -423,7 +423,7 @@ command:
165 fi
166 requires:
167 wifi_interface_mode.{interface}_AP == 'supported'
168- snap.name == 'wifi-ap'
169+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
170 estimated_duration: 120.0
171 environ: WIFI_AP_SETUPTIME
172 flags: preserve-locale also-after-suspend
173@@ -438,7 +438,7 @@ _summary: Create WPA2 802.11g Wi-Fi AP on {interface} with no STA (Manual)
174 plugin: manual
175 requires:
176 wifi_interface_mode.{interface}_AP == 'supported'
177- snap.name == 'wifi-ap'
178+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
179 estimated_duration: 120.0
180 _purpose:
181 Check that the system can create a WPA2 802.11g Access Point without any STA connection
182@@ -496,7 +496,7 @@ command:
183 fi
184 requires:
185 wifi_interface_mode.{interface}_AP == 'supported'
186- snap.name == 'wifi-ap'
187+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
188 estimated_duration: 120.0
189 environ: WIFI_AP_SETUPTIME
190 flags: preserve-locale also-after-suspend
191@@ -511,7 +511,7 @@ _summary: Create WPA2 802.11ad Wi-Fi AP on {interface} with no STA (Manual)
192 plugin: manual
193 requires:
194 wifi_interface_mode.{interface}_AP == 'supported'
195- snap.name == 'wifi-ap'
196+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
197 estimated_duration: 120.0
198 _purpose:
199 Check that the system can create a WPA2 802.11ad Access Point without any STA connection
200@@ -569,7 +569,7 @@ command:
201 fi
202 requires:
203 wifi_interface_mode.{interface}_AP == 'supported'
204- snap.name == 'wifi-ap'
205+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
206 estimated_duration: 120.0
207 environ: WIFI_AP_SETUPTIME
208 flags: preserve-locale also-after-suspend
209@@ -584,7 +584,7 @@ _summary: Create WPA2 802.11a Wi-Fi AP on {interface} with active STA (Manual)
210 plugin: user-interact-verify
211 requires:
212 wifi_interface_mode.{interface}_AP == 'supported'
213- snap.name == 'wifi-ap'
214+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
215 estimated_duration: 120.0
216 environ: LD_LIBRARY_PATH OPEN_BG_SSID
217 command:
218@@ -622,7 +622,7 @@ _summary: Create WPA2 802.11a Wi-Fi Access Point on {interface} with active STA
219 plugin: shell
220 requires:
221 wifi_interface_mode.{interface}_AP == 'supported'
222- snap.name == 'wifi-ap'
223+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
224 estimated_duration: 120.0
225 environ: LD_LIBRARY_PATH OPEN_BG_SSID WIFI_AP_SETUPTIME
226 command:
227@@ -670,7 +670,7 @@ _summary: Create WPA2 802.11b Wi-Fi AP on {interface} with active STA (Manual)
228 plugin: user-interact-verify
229 requires:
230 wifi_interface_mode.{interface}_AP == 'supported'
231- snap.name == 'wifi-ap'
232+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
233 estimated_duration: 120.0
234 environ: LD_LIBRARY_PATH OPEN_BG_SSID
235 command:
236@@ -708,7 +708,7 @@ _summary: Create WPA2 802.11b Wi-Fi Access Point on {interface} with active STA
237 plugin: shell
238 requires:
239 wifi_interface_mode.{interface}_AP == 'supported'
240- snap.name == 'wifi-ap'
241+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
242 estimated_duration: 120.0
243 environ: LD_LIBRARY_PATH OPEN_BG_SSID WIFI_AP_SETUPTIME
244 command:
245@@ -756,7 +756,7 @@ _summary: Create WPA2 802.11g Wi-Fi AP on {interface} with active STA (Manual)
246 plugin: user-interact-verify
247 requires:
248 wifi_interface_mode.{interface}_AP == 'supported'
249- snap.name == 'wifi-ap'
250+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
251 estimated_duration: 120.0
252 environ: LD_LIBRARY_PATH OPEN_BG_SSID
253 command:
254@@ -794,7 +794,7 @@ _summary: Create WPA2 802.11g Wi-Fi Access Point on {interface} with active STA
255 plugin: shell
256 requires:
257 wifi_interface_mode.{interface}_AP == 'supported'
258- snap.name == 'wifi-ap'
259+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
260 estimated_duration: 120.0
261 environ: LD_LIBRARY_PATH OPEN_BG_SSID WIFI_AP_SETUPTIME
262 command:
263@@ -842,7 +842,7 @@ _summary: Create WPA2 802.11ad Wi-Fi AP on {interface} with active STA (Manual)
264 plugin: user-interact-verify
265 requires:
266 wifi_interface_mode.{interface}_AP == 'supported'
267- snap.name == 'wifi-ap'
268+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
269 estimated_duration: 120.0
270 environ: LD_LIBRARY_PATH OPEN_BG_SSID
271 command:
272@@ -880,7 +880,7 @@ _summary: Create WPA2 802.11ad Wi-Fi Access Point on {interface} with active STA
273 plugin: shell
274 requires:
275 wifi_interface_mode.{interface}_AP == 'supported'
276- snap.name == 'wifi-ap'
277+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
278 estimated_duration: 120.0
279 environ: LD_LIBRARY_PATH OPEN_BG_SSID WIFI_AP_SETUPTIME
280 command:
281@@ -928,7 +928,7 @@ _summary: Create Access Point on {interface} using wifi-ap.setup-wizard
282 plugin: shell
283 requires:
284 wifi_interface_mode.{interface}_AP == 'supported'
285- snap.name == 'wifi-ap'
286+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
287 estimated_duration: 20.0
288 user: root
289 command:
290@@ -976,7 +976,7 @@ command:
291 reboot
292 requires:
293 wifi_interface_mode.{interface}_AP == 'supported'
294- snap.name == 'wifi-ap'
295+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
296 estimated_duration: 120.0
297 environ: WIFI_AP_SETUPTIME
298 flags: preserve-locale noreturn autorestart
299@@ -1010,7 +1010,7 @@ command:
300 reboot
301 requires:
302 wifi_interface_mode.{interface}_AP == 'supported'
303- snap.name == 'wifi-ap'
304+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
305 estimated_duration: 120.0
306 environ: WIFI_AP_SETUPTIME
307 flags: preserve-locale noreturn
308@@ -1041,7 +1041,7 @@ command:
309 fi
310 requires:
311 wifi_interface_mode.{interface}_AP == 'supported'
312- snap.name == 'wifi-ap'
313+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
314 depends: wireless/wifi_ap_across_reboot_{interface}_setup
315 estimated_duration: 120.0
316 environ: WIFI_AP_SETUPTIME
317@@ -1066,7 +1066,7 @@ command:
318 if [ "$RES" -eq 2 ]; then exit 0; else exit 1; fi
319 requires:
320 wifi_interface_mode.{interface}_AP == 'supported'
321- snap.name == 'wifi-ap'
322+ net_if_management.device == '{interface}' and net_if_management.master_mode_managed_by == 'wifi-ap'
323 depends: wireless/wifi_ap_across_reboot_{interface}_setup_manual
324 estimated_duration: 120.0
325 environ: WIFI_AP_SETUPTIME

Subscribers

People subscribed via source and target branches