Skip to content
This repository was archived by the owner on Apr 10, 2025. It is now read-only.

Design Doc: Shared Apache Nginx System Tests

Jeff Kaufman edited this page Jan 9, 2017 · 1 revision

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.

Planned Changes

  • 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.
Clone this wiki locally