mirror of
				https://git.haproxy.org/git/haproxy.git/
				synced 2025-10-29 23:51:01 +01:00 
			
		
		
		
	VTest2 (https://github.com/vtest/VTest2) was released and is a remplacement for VTest. VTest was archived. So let's use the new version now. If this commit is backported, the 2 following commits must also be backported: * 2808e3577 ("REGTESTS: Explicitly allow failing shell commands in some scripts") * 82c291124 ("REGTESTS: Make the script testing conditional set-var compatible with Vtest2")
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|                  * Regression testing for HAProxy with VTest *
 | |
| 
 | |
| 
 | |
| This little README file is about how to compile and run vtest test case files (VTC files)
 | |
| to test HAProxy for any regression.
 | |
| 
 | |
| To do so, you will have to compile vtest program sources which depends on
 | |
| Varnish cache application sources. vtest, formerly varnishtest, is a very useful
 | |
| program which has been developed to test Varnish cache application. vtest has been
 | |
| modified in collaboration with Varnish cache conceptor Poul-Henning Kamp to support
 | |
| HAProxy in addition to Varnish cache.
 | |
| 
 | |
| See also: doc/regression-testing.txt
 | |
| 
 | |
| * vtest compilation *
 | |
| 
 | |
|     $ git clone https://github.com/vtest/VTest2
 | |
| 
 | |
|     $ cd VTest
 | |
| 
 | |
|     $ make vtest
 | |
| 
 | |
|   Then vtest program may be found at the root directory of vtest sources directory.
 | |
|   The Varnish cache manuals are located in 'man' directory of Varnish cache sources
 | |
|   directory. You will have to have a look at varnishtest(7) and vtc(7) manuals to
 | |
|   use vtest.
 | |
| 
 | |
|   Some information may also be found in doc/regression-testing.txt in HAProxy
 | |
|   sources.
 | |
| 
 | |
|   Note that VTC files for Varnish cache may be found in bin/varnishtest/tests directory
 | |
|   of Varnish cache sources directory which may be found here:
 | |
|   https://github.com/varnishcache/varnish-cache
 | |
| 
 | |
| 
 | |
| * vtest execution *
 | |
| 
 | |
|   You must set HAPROXY_PROGRAM environment variable to give the location
 | |
|   of the HAProxy program to test to vtest:
 | |
| 
 | |
|     $ HAPROXY_PROGRAM=<my haproxy program> vtest ...
 | |
| 
 | |
|   The HAProxy VTC files found in HAProxy sources may be run with the reg-tests
 | |
|   Makefile target. You must set the VTEST_PROGRAM environment variable to
 | |
|   give the location of the vtest program which has been previously compiled.
 | |
| 
 | |
|     $ VTEST_PROGRAM=<my vtest program> make reg-tests
 | |
| 
 | |
|   "reg-tests" Makefile target run scripts/run-regtest.sh script.
 | |
|   To get more information about this script run it with --help option.
 | |
| 
 | |
|   Note that vtest is run with -t10 and -l option. -l option is to keep
 | |
|   keep vtest temporary directory in case of failed test cases. core files
 | |
|   may be found in this directory (if enabled by ulimit).
 | |
| 
 | |
| 
 | |
| * vtest patches for HAProxy VTC files *
 | |
| 
 | |
|   When producing a patch to add a VTC regression testing file to reg-tests directory,
 | |
|   please follow these simple rules:
 | |
| 
 | |
|     - If your VTC file needs others files, if possible, 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).
 | |
| 
 | |
| Please note that most tests use a common set of timeouts defined by the
 | |
| environment variable HAPROXY_TEST_TIMEOUT. As much as possible, for regular I/O
 | |
| (i.e. not errors), please try to reuse that setting so that the value may
 | |
| easily be adjusted when running in some particularly slow environments, or be
 | |
| shortened to fail faster on developers' machines.
 |