build: New configure option --enable-all-tests.
authorWerner Koch <wk@gnupg.org>
Tue, 8 Aug 2017 15:28:25 +0000 (17:28 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 8 Aug 2017 15:49:53 +0000 (17:49 +0200)
* configure.ac: New option --enable-all-tests.
* tests/gpgscm/ffi.c (ffi_init): New gloabl var *run-all-tests*.
* tests/openpgp/all-tests.scm (all-tests): Use that var instead
of *maintainer-mode*.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add --enable-all-tests.
--

It is better to have a separate option to run all tests than to put
this on top of --enable-maintainer-mode.  This way we can also make
sure to run all tests during "make distcheck".

Signed-off-by: Werner Koch <wk@gnupg.org>
Makefile.am
README
configure.ac
tests/gpgscm/ffi.c
tests/openpgp/all-tests.scm

index e31d67a..b972cff 100644 (file)
@@ -20,7 +20,7 @@
 
 ACLOCAL_AMFLAGS = -I m4
 AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gnupg-builddir-envvar \
-  --enable-symcryptrun --enable-g13 \
+  --enable-all-tests --enable-symcryptrun --enable-g13 \
   --enable-gpg2-is-gpg --enable-gpgtar --enable-wks-tools --disable-ntbtls
 
 GITLOG_TO_CHANGELOG=gitlog-to-changelog
diff --git a/README b/README
index 9ade9fd..a9a3eb0 100644 (file)
--- a/README
+++ b/README
 
     ./configure
     make
+    make check
     make install
 
-  (Before doing install you might need to become root.)
+  The "make check" is optional but highly recommended.  To run even
+  more tests you may add "--enable-all-tests" to the configure run.
+  Before running the "make install" you might need to become root.
 
   If everything succeeds, you have a working GnuPG with support for
   OpenPGP, S/MIME, ssh-agent, and smartcards.  Note that there is no
index 20a6ed6..3ff5865 100644 (file)
@@ -1668,6 +1668,20 @@ AC_ARG_ENABLE(optimization,
                    fi])
 
 #
+# Configure option --enable-all-tests
+#
+AC_MSG_CHECKING([whether "make check" shall run all tests])
+AC_ARG_ENABLE(all-tests,
+              AC_HELP_STRING([--enable-all-tests],
+                             [let "make check" run all tests]),
+              run_all_tests=$enableval, run_all_tests=no)
+AC_MSG_RESULT($run_all_tests)
+if test "$run_all_tests" = "yes"; then
+    AC_DEFINE(RUN_ALL_TESTS,1,
+            [Defined if "make check" shall run all tests])
+fi
+
+#
 # We do not want support for the GNUPG_BUILDDIR environment variable
 # in a released version.  However, our regression tests suite requires
 # this and thus we build with support for it during "make distcheck".
index 4c2148a..dde5b52 100644 (file)
@@ -1450,6 +1450,14 @@ ffi_init (scheme *sc, const char *argv0, const char *scriptname,
 #endif
               );
 
+  ffi_define (sc, "*run-all-tests*",
+#if RUN_ALL_TESTS
+              sc->T
+#else
+              sc->F
+#endif
+              );
+
 
   ffi_define (sc, "*stdin*",
               sc->vptr->mk_port_from_file (sc, stdin, port_input));
index e65d527..d687fe4 100644 (file)
@@ -58,7 +58,7 @@
                     (path-join "tests" "openpgp" name)
                     (in-srcdir "tests" "openpgp" name))) all-tests))
 
- (when *maintainer-mode*
+ (when *run-all-tests*
        (set! tests
             (append
              tests