blob: e5b422201a7bdd1f5d4cd7f43565d723796bc460 [file] [log] [blame]
This is a basic test of the virtual host functionality.
At present it *does not test*:
- ServerPath
- <VirtualHost> DNS lookups (specifically, multiple A records is interesting)
It does test the basic gear that uses ip addresses and ports to decide what
ip-vhost or set of name-vhosts are to be considered. It tests _default_
behaviour with both explicit and wildcard ports. It tests the precedence
behaviour -- i.e. earlier vhosts have higher precedence than later vhosts.
It has a basic ServerAlias test.
It also tests some error conditions.
These tests are "white box" tests, i.e. I know how the code is written and
I'm testing very specific cases within the code. Black box tests would
be nice too.
To use:
perl -pi.orig -e "s#/home/dgaudet/ap/vhtest#`pwd`#" conf/*.conf
./runtest /path/to/httpd
Or to run a specific test:
./runtest /path/to/httpd test3
The output looks something like:
127.0.0.1:8080 '' 'vhost1' : passed
127.0.0.1:8080 'vhost1:8080' 'vhost1' : passed
127.0.0.1:8080 'vhost2:8080' 'vhost1' : passed
127.0.0.1:8081 '' 'vhost2' : passed
127.0.0.1:8081 'vhost2:8081' 'vhost2' : passed
127.0.0.1:8081 'vhost1:8081' 'vhost2' : passed
127.0.0.2:8080 '' 'vhost3' : passed
The first column is the ipaddr:port connected to. The second column is
the Host: header sent ('' means no Host: header sent). The third column
is the vhost expected.
It probably only works on Linux because it uses the loopback interface for
all tests -- and Linux lo0 responds to *all* addresses in 127/8 rather than
just 127.0.0.1. You'd probably have to add the following aliases to other
boxes:
127.0.0.2
127.0.0.3
127.0.0.4
127.0.0.5
Dean