tests: Do not run all tests unless in maintainer mode.
authorJustus Winter <justus@g10code.com>
Mon, 7 Aug 2017 09:15:56 +0000 (11:15 +0200)
committerJustus Winter <justus@g10code.com>
Mon, 7 Aug 2017 09:15:56 +0000 (11:15 +0200)
* configure.ac: Leak the maintainer mode flag into 'config.h'.
* tests/gpgscm/ffi.c: Pass it into the scheme environment.
* tests/openpgp/all-tests.scm: Only run tests against non-default
configurations (keyring, extended-key-format) in maintainer mode.
--

Werner is concerned that the tests do take up too much time and asked
me to reduce the runtime of the tests for normal users.

Signed-off-by: Justus Winter <justus@g10code.com>
configure.ac
tests/gpgscm/ffi.c
tests/openpgp/all-tests.scm

index 18e6c09..20a6ed6 100644 (file)
@@ -1541,6 +1541,11 @@ if test "$development_version" = yes; then
             [Defined if this is not a regular release])
 fi
 
+if test "$USE_MAINTAINER_MODE" = "yes"; then
+    AC_DEFINE(MAINTAINER_MODE,1,
+            [Defined if this build is in maintainer mode])
+fi
+
 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
 
 GNUPG_CHECK_GNUMAKE
index 4c03ba6..4c2148a 100644 (file)
@@ -1442,6 +1442,14 @@ ffi_init (scheme *sc, const char *argv0, const char *scriptname,
 #endif
               );
 
+  ffi_define (sc, "*maintainer-mode*",
+#if MAINTAINER_MODE
+              sc->T
+#else
+              sc->F
+#endif
+              );
+
 
   ffi_define (sc, "*stdin*",
               sc->vptr->mk_port_from_file (sc, stdin, port_input));
index 4dd6d6f..e65d527 100644 (file)
    (parse-makefile-expand (in-srcdir "tests" "openpgp" "Makefile.am")
                          (lambda (filename port key) (parse-makefile port key))
                          "XTESTS"))
- (append
-  (map (lambda (name)
-        (test::scm setup
-                   (path-join "tests" "openpgp" name)
-                   (in-srcdir "tests" "openpgp" name))) all-tests)
-  (map (lambda (name)
-        (test::scm setup-use-keyring
-                   (qualify (path-join "tests" "openpgp" name) "use-keyring")
-                   (in-srcdir "tests" "openpgp" name)
-                   "--use-keyring")) all-tests)
-  (map (lambda (name)
-        (test::scm setup-extended-key-format
-                   (qualify (path-join "tests" "openpgp" name) "extended-key-format")
-                   (in-srcdir "tests" "openpgp" name)
-                   "--extended-key-format")) all-tests)))
+
+ (define tests
+   (map (lambda (name)
+         (test::scm setup
+                    (path-join "tests" "openpgp" name)
+                    (in-srcdir "tests" "openpgp" name))) all-tests))
+
+ (when *maintainer-mode*
+       (set! tests
+            (append
+             tests
+             (map (lambda (name)
+                    (test::scm setup-use-keyring
+                               (qualify (path-join "tests" "openpgp" name)
+                                        "use-keyring")
+                               (in-srcdir "tests" "openpgp" name)
+                               "--use-keyring")) all-tests)
+             (map (lambda (name)
+                    (test::scm setup-extended-key-format
+                               (qualify (path-join "tests" "openpgp" name)
+                                        "extended-key-format")
+                               (in-srcdir "tests" "openpgp" name)
+                               "--extended-key-format")) all-tests))))
+
+ tests)