diff options
author | Martin Pitt <martin@piware.de> | 2017-03-02 23:42:01 +0100 |
---|---|---|
committer | Martin Pitt <martin@piware.de> | 2017-03-03 16:45:44 +0100 |
commit | 2e914f34eb9a4a56e3eb70dc0b4345588c9016e7 (patch) | |
tree | 19a6a06102d652450b8b43417f7dac45d2548f04 | |
parent | dcce98a4bdc302a5efeb3a5c35b6cbf6d16a3efc (diff) | |
download | systemd-2e914f34eb9a4a56e3eb70dc0b4345588c9016e7.tar.gz systemd-2e914f34eb9a4a56e3eb70dc0b4345588c9016e7.tar.bz2 systemd-2e914f34eb9a4a56e3eb70dc0b4345588c9016e7.zip |
test: skip instead of fail if crypto kmods are not available
Package build machines may have module loading disabled, thus AF_ALG
sockets are not available. Skip the tests that cover those (khash and
id128) instead of failing them in this case.
Fixes #5524
-rw-r--r-- | src/test/test-hash.c | 10 | ||||
-rw-r--r-- | src/test/test-id128.c | 15 |
2 files changed, 19 insertions, 6 deletions
diff --git a/src/test/test-hash.c b/src/test/test-hash.c index 1972b94cfe..02d1cfaee3 100644 --- a/src/test/test-hash.c +++ b/src/test/test-hash.c @@ -17,6 +17,8 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include <stdio.h> + #include "alloc-util.h" #include "log.h" #include "string-util.h" @@ -25,12 +27,18 @@ int main(int argc, char *argv[]) { _cleanup_(khash_unrefp) khash *h = NULL, *copy = NULL; _cleanup_free_ char *s = NULL; + int r; log_set_max_level(LOG_DEBUG); assert_se(khash_new(&h, NULL) == -EINVAL); assert_se(khash_new(&h, "") == -EINVAL); - assert_se(khash_new(&h, "foobar") == -EOPNOTSUPP); + r = khash_new(&h, "foobar"); + if (r == -EAFNOSUPPORT) { + puts("khash not supported on this kernel, skipping"); + return EXIT_TEST_SKIP; + } + assert_se(r == -EOPNOTSUPP); assert_se(khash_new(&h, "sha256") >= 0); assert_se(khash_get_size(h) == 32); diff --git a/src/test/test-id128.c b/src/test/test-id128.c index e8c4c3e550..e5f45206f1 100644 --- a/src/test/test-id128.c +++ b/src/test/test-id128.c @@ -154,11 +154,16 @@ int main(int argc, char *argv[]) { 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)); + r = 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); + if (r == -EAFNOSUPPORT) { + log_info("khash not supported on this kernel, skipping sd_id128_get_machine_app_specific() checks"); + } else { + assert_se(r >= 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)); + } /* Query the invocation ID */ r = sd_id128_get_invocation(&id); |