]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
check: allow config tests to pass if necessary
authorJacob Champion <jchampion@apache.org>
Mon, 9 Jan 2017 19:02:00 +0000 (19:02 +0000)
committerJacob Champion <jchampion@apache.org>
Mon, 9 Jan 2017 19:02:00 +0000 (19:02 +0000)
When MPM DSOs are enabled, Apache::Test's invocation of `httpd -V` runs
a full configuration test. To pass, ensure that *all* instances of the
configured prefix path in the test configuration are pointing to a real
directory in check/.

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

Makefile.in

index 878338d142c6c3513c116b25a9215fa950e6e265..1ab4cff406de72e8b4ac031aa8b7bf0e7fac3b16 100644 (file)
@@ -28,7 +28,7 @@ DISTCLEAN_TARGETS  = include/ap_config_auto.h include/ap_config_layout.h \
        build/pkg/pkginfo build/config_vars.sh bsd_converted
 EXTRACLEAN_TARGETS = configure include/ap_config_auto.h.in generated_lists \
        httpd.spec
-PHONY_TARGETS := check check-conf check-include
+PHONY_TARGETS := check check-conf check-dirs check-include
 
 include $(top_builddir)/build/rules.mk
 include $(top_srcdir)/build/program.mk
@@ -328,16 +328,18 @@ check-conf:
                ( \
                    n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \
                    if test $$n_lm -eq 0 -o "x$(MPM_MODULE)$(DSO_MODULES)" = "x"; then \
-                       sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+                       sed -e 's#@@ServerRoot@@#$(top_builddir)/check#g' \
                            -e 's#@@Port@@#$(PORT)#g' \
                            -e 's#@@SSLPort@@#$(SSLPORT)#g' \
+                           -e 's#$(prefix)#$(top_builddir)/check#g' \
                            -e '/@@LoadModule@@/d' \
                            < $$i; \
                    else \
                        sed -n -e '/@@LoadModule@@/q' \
-                           -e 's#@@ServerRoot@@#$(prefix)#g' \
+                           -e 's#@@ServerRoot@@#$(top_builddir)/check#g' \
                            -e 's#@@Port@@#$(PORT)#g' \
                            -e 's#@@SSLPort@@#$(SSLPORT)#g' \
+                           -e 's#$(prefix)#$(top_builddir)/check#g' \
                            -e 'p' \
                            < $$i; \
                        if echo " $(DSO_MODULES) "|$(EGREP) " cgi " > /dev/null ; then \
@@ -379,9 +381,10 @@ check-conf:
                        done; \
                        sed -e '1,/@@LoadModule@@/d' \
                            -e '/@@LoadModule@@/d' \
-                           -e 's#@@ServerRoot@@#$(prefix)#g' \
+                           -e 's#@@ServerRoot@@#$(top_builddir)/check#g' \
                            -e 's#@@Port@@#$(PORT)#g' \
                            -e 's#@@SSLPort@@#$(SSLPORT)#g' \
+                           -e 's#$(prefix)#$(top_builddir)/check#g' \
                            < $$i; \
                    fi \
                ) > $(top_builddir)/check/conf/$$i; \
@@ -393,6 +396,13 @@ check-conf:
            done ; \
        done ;
 
+# Sometimes (e.g. when MPM DSOs are enabled) the test suite runs a full
+# configuration check on our in-tree build. To pass, we have to have all of the
+# correct directories, even though they won't be used.
+check-dirs:
+       @mkdir -p check/htdocs
+       @mkdir -p check/logs
+
 # A version of apxs with the PREFIX overridden to point inside the build tree.
 check/apxs:
        mkdir -p check
@@ -408,7 +418,7 @@ check/build/config_vars.mk: build/config_vars.out
        echo "sbindir = $(top_builddir)" >> $@
 
 # Run the Apache::Test suite if it has been configured with --with-test-suite.
-check: check-include check-conf check/build/config_vars.mk check/apxs
+check: check-include check-dirs check-conf check/build/config_vars.mk check/apxs
        @if test "x$(TEST_SUITE_LOCATION)" = "xno"; then \
            echo 'Re-run configure with the --with-test-suite option to enable in-tree tests.'; \
            false; \