Skip to content

Commit 0d6a1a3

Browse files
frozencemeterysimo5
authored andcommitted
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 <rharwood@redhat.com> Reviewed-by: Isaac Boukris <iboukris@gmail.com> Closes #118
1 parent 4e80ca6 commit 0d6a1a3

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

tests/httpd.conf

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,12 @@ LoadModule filter_module modules/mod_filter.so
3838
LoadModule headers_module modules/mod_headers.so
3939
LoadModule include_module modules/mod_include.so
4040
LoadModule info_module modules/mod_info.so
41-
LoadModule log_config_module modules/mod_log_config.so
42-
LoadModule logio_module modules/mod_logio.so
41+
<IfModule !log_config_module>
42+
LoadModule log_config_module modules/mod_log_config.so
43+
</IfModule>
44+
<IfModule !logio_module>
45+
LoadModule logio_module modules/mod_logio.so
46+
</IfModule>
4347
LoadModule macro_module modules/mod_macro.so
4448
LoadModule mime_magic_module modules/mod_mime_magic.so
4549
LoadModule mime_module modules/mod_mime.so
@@ -59,9 +63,13 @@ LoadModule status_module modules/mod_status.so
5963
LoadModule substitute_module modules/mod_substitute.so
6064
LoadModule suexec_module modules/mod_suexec.so
6165
LoadModule unique_id_module modules/mod_unique_id.so
62-
LoadModule unixd_module modules/mod_unixd.so
66+
<IfModule !unixd_module>
67+
LoadModule unixd_module modules/mod_unixd.so
68+
</IfModule>
6369
LoadModule userdir_module modules/mod_userdir.so
64-
LoadModule version_module modules/mod_version.so
70+
<IfModule !version_module>
71+
LoadModule version_module modules/mod_version.so
72+
</IfModule>
6573
LoadModule vhost_alias_module modules/mod_vhost_alias.so
6674
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
6775
LoadModule proxy_module modules/mod_proxy.so

tests/magtests.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,15 @@ def setup_http(testdir, wrapenv):
216216
os.mkdir(os.path.join(httpdir, 'conf.d'))
217217
os.mkdir(os.path.join(httpdir, 'html'))
218218
os.mkdir(os.path.join(httpdir, 'logs'))
219-
os.symlink('/etc/httpd/modules', os.path.join(httpdir, 'modules'))
219+
220+
distro = "Fedora"
221+
moddir = "/etc/httpd/modules"
222+
if not os.path.exists(moddir):
223+
distro = "Debian"
224+
moddir = "/usr/lib/apache2/modules"
225+
if not os.path.exists(moddir):
226+
raise ValueError("Could not find Apache module directory!")
227+
os.symlink(moddir, os.path.join(httpdir, 'modules'))
220228

221229
shutil.copy('src/.libs/mod_auth_gssapi.so', httpdir)
222230

@@ -236,8 +244,9 @@ def setup_http(testdir, wrapenv):
236244
'MALLOC_PERTURB_': str(random.randint(0, 32767) % 255 + 1)}
237245
httpenv.update(wrapenv)
238246

239-
httpproc = subprocess.Popen(['httpd', '-DFOREGROUND', '-f', config],
240-
env=httpenv, preexec_fn=os.setsid)
247+
httpd = "httpd" if distro == "Fedora" else "apache2"
248+
httpproc = subprocess.Popen([httpd, '-DFOREGROUND', '-f', config],
249+
env=httpenv, preexec_fn=os.setsid)
241250

242251
return httpproc
243252

0 commit comments

Comments
 (0)