]> granicus.if.org Git - apache/commitdiff
* configure.in, Makefile.in: Handle no-test-suite case through
authorJoe Orton <jorton@apache.org>
Thu, 7 Jun 2018 13:17:27 +0000 (13:17 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 7 Jun 2018 13:17:27 +0000 (13:17 +0000)
  check-no rule.  Only regenerate the test suite on repeated
  "make check" run if a header file has changed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1833122 13f79535-47bb-0310-9956-ffa450edef68

Makefile.in
configure.in

index 802aaa6390e275554ff91065c97ba4773e847194..7285cf00b8a01d6caf2ad4c073e78a759cef7af6 100644 (file)
@@ -430,17 +430,27 @@ check/build/config_vars.mk: build/config_vars.out
        echo "sbindir = $(top_builddir)/check/bin" >> $@
        echo "bindir = $(top_builddir)/check/bin" >> $@
 
-# Run the Apache::Test suite if it has been configured with --with-test-suite.
-check: check-include check-dirs check-conf check/build/config_vars.mk check-binaries
-       @if test "x$(TEST_SUITE_LOCATION)" = "xno"; then \
-           echo 'Re-run configure with the --with-test-suite option to enable in-tree tests.'; \
-           false; \
-       fi
+# Generate config & modules etc from scratch any time a header file is
+# touched, so e.g. we don't get MMN mismatch against the modules built
+# in .../c-modules.
+$(TEST_SUITE_LOCATION)/Makefile: $(TEST_SUITE_LOCATION)/Makefile.PL $(INSTALL_HEADERS)
        cd "$(TEST_SUITE_LOCATION)" && \
            perl Makefile.PL -apxs "$(top_builddir)/check/bin/apxs" && \
            ./t/TEST -clean && \
-           ./t/TEST -config && \
-           ./t/TEST $(TESTS)
+           ./t/TEST -config
+
+check-make: $(TEST_SUITE_LOCATION)/Makefile
+
+check-no:
+       @echo 'Re-run configure with the --with-test-suite option to enable in-tree tests.'
+       @false
+
+check-yes: check-include check-dirs check-conf check/build/config_vars.mk \
+       check-binaries $(TEST_SUITE_LOCATION)/Makefile
+       cd $(TEST_SUITE_LOCATION) && ./t/TEST $(TESTS)
+
+# Run the Apache::Test suite if it has been configured with --with-test-suite.
+check: check-$(WITH_TEST_SUITE)
 
 #
 # Unit Test Suite
index 4315aa1cc4474bf665fe65f25916777a9495e78c..0eac9e0d6e147f44ae5754e189d83cf95c267472 100644 (file)
@@ -923,12 +923,14 @@ AC_ARG_WITH([test-suite],
         else
             test -f "$withval/Makefile.PL" || AC_MSG_ERROR([--with-test-suite directory $withval does not contain the expected Makefile.PL])
             TEST_SUITE_LOCATION="$withval"
+            WITH_TEST_SUITE=yes
         fi
     ],
-    [ TEST_SUITE_LOCATION="no" ]
+    [ WITH_TEST_SUITE=no ]
 )
 
 APACHE_SUBST(TEST_SUITE_LOCATION)
+APACHE_SUBST(WITH_TEST_SUITE)
 
 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
 APACHE_FAST_OUTPUT(os/Makefile server/Makefile)