checkbox-ng no longer honoring system vars set in conf file
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Next Generation Checkbox (CLI) |
Fix Released
|
Critical
|
Maciej Kisielewski |
Bug Description
Fresh xenial install with a fresh install from the latest release to the public ppa:
checkbox-ng 0.24~ppa~
plainbox-
python3-checkbox-ng 0.24~ppa~
python3-
plainbox-
plainbox-
plainbox-
plainbox-
python3-plainbox 0.26~ppa~
the config file /etc/xdg/
# For network testing:
#
# TEST_TARGET_IPERF is the IP/Hostname of the iperf server for network testing.
#
# UNCOMMENT THE FOLLOWING LINE and set the proper parameters as necessary:
TEST_TARGET_IPERF = 10.0.0.1
However, when executing the 16.04 Network Only whitelist, I get the following:
ERROR:root:Target server has not been supplied.
INFO:root:
INFO:root:1- If calling the script directly, pass the --target option
INFO:root:2- Define the TEST_TARGET_IPERF environment variable
INFO:root:3- (If running the test via checkbox/plainbox, define the
INFO:root:target in /etc/xdg/
INFO:root:Please run this script with -h to see more details on how to configure
Iperf3 IS running on the target, and I can manually run iperf3 client against the target with success.
I can also successfully run the script like this:
ubuntu@x-wing:~$ sudo TEST_TARGET_
INFO:root:Starting iperf against 10.0.0.1, this could take a while...
INFO:root:Min Transfer speed: 938.0 Mb/s
INFO:root:Max Transfer speed: 959.0 Mb/s
INFO:root:Avg Transfer speed: 943.0 Mb/s
INFO:root:94.30% of theoretical max 1000 Mb/s
INFO:root:
INFO:root:CPU utilization: 3.0%
INFO:root:
So the script itself works, it's checkbox-ng that is no longer reading the env vars properly...
Related branches
- Sylvain Pineau (community): Approve
-
Diff: 69 lines (+23/-1)3 files modifiedcheckbox-ng/checkbox_ng/launcher.py (+5/-1)
checkbox-ng/docs/launcher-tutorial.rst (+17/-0)
checkbox-ng/launchers/checkbox-cli (+1/-0)
Changed in checkbox-ng: | |
assignee: | nobody → Maciej Kisielewski (kissiel) |
Changed in checkbox-ng: | |
status: | Confirmed → In Progress |
Changed in checkbox-ng: | |
milestone: | none → 0.25 |
status: | In Progress → Fix Committed |
Changed in checkbox-ng: | |
status: | Confirmed → Fix Committed |
Changed in checkbox-ng: | |
status: | Fix Committed → Fix Released |
It looks like this bug fix introduced a regression.
I'm not sure if it fixed Jeff's problem, but it messed up the OEM (and probably Cert) providers.
To reproduce:
1. Install Plainbox OEM providers (for instance the Stella ones) plainbox. conf file contains:
2. Make sure the /etc/xdg/
ROUTERS = multiple
(it should also contain the SSID and password for the different Wireless networks you want to test, such as WPA_BG_SSID and WPA_BG_PSK for instance)
3. Run the Stella Full test plan using stella-cli
4. Select the Wireless tests only and start testing
→ All the tests are skipped because:
resource expression "environment. ROUTERS == 'multiple'" evaluates to false
I noticed that if I alter stella-cli to add:
[environment]
ROUTERS = multiple
then the tests can be run but fail because I haven't added the other keys needed for those tests (WPA_BG_SSID and WPA_BG_PSK for instance)
Checkbox should load the configuration from: plainbox. conf canonical- certification. conf plainbox. conf canonical- certification. conf
- /etc/xdg/
- /etc/xdg/
- ~/.config/
- ~/.config/
- the [environment] section from the launcher itself
I guess the rule for superseding should be based on the list above in terms of priorities.