From fa4c6095d76aff6620b118f94b124c5caf1bf0e1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 31 May 2019 08:49:48 +0900 Subject: [PATCH 1/3] test-network: add --lsan-options option --- test/test-network/systemd-networkd-tests.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 5c3781c3c7..d39df360ab 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -30,6 +30,7 @@ use_valgrind=False enable_debug=False env = {} asan_options=None +lsan_options=None ubsan_options=None def is_module_available(module_name): @@ -103,9 +104,11 @@ def setUpModule(): drop_in += ['Environment=SYSTEMD_LOG_LEVEL=debug'] if asan_options: drop_in += ['Environment=ASAN_OPTIONS="' + asan_options + '"'] + if lsan_options: + drop_in += ['Environment=LSAN_OPTIONS="' + lsan_options + '"'] if ubsan_options: drop_in += ['Environment=UBSAN_OPTIONS="' + ubsan_options + '"'] - if use_valgrind or asan_options or ubsan_options: + if use_valgrind or asan_options or lsan_options or ubsan_options: drop_in += ['MemoryDenyWriteExecute=no'] drop_in_str = '\n'.join(drop_in) @@ -2359,6 +2362,7 @@ if __name__ == '__main__': parser.add_argument('--valgrind', help='Enable valgrind', dest='use_valgrind', type=bool, nargs='?', const=True, default=use_valgrind) parser.add_argument('--debug', help='Generate debugging logs', dest='enable_debug', type=bool, nargs='?', const=True, default=enable_debug) parser.add_argument('--asan-options', help='ASAN options', dest='asan_options') + parser.add_argument('--lsan-options', help='LSAN options', dest='lsan_options') parser.add_argument('--ubsan-options', help='UBSAN options', dest='ubsan_options') ns, args = parser.parse_known_args(namespace=unittest) @@ -2379,6 +2383,7 @@ if __name__ == '__main__': use_valgrind = ns.use_valgrind enable_debug = ns.enable_debug asan_options = ns.asan_options + lsan_options = ns.lsan_options ubsan_options = ns.ubsan_options if use_valgrind: @@ -2392,6 +2397,8 @@ if __name__ == '__main__': env.update({ 'SYSTEMD_LOG_LEVEL' : 'debug' }) if asan_options: env.update({ 'ASAN_OPTIONS' : asan_options }) + if lsan_options: + env.update({ 'LSAN_OPTIONS' : lsan_options }) if ubsan_options: env.update({ 'UBSAN_OPTIONS' : ubsan_options }) From d4fda2a55cea9a773d8da349864906c0b956c9b7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 31 May 2019 09:52:27 +0900 Subject: [PATCH 2/3] test-network: stop service before editing unit file --- test/test-network/systemd-networkd-tests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index d39df360ab..692bd19159 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -87,6 +87,7 @@ def setUpModule(): copytree(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'conf'), networkd_ci_path) subprocess.check_call('systemctl stop systemd-networkd.socket', shell=True) + subprocess.check_call('systemctl stop systemd-networkd.service', shell=True) drop_in = [ '[Service]', @@ -122,10 +123,12 @@ def setUpModule(): def tearDownModule(): shutil.rmtree(networkd_ci_path) + + subprocess.check_call('systemctl stop systemd-networkd.service', shell=True) + shutil.rmtree('/run/systemd/system/systemd-networkd.service.d') subprocess.check_call('systemctl daemon-reload', shell=True) - subprocess.check_call('systemctl stop systemd-networkd.service', shell=True) subprocess.check_call('systemctl start systemd-networkd.socket', shell=True) subprocess.check_call('systemctl start systemd-networkd.service', shell=True) From 72917fcc65dfad7081cb34d09df75a1b5ffa00c3 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 31 May 2019 13:54:08 +0900 Subject: [PATCH 3/3] test-network: show systemd-networkd.service As there may exist some other drop-in configs. --- test/test-network/systemd-networkd-tests.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 692bd19159..335e3215f2 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -112,14 +112,13 @@ def setUpModule(): if use_valgrind or asan_options or lsan_options or ubsan_options: drop_in += ['MemoryDenyWriteExecute=no'] - drop_in_str = '\n'.join(drop_in) - print(drop_in_str) - os.makedirs('/run/systemd/system/systemd-networkd.service.d', exist_ok=True) with open('/run/systemd/system/systemd-networkd.service.d/00-override.conf', mode='w') as f: - f.write(drop_in_str) + f.write('\n'.join(drop_in)) subprocess.check_call('systemctl daemon-reload', shell=True) + output = subprocess.check_output(['systemctl', 'cat', 'systemd-networkd.service'], universal_newlines=True).rstrip() + print(output) def tearDownModule(): shutil.rmtree(networkd_ci_path)