From daf616b74b26b11ed086e5480f2b9f7a638d5642 Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Tue, 20 Dec 2016 15:32:04 -0500 Subject: [PATCH 1/2] Make test suite runnable on Debian-likes This is mostly gunk around how the webserver is called and what is built-in versus a module. I have mostly added templating logic for commenting pieces of the conf file. Signed-off-by: Robbie Harwood --- tests/httpd.conf | 16 ++++++++++++---- tests/magtests.py | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/tests/httpd.conf b/tests/httpd.conf index d0194ed..134a84a 100644 --- a/tests/httpd.conf +++ b/tests/httpd.conf @@ -38,8 +38,12 @@ LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule include_module modules/mod_include.so LoadModule info_module modules/mod_info.so -LoadModule log_config_module modules/mod_log_config.so -LoadModule logio_module modules/mod_logio.so + + LoadModule log_config_module modules/mod_log_config.so + + + LoadModule logio_module modules/mod_logio.so + LoadModule macro_module modules/mod_macro.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule mime_module modules/mod_mime.so @@ -59,9 +63,13 @@ LoadModule status_module modules/mod_status.so LoadModule substitute_module modules/mod_substitute.so LoadModule suexec_module modules/mod_suexec.so LoadModule unique_id_module modules/mod_unique_id.so -LoadModule unixd_module modules/mod_unixd.so + + LoadModule unixd_module modules/mod_unixd.so + LoadModule userdir_module modules/mod_userdir.so -LoadModule version_module modules/mod_version.so + + LoadModule version_module modules/mod_version.so + LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule proxy_module modules/mod_proxy.so diff --git a/tests/magtests.py b/tests/magtests.py index 074e2f0..3a29365 100755 --- a/tests/magtests.py +++ b/tests/magtests.py @@ -216,7 +216,15 @@ def setup_http(testdir, wrapenv): os.mkdir(os.path.join(httpdir, 'conf.d')) os.mkdir(os.path.join(httpdir, 'html')) os.mkdir(os.path.join(httpdir, 'logs')) - os.symlink('/etc/httpd/modules', os.path.join(httpdir, 'modules')) + + distro = "Fedora" + moddir = "/etc/httpd/modules" + if not os.path.exists(moddir): + distro = "Debian" + moddir = "/usr/lib/apache2/modules" + if not os.path.exists(moddir): + raise ValueError("Could not find Apache module directory!") + os.symlink(moddir, os.path.join(httpdir, 'modules')) shutil.copy('src/.libs/mod_auth_gssapi.so', httpdir) @@ -236,8 +244,9 @@ def setup_http(testdir, wrapenv): 'MALLOC_PERTURB_': str(random.randint(0, 32767) % 255 + 1)} httpenv.update(wrapenv) - httpproc = subprocess.Popen(['httpd', '-DFOREGROUND', '-f', config], - env=httpenv, preexec_fn=os.setsid) + httpd = "httpd" if distro == "Fedora" else "apache2" + httpproc = subprocess.Popen([httpd, '-DFOREGROUND', '-f', config], + env=httpenv, preexec_fn=os.setsid) return httpproc From 4d031fe6f8b58dfae1f57aa6fbc6c23d1f893a80 Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Thu, 22 Dec 2016 16:32:12 -0500 Subject: [PATCH 2/2] Run the test suite using `make check` `make test` continues to be provided for compatibility. Signed-off-by: Robbie Harwood --- Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 0365c54..094ffb6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,5 +2,7 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src/asn1c src -test: all +check: all $(srcdir)/tests/magtests.py + +test: check