summaryrefslogtreecommitdiff
path: root/tests/generator/base.py
diff options
context:
space:
mode:
authorLukas Märdian <slyon@ubuntu.com>2022-05-03 17:15:05 +0200
committerLukas Märdian <slyon@ubuntu.com>2022-05-30 09:19:38 +0200
commitd29bf14b8d0a45b2e8c2693f2fc6a27852ff436d (patch)
tree9b161509d9687c8cd2c8e37d6224333a007e6f7c /tests/generator/base.py
parent4e7f0fd935ec456628afda3c0a27115687df43ab (diff)
nm: tests: improve NM manage/ignore logic, using udev matching rules
V2: avoid g_string_replace() which is not available in older verions of GLib (Focal)
Diffstat (limited to 'tests/generator/base.py')
-rw-r--r--tests/generator/base.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/generator/base.py b/tests/generator/base.py
index 689c4e0..f0407c9 100644
--- a/tests/generator/base.py
+++ b/tests/generator/base.py
@@ -92,6 +92,12 @@ Wants=network.target
Type=simple
ExecStart=/sbin/wpa_supplicant -c /run/netplan/wpa-%(iface)s.conf -i%(iface)s -D%(drivers)s
'''
+NM_MANAGED = 'SUBSYSTEM=="net", ACTION=="add|change|move", ENV{ID_NET_NAME}=="%s", ENV{NM_UNMANAGED}="0"\n'
+NM_UNMANAGED = 'SUBSYSTEM=="net", ACTION=="add|change|move", ENV{ID_NET_NAME}=="%s", ENV{NM_UNMANAGED}="1"\n'
+NM_MANAGED_MAC = 'SUBSYSTEM=="net", ACTION=="add|change|move", ATTR{address}=="%s", ENV{NM_UNMANAGED}="0"\n'
+NM_UNMANAGED_MAC = 'SUBSYSTEM=="net", ACTION=="add|change|move", ATTR{address}=="%s", ENV{NM_UNMANAGED}="1"\n'
+NM_MANAGED_DRIVER = 'SUBSYSTEM=="net", ACTION=="add|change|move", ENV{ID_NET_DRIVER}=="%s", ENV{NM_UNMANAGED}="0"\n'
+NM_UNMANAGED_DRIVER = 'SUBSYSTEM=="net", ACTION=="add|change|move", ENV{ID_NET_DRIVER}=="%s", ENV{NM_UNMANAGED}="1"\n'
class NetplanV2Normalizer():
@@ -432,7 +438,12 @@ class TestBase(unittest.TestCase):
self.assertFalse(os.path.exists(rule_path))
return
with open(rule_path) as f:
- self.assertEqual(f.read(), contents)
+ lines = []
+ for line in f.readlines():
+ # ignore any comment in udev rules.d file
+ if not line.startswith('#'):
+ lines.append(line)
+ self.assertEqual(''.join(lines), contents)
def assert_ovs(self, file_contents_map):
systemd_dir = os.path.join(self.workdir.name, 'run', 'systemd', 'system')