Merge "conman: Fix and test WLANConfiguration parsing."
diff --git a/conman/connection_manager.py b/conman/connection_manager.py
index 3808458..d530639 100755
--- a/conman/connection_manager.py
+++ b/conman/connection_manager.py
@@ -79,7 +79,7 @@
'-s': 'ssid',
'--ssid': 'ssid',
'-S': 'interface_suffix',
- '--interface_suffix': 'interface_suffix',
+ '--interface-suffix': 'interface_suffix',
}
attr = None
for line in self.command:
@@ -91,7 +91,7 @@
attr = binwifi_option_attrs.get(line, None)
if line.startswith('WIFI_PSK='):
- self.passphrase = line.split('WIFI_PSK=')[-1]
+ self.passphrase = line[len('WIFI_PSK='):]
if self.ssid is None:
raise ValueError('Command file does not specify SSID')
diff --git a/conman/connection_manager_test.py b/conman/connection_manager_test.py
index 271cac7..7cf1785 100755
--- a/conman/connection_manager_test.py
+++ b/conman/connection_manager_test.py
@@ -248,6 +248,21 @@
f.write(value)
+@wvtest.wvtest
+def WLANConfigurationParseTest(): # pylint: disable=invalid-name
+ """Test WLANConfiguration parsing."""
+ cmd = '\n'.join([
+ 'WIFI_PSK=abcdWIFI_PSK=qwer', 'wifi', 'set', '-P', '-b', '5',
+ '--bridge=br0', '-s', 'my ssid=1', '--interface-suffix', '_suffix',
+ ])
+ config = WLANConfiguration('5', interface_test.Wifi('wcli0', 20), cmd, None,
+ None)
+
+ wvtest.WVPASSEQ('my ssid=1', config.ssid)
+ wvtest.WVPASSEQ('abcdWIFI_PSK=qwer', config.passphrase)
+ wvtest.WVPASSEQ('_suffix', config.interface_suffix)
+
+
class Wifi(interface_test.Wifi):
def __init__(self, *args, **kwargs):