2018-06-19 12:06:07 +00:00
|
|
|
* Regression testing for HAProxy with varnishtest *
|
|
|
|
|
|
|
|
|
|
|
|
This little README file is about how to compile and run varnishtest test case files (VTC files) to test HAProxy for any regression.
|
|
|
|
|
|
|
|
To do so, you will have to compile varnishtest program sources which comes with
|
|
|
|
Varnish cache application. varnishtest is a very useful program which has been
|
|
|
|
developed to test Varnish cache application. varnishtest has been modified in
|
|
|
|
collaboration with Varnish cache conceptor Poul-Henning Kamp to support HAProxy in
|
|
|
|
addition to Varnish cache.
|
2019-01-09 13:42:25 +00:00
|
|
|
See also: doc/regression-testing.txt
|
2018-06-19 12:06:07 +00:00
|
|
|
|
|
|
|
* varnishtest compilation *
|
|
|
|
|
|
|
|
- Clone recent Varnish cache sources which may be found in this GitHub repository
|
|
|
|
https://github.com/varnishcache/varnish-cache:
|
|
|
|
|
|
|
|
$ git clone https://github.com/varnishcache/varnish-cache
|
|
|
|
|
|
|
|
- Compile Varnish cache sources:
|
|
|
|
|
|
|
|
$ cd varnish-cache && ./autogen.sh && ./configure && make
|
|
|
|
|
|
|
|
Then varnishtest program may be found in bin/varnishtest directory.
|
|
|
|
VTC files for Varnish cache may be found in bin/varnishtest/tests directory.
|
|
|
|
The Varnish cache manuals are located in 'man' directory. You will have to
|
|
|
|
have a look at varnishtest(7) and vtc(7) manuals.
|
|
|
|
|
|
|
|
Some information may also be found in doc/regression-testing.txt in HAProxy
|
|
|
|
sources.
|
|
|
|
|
|
|
|
|
|
|
|
* varnishtest execution *
|
|
|
|
|
|
|
|
You must set HAPROXY_PROGRAM environment variable to give the location
|
|
|
|
of the HAProxy program to test to varnishtest:
|
|
|
|
|
2019-01-09 13:42:25 +00:00
|
|
|
$ HAPROXY_PROGRAM=<my haproxy program> varnishtest [-Dno-htx=] ...
|
2018-06-19 12:06:07 +00:00
|
|
|
|
|
|
|
The HAProxy VTC files found in HAProxy sources may be run with the reg-tests
|
|
|
|
Makefile target. You must set the VARNISHTEST_PROGRAM environment variable to
|
|
|
|
give the location of the varnishtest program which has been previously compiled.
|
|
|
|
|
|
|
|
$ VARNISHTEST_PROGRAM=<my varnishtest program> HAPROXY_PROGRAM=<my haproxy program> make reg-tests
|
|
|
|
|
|
|
|
Note that varnishtest is run with -t5 and -l option. -l option is to keep
|
|
|
|
keep varnishtest temporary directory in case of failed test cases. core files
|
|
|
|
may be found in this directory (if enabled by ulimit).
|
|
|
|
|
|
|
|
|
|
|
|
* varnishtest patches for HAProxy VTC files *
|
|
|
|
|
|
|
|
When producing a patch to add a VCT regression testing file to reg-tests directory,
|
|
|
|
please follow these simple rules:
|
|
|
|
|
|
|
|
- Add the commit number on the first line.
|
|
|
|
- Then, copy and paste the commit log.
|
|
|
|
- If your VTC file needs others files, use the same basename as that of the VTC
|
|
|
|
file.
|
|
|
|
- Put these files in a directory with the same name as the code area concerned
|
|
|
|
by the bug ('peers', 'lua', 'acl' etc).
|
|
|
|
|
|
|
|
|