Description: Don't fail test if cryptsetup fails for disabled module loading Author: Christoph Biedl Date: 2017-11-20 Forwarded: not-needed Bug-Debian: https://bugs.debian.org/881864 On the Debian buildds and porter boxes, the crypt_format call in libcryptsetup fails: socket(AF_ALG, SOCK_SEQPACKET, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol) Reproducer using command line (run as non-root): $ fallocate --length 8m test.img $ echo foo | /sbin/cryptsetup luksFormat test.img - The actual reason is DSA disabled automatic module loading by setting /proc/sys/kernel/modules_disabled to 1, for obvious reaons. Make the tests non-fatal if they fail at that place, by using the special exit code 77. --- a/test.c +++ b/test.c @@ -147,6 +147,10 @@ r = crypt_format(cd, CRYPT_LUKS1, "aes", "xts-plain64", NULL, NULL, 32, NULL); + if (r == -5) { + fprintf(stderr, "crypt_format failed, assuming AF_ALG,SOCK_SEQPACKET failure\n"); + exit(77); + } if (r < 0) error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__); --- a/test-luksmeta +++ b/test-luksmeta @@ -11,7 +11,13 @@ trap 'onexit' EXIT truncate -s 4M $tmp -echo -n foo | /sbin/cryptsetup luksFormat $tmp - +PRE="$(md5sum $tmp)" +echo -n foo | /sbin/cryptsetup luksFormat $tmp - || true +PST="$(md5sum $tmp)" +if [ "$PRE" = "$PST" ] ; then + echo 'cryptsetup failed, assuming AF_ALG,SOCK_SEQPACKET failure' + exit 77 +fi ! ./luksmeta test -d $tmp