summaryrefslogtreecommitdiff
path: root/src/test/test-hash.c
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 /src/test/test-hash.c
parentdcce98a4bdc302a5efeb3a5c35b6cbf6d16a3efc (diff)
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
Diffstat (limited to 'src/test/test-hash.c')
-rw-r--r--src/test/test-hash.c10
1 files changed, 9 insertions, 1 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);