[PATCH 6/7] build: Skip PK-specific tests if algo is disabled

Clemens Lang cllang at redhat.com
Tue Jun 21 19:00:47 CEST 2022


* configure.ac: Define AM_CONDITIONALs for USE_DSA, USE_RSA,
  USE_ELGAMAL, USE_ECC so Makefiles can depend on them.
* tests/Makefile.am: Skip tests that test only one public key algorithm
  if that algorithm is disabled.

--

Skip building and running tests that are specific for a public key
algorithm if that algorithm was disabled using the
--enable-pubkey-ciphers configure option.

Signed-off-by: Clemens Lang <cllang at redhat.com>
---
 configure.ac      |  4 ++++
 tests/Makefile.am | 19 +++++++++++++++----
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 52741db2..946659c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2860,24 +2860,28 @@ if test "$found" = "1" ; then
 fi
 
 LIST_MEMBER(dsa, $enabled_pubkey_ciphers)
+AM_CONDITIONAL(USE_DSA, [test "$found" = "1"])
 if test "$found" = "1" ; then
    GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS dsa.lo"
    AC_DEFINE(USE_DSA, 1, [Defined if this module should be included])
 fi
 
 LIST_MEMBER(rsa, $enabled_pubkey_ciphers)
+AM_CONDITIONAL(USE_RSA, [test "$found" = "1"])
 if test "$found" = "1" ; then
    GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS rsa.lo"
    AC_DEFINE(USE_RSA, 1, [Defined if this module should be included])
 fi
 
 LIST_MEMBER(elgamal, $enabled_pubkey_ciphers)
+AM_CONDITIONAL(USE_ELGAMAL, [test "$found" = "1"])
 if test "$found" = "1" ; then
    GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS elgamal.lo"
    AC_DEFINE(USE_ELGAMAL, 1, [Defined if this module should be included])
 fi
 
 LIST_MEMBER(ecc, $enabled_pubkey_ciphers)
+AM_CONDITIONAL(USE_ECC, [test "$found" = "1"])
 if test "$found" = "1" ; then
    GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS \
                           ecc.lo ecc-curves.lo ecc-misc.lo \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e6953fd3..f65725bc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -23,11 +23,22 @@
 # the driver is only used for cross-compiling.
 tests_bin = \
         version t-secmem mpitests t-sexp t-convert \
-	t-mpi-bit t-mpi-point curves t-lock \
+	t-mpi-bit t-mpi-point t-lock \
 	prime basic keygen pubkey hmac hashtest t-kdf keygrip \
-	fips186-dsa aeswrap pkcs1v2 random dsa-rfc6979 \
-	t-dsa t-ecdsa t-rsa-pss t-rsa-15 \
-	t-ed25519 t-cv25519 t-x448 t-ed448
+	aeswrap random
+
+if USE_RSA
+tests_bin += pkcs1v2 t-rsa-pss t-rsa-15
+endif
+
+if USE_DSA
+tests_bin += fips186-dsa dsa-rfc6979 t-dsa
+endif
+
+if USE_ECC
+tests_bin += curves t-ecdsa t-ed25519 t-cv25519 t-x448 t-ed448
+endif
+
 
 tests_bin_last = benchmark bench-slope
 
-- 
2.35.3




More information about the Gcrypt-devel mailing list