]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: enable softhsmv2 test suite by default
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 27 Feb 2016 20:54:51 +0000 (21:54 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 27 Feb 2016 20:59:41 +0000 (21:59 +0100)
Also do not fatally fail with known softhsmv2 bugs.

tests/suite/pkcs11-chainverify.c
tests/suite/pkcs11-is-known.c
tests/suite/softhsm.h
tests/suite/testpkcs11.softhsm
tests/utils.c
tests/utils.h

index 7b5d4ce7556ba9d55cd924ff10a90e95f3f1532c..ac2148b219bfb43bc5f76329fdfd2303ee3238b8 100644 (file)
@@ -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);
index 3f4c4a8b372b98c4899258527e6c729bcbb5a538..fc070032c2dfda8311ac8bf7811fa8f91da87bfa 100644 (file)
@@ -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));
                }
        }
 
index 7ad9860a70ae9daa020a55a581c84a0130800818..3ac8167d7402c4441e26f730ef643bf5de633076 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <sys/stat.h>
 
-#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"
index a349af6d6ef955e3294f9001f28edacbc773599b..3ec5076318529f7468e28128c0b02103ba0b3070 100755 (executable)
@@ -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
 
index a9071c1d08f16b3e18880bacab1ce658b527cff8..1b0e211f0649b3a636b604c26f530382e40f65de 100644 (file)
@@ -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;
index 88e0d333cd49b97ababd054a2baae02a82287bc4..ca21d57656ac09f07372f61e9dba05feb48d6f93 100644 (file)
@@ -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)));