From: Nikos Mavrogiannopoulos Date: Sat, 27 Feb 2016 20:54:51 +0000 (+0100) Subject: tests: enable softhsmv2 test suite by default X-Git-Tag: gnutls_3_5_0~306 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=72fcf7dfe9f0388ea3ea9a03078b5ba1c183adcd;p=thirdparty%2Fgnutls.git tests: enable softhsmv2 test suite by default Also do not fatally fail with known softhsmv2 bugs. --- diff --git a/tests/suite/pkcs11-chainverify.c b/tests/suite/pkcs11-chainverify.c index 7b5d4ce755..ac2148b219 100644 --- a/tests/suite/pkcs11-chainverify.c +++ b/tests/suite/pkcs11-chainverify.c @@ -213,8 +213,8 @@ void doit(void) GNUTLS_PKCS11_OBJ_FLAG_MARK_CA| GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO); if (ret < 0) { - fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret)); - exit(1); + /* FIXME: this is a known softhsm v2.0.0 bug - remove this once our testsuite is updated */ + fail_ignore("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret)); } gnutls_x509_trust_list_init(&tl, 0); diff --git a/tests/suite/pkcs11-is-known.c b/tests/suite/pkcs11-is-known.c index 3f4c4a8b37..fc070032c2 100644 --- a/tests/suite/pkcs11-is-known.c +++ b/tests/suite/pkcs11-is-known.c @@ -381,8 +381,8 @@ void doit(void) snprintf(name, sizeof(name), "test-ca%d", j); ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, certs[j], name, GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED|GNUTLS_PKCS11_OBJ_FLAG_MARK_CA|GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO); if (ret < 0) { - fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret)); - exit(1); + /* FIXME: this is a known softhsm v2.0.0 bug - remove this once our testsuite is updated */ + fail_ignore("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret)); } } diff --git a/tests/suite/softhsm.h b/tests/suite/softhsm.h index 7ad9860a70..3ac8167d74 100644 --- a/tests/suite/softhsm.h +++ b/tests/suite/softhsm.h @@ -23,7 +23,7 @@ #include -#define SOFTHSM_V1 +#define SOFTHSM_V2 #ifdef SOFTHSM_V1 # define SOFTHSM_URL "pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=test" @@ -38,8 +38,8 @@ # define SOFTHSM_URL "pkcs11:model=SoftHSM%20v2;manufacturer=SoftHSM%20project;token=test" # define LIB1 "/usr/lib64/pkcs11/libsofthsm2.so" # define LIB2 "/usr/lib/pkcs11/libsofthsm2.so" -# define LIB3 "/usr/lib/softhsm/libsofthsm.so" -# define LIB4 "/usr/lib64/softhsm/libsofthsm.so" +# define LIB3 "/usr/lib/softhsm/libsofthsm2.so" +# define LIB4 "/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so" # define SOFTHSM_BIN1 "/usr/bin/softhsm2-util" # define SOFTHSM_BIN2 "/usr/local/bin/softhsm2-util" # define SOFTHSM_ENV "SOFTHSM2_CONF" diff --git a/tests/suite/testpkcs11.softhsm b/tests/suite/testpkcs11.softhsm index a349af6d6e..3ec5076318 100755 --- a/tests/suite/testpkcs11.softhsm +++ b/tests/suite/testpkcs11.softhsm @@ -41,7 +41,6 @@ init_card () { if test $? = 0; then echo "softhsm2-util 2.0.0 is broken" export BROKEN_SOFTHSM2=1 - exit 77 fi fi diff --git a/tests/utils.c b/tests/utils.c index a9071c1d08..1b0e211f06 100644 --- a/tests/utils.c +++ b/tests/utils.c @@ -66,6 +66,19 @@ void fail(const char *format, ...) exit(1); } +void fail_ignore(const char *format, ...) +{ + char str[1024]; + va_list arg_ptr; + + va_start(arg_ptr, format); + vsnprintf(str, sizeof(str), format, arg_ptr); + va_end(arg_ptr); + fputs(str, stderr); + error_count++; + exit(77); +} + void sec_sleep(int sec) { int ret; diff --git a/tests/utils.h b/tests/utils.h index 88e0d333cd..ca21d57656 100644 --- a/tests/utils.h +++ b/tests/utils.h @@ -50,6 +50,8 @@ extern const char *pkcs3; extern void fail(const char *format, ...) __attribute__ ((format(printf, 1, 2))); +extern void fail_ignore(const char *format, ...) + __attribute__ ((format(printf, 1, 2))); extern void success(const char *format, ...) __attribute__ ((format(printf, 1, 2)));