]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-dhcp-server: Gracefully handle the network being down
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 18 Aug 2024 22:13:47 +0000 (00:13 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 19 Aug 2024 02:38:55 +0000 (11:38 +0900)
src/libsystemd-network/test-dhcp-server.c

index ecd030e239cc71c3a35253b8ce597f491ed16a61..228b166c2790e4bb8f2a751014e83721eb4a04bb 100644 (file)
@@ -127,6 +127,7 @@ static void test_message_handler(void) {
                 .s_addr = htobe32(INADDR_LOOPBACK + 42),
         };
         static uint8_t static_lease_client_id[7] = {0x01, 'A', 'B', 'C', 'D', 'E', 'G' };
+        int r;
 
         log_debug("/* %s */", __func__);
 
@@ -137,7 +138,10 @@ static void test_message_handler(void) {
         assert_se(sd_dhcp_server_attach_event(server, NULL, 0) >= 0);
         assert_se(sd_dhcp_server_start(server) >= 0);
 
-        assert_se(dhcp_server_handle_message(server, (DHCPMessage*)&test, sizeof(test), NULL) == DHCP_OFFER);
+        r = dhcp_server_handle_message(server, (DHCPMessage*)&test, sizeof(test), NULL);
+        if (r == -ENETDOWN)
+                return (void) log_tests_skipped("Network is not available");
+        assert_se(r == DHCP_OFFER);
 
         test.end = 0;
         /* TODO, shouldn't this fail? */