]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-id128: do not fail if machine-id is missing
authorLuca Boccassi <bluca@debian.org>
Tue, 25 Oct 2022 00:05:04 +0000 (01:05 +0100)
committerLuca Boccassi <bluca@debian.org>
Tue, 25 Oct 2022 15:00:26 +0000 (16:00 +0100)
When building in a chroot there might not be any machine-id

src/test/test-id128.c

index 5da7b0ec1a092aedfb37db525d4a58ff9dbbe9f0..4b71c5c00b984cb01fbfa5aba9a0ea6e46e4a972 100644 (file)
@@ -38,7 +38,7 @@ TEST(id128) {
         assert_se(!sd_id128_in_set(id, ID128_WALDI));
         assert_se(!sd_id128_in_set(id, ID128_WALDI, ID128_WALDI));
 
-        if (sd_booted() > 0) {
+        if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) {
                 assert_se(sd_id128_get_machine(&id) == 0);
                 printf("machine: %s\n", sd_id128_to_string(id, t));
 
@@ -145,11 +145,13 @@ TEST(id128) {
         assert_se(id128_read_fd(fd, ID128_UUID, &id2) >= 0);
         assert_se(sd_id128_equal(id, id2));
 
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0);
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0);
-        assert_se(sd_id128_equal(id, id2));
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0);
-        assert_se(!sd_id128_equal(id, id2));
+        if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) {
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0);
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0);
+                assert_se(sd_id128_equal(id, id2));
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0);
+                assert_se(!sd_id128_equal(id, id2));
+        }
 }
 
 TEST(sd_id128_get_invocation) {
@@ -168,6 +170,9 @@ TEST(benchmark_sd_id128_get_machine_app_specific) {
         unsigned iterations = slow_tests_enabled() ? 1000000 : 1000;
         usec_t t, q;
 
+        if (access("/etc/machine-id", F_OK) < 0 && errno == ENOENT)
+                return (void) log_tests_skipped("/etc/machine-id does not exist");
+
         log_info("/* %s (%u iterations) */", __func__, iterations);
 
         sd_id128_t id = ID128_WALDI, id2;