]> granicus.if.org Git - apache/commitdiff
Add a --with-test-suite option for "in-tree" testing
authorJacob Champion <jchampion@apache.org>
Wed, 4 Jan 2017 23:14:27 +0000 (23:14 +0000)
committerJacob Champion <jchampion@apache.org>
Wed, 4 Jan 2017 23:14:27 +0000 (23:14 +0000)
Step one. It's not actually "in-tree" yet, since it requires running
`make install` first, but at least it gives us a `make check`.

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

Makefile.in
configure.in

index b166700b6f005db335f53713dd6c9d934f1705a0..a568b765e160f5b02ffe24e8e7e564c865fe26e2 100644 (file)
@@ -295,5 +295,24 @@ update-log-tags update-log-msg-tags:
        find server modules os -name \*.c|xargs perl \
                docs/log-message-tags/update-log-msg-tags
 
+# TODO: don't require an install of the server binaries to run the tests
+APXS_LOCATION := $(DESTDIR)$(bindir)/apxs
+
+check:
+       @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
+       @if ! test -f "$(APXS_LOCATION)"; then \
+           echo "Can't find apxs at '$(APXS_LOCATION)'"; \
+           echo "Unfortunately the 'in-tree' tests don't run yet without first running 'make install'. Sorry."; \
+           false; \
+       fi
+       cd "$(TEST_SUITE_LOCATION)" && \
+           perl Makefile.PL -apxs "$(APXS_LOCATION)" && \
+           ./t/TEST -clean && \
+           ./t/TEST -config && \
+           ./t/TEST
+
 # XXX: This looks awfully platform-specific [read: bad form and style]
 include $(top_srcdir)/os/os2/core.mk
index 19ce9e73741c8ca0caba3e3fe4fe0bdabbeed9b7..db26629e9918dd212b98482bc091ff503ea9e1db 100644 (file)
@@ -886,6 +886,21 @@ AC_ARG_ENABLE(bsd-makefiles,APACHE_HELP_STRING(--enable-bsd-makefiles,use BSD Ma
   FORCE_BSD_MAKEFILE="auto"
 ])
 
+AC_ARG_WITH([test-suite],
+    APACHE_HELP_STRING([--with-test-suite=PATH], [enable in-tree 'make check' with the given Apache::Test suite location]),
+    [
+        if test "x$withval" = "xyes"; then
+            AC_MSG_ERROR([option --with-test-suite requires a directory]);
+        else
+            test -f "$withval/Makefile.PL" || AC_MSG_WARN([--with-test-suite directory $withval does not appear to contain the expected Makefile.PL])
+            TEST_SUITE_LOCATION="$withval"
+        fi
+    ],
+    [ TEST_SUITE_LOCATION="no" ]
+)
+
+APACHE_SUBST(TEST_SUITE_LOCATION)
+
 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
 APACHE_FAST_OUTPUT(os/Makefile server/Makefile)
 APACHE_FAST_OUTPUT(support/Makefile)