-
Notifications
You must be signed in to change notification settings - Fork 157
Design Doc: Shared Apache Nginx System Tests
Jeff Kaufman, 2013-02-11
Almost all functionality tested by the apache_system_test is also supported in ngx_pagespeed. We should pull out generic tests into a separate file, shared_system_test, and then keep separate apache and nginx tests only for things that really are different between the two.
The main obstacle here is the configuration. The current Apache-only test uses a configuration file, debug.conf.template, which looks like:
...
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@> ServerName secondary.example.com DocumentRoot "@@APACHE_DOC_ROOT@@" ModPagespeed on #MEMCACHED ModPagespeedMemcachedServers localhost:6765 #REWRITE RewriteEngine on
...
This file is used as a template, and tests modify this file with variable substitution (8080 for @@APACHE_SECONDARY_PORT@@) and line deletion (keep the line starting with #MEMCACHED only when running the memcached test) in order to get the config file to run against.
The configuration is as much a part of the test as the shell script tests, and it would be good to share that too.
- Rework the Apache test configuration to be generated from a file that will also allow us to generate an Nginx test configuration. Otto has written initial code for this.
- Split apache_system_test.sh into separate Apache-specific and shared files.