From 72711b76e0b61772f1332e37ee74cb8349351766 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 11 Dec 2025 00:20:18 +0900 Subject: [PATCH] TEST-85-NETWORK: enable NetworkdSysctlTest Note, each test case must be prefixed with 'test_'. This also adds one more log check for issue #40051. Follow-up for c78bcda4613fe877881f9760da63f2f8f832118a. --- src/network/networkd-sysctl.c | 4 ++++ test/integration-tests/TEST-85-NETWORK/meson.build | 1 + test/test-network/systemd-networkd-tests.py | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index f1a77dad00..c6ff720038 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -53,6 +53,8 @@ static int sysctl_event_handler(void *ctx, void *data, size_t data_sz) { "Unexpected sysctl event, disabling sysctl monitoring: %d", we->version); if (we->errorcode != 0) { + /* The log message is checked in test-network/systemd-networkd-tests.py. Please update the + * test when the log message is changed. */ log_warning_errno(we->errorcode, "Sysctl monitor BPF returned error: %m"); return 0; } @@ -69,6 +71,8 @@ static int sysctl_event_handler(void *ctx, void *data, size_t data_sz) { return 0; if (!strneq(value, we->newvalue, sizeof(we->newvalue))) + /* The log message is checked in test-network/systemd-networkd-tests.py. Please update the + * test when the log message is changed. */ log_struct(LOG_WARNING, LOG_MESSAGE_ID(SD_MESSAGE_SYSCTL_CHANGED_STR), LOG_ITEM("OBJECT_PID=" PID_FMT, we->pid), diff --git a/test/integration-tests/TEST-85-NETWORK/meson.build b/test/integration-tests/TEST-85-NETWORK/meson.build index cf3ea53469..9e8534cff0 100644 --- a/test/integration-tests/TEST-85-NETWORK/meson.build +++ b/test/integration-tests/TEST-85-NETWORK/meson.build @@ -22,6 +22,7 @@ foreach testcase : [ 'NetworkdDHCPPDTests', 'NetworkdIPv6PrefixTests', 'NetworkdMTUTests', + 'NetworkdSysctlTest', ] integration_tests += [ integration_test_template + { diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 3cd2838cad..eb3911e066 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -9375,7 +9375,7 @@ class NetworkdSysctlTest(unittest.TestCase, Utilities): tear_down_common() @unittest.skipUnless(compare_kernel_version("6.12"), reason="On kernels <= 6.12, bpf_current_task_under_cgroup() isn't available for program types BPF_PROG_TYPE_CGROUP_SYSCTL") - def check_sysctl_watch(self): + def test_sysctl_monitor(self): copy_network_unit('12-dummy.network', '12-dummy.netdev', '12-dummy.link') start_networkd() @@ -9398,6 +9398,7 @@ class NetworkdSysctlTest(unittest.TestCase, Utilities): self.assertRegex(log, r"Foreign process 'sysctl\[\d+\]' changed sysctl '/proc/sys/net/ipv6/conf/dummy98/proxy_ndp' from '0' to '1', conflicting with our setting to '0'") self.assertNotIn("changed sysctl '/proc/sys/net/ipv6/conf/dummy98/hop_limit'", log) self.assertNotIn("changed sysctl '/proc/sys/net/ipv6/conf/dummy98/max_addresses'", log) + self.assertNotIn("Sysctl monitor BPF returned error", log) if __name__ == '__main__': parser = argparse.ArgumentParser()