harm when nobody is able to tell whether or not the patch needs to be
backported or can be reverted in case of regression.
+ When fixing a bug which is reproducible, if possible, the contributors are
+ strongly encouraged to write a regression testing VTC file for varnishtest
+ to add to reg-tests directory. More information about varnishtest may be
+ found in README file of reg-tests directory and in doc/regression-testing.txt
+ file.
+
12) Discuss on the mailing list
When submitting changes, please always CC the mailing list address so that
- tests regression test files. No code is affected, no need to upgrade.
+ - reg-tests regression test files for varnishtest. No code is affected, no
+ need to upgrade.
+
- init initialization code, arguments parsing, etc...
- config configuration parser, mostly used when adding new config keywords
--- /dev/null
+ * 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.
+
+
+* 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:
+
+ $ HAPROXY_PROGRAM=<my haproxy program> varnishtest ...
+
+ 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).
+
+