summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pitt <martin@piware.de>2017-03-02 23:42:01 +0100
committerMartin Pitt <martin@piware.de>2017-03-03 16:45:44 +0100
commit2e914f34eb9a4a56e3eb70dc0b4345588c9016e7 (patch)
tree19a6a06102d652450b8b43417f7dac45d2548f04
parentdcce98a4bdc302a5efeb3a5c35b6cbf6d16a3efc (diff)
downloadsystemd-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.c10
-rw-r--r--src/test/test-id128.c15
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);