Provided by: varnish_3.0.5-2ubuntu0.1_amd64 bug

NAME

       varnishtest - Test program for Varnish

SYNOPSIS

          varnishtest [-iklLqv] [-n iter] [-D name=val] [-j jobs] [-t duration] file [file ...]

DESCRIPTION

       The varnishtest program is a script driven program used to test the Varnish Cache.

       The  varnishtest program, when started and given one or more script files, can create a number of threads
       representing backends, some threads representing clients, and a varnishd process. This is  then  used  to
       simulate a transaction to provoke a specific behavior.

       The following options are available:

       -D name=val      Define macro for use in scripts

       -i     Find varnishd in build tree

       -j jobs
              Run this many tests in parallel

       -k     Continue on test failure

       -l     Leave /tmp/vtc.* if test fails

       -L     Always leave /tmp/vtc.*

       -n iterations
              Run tests this many times

       -q     Quiet mode: report only failures

       -t duration
              Time tests out after this long

       -v     Verbose mode: always report test log

       -h     Show help

       file             File to use as a script

       Macro definitions that can be overridden.

       varnishd         Path to varnishd to use [varnishd]

SCRIPTS

       The  script  language  used  for  Varnishtest  is not a strictly defined language. The best reference for
       writing scripts is the  varnishtest  program  itself.  In  the  Varnish  source  code  repository,  under
       bin/varnishtest/tests/, all the regression tests for Varnish are kept.

       An example:

          varnishtest "#1029"

          server s1 {
                  rxreq
                  expect req.url == "/bar"
                  txresp -gzipbody {[bar]}

                  rxreq
                  expect req.url == "/foo"
                  txresp -body {<h1>FOO<esi:include src="/bar"/>BARF</h1>}

          } -start

          varnish v1 -vcl+backend {
                  sub vcl_fetch {
                          set beresp.do_esi = true;
                          if (req.url == "/foo") {
                                  set beresp.ttl = 0s;
                          } else {
                                  set beresp.ttl = 10m;
                          }
                  }
          } -start

          client c1 {
                  txreq -url "/bar" -hdr "Accept-Encoding: gzip"
                  rxresp
                  gunzip
                  expect resp.bodylen == 5

                  txreq -url "/foo" -hdr "Accept-Encoding: gzip"
                  rxresp
                  expect resp.bodylen == 21
          } -run

       When run, the above script will simulate a server (s1) that expects two different requests. It will start
       a  varnish  server  (v1)  and  add the backend definition to the VCL specified (-vcl+backend). Finally it
       starts the c1-client, which is a single client sending two requests.

SEE ALSO

       • varnishtest source code repository with tests

       • varnishhist(1)

       • varnishlog(1)

       • varnishncsa(1)

       • varnishstat(1)

       • varnishtop(1)

       • vcl(7)

HISTORY

       The varnishtest program was developed by  Poul-Henning  Kamp  ⟨phk@phk.freebsd.dk⟩  in  cooperation  with
       Varnish  Software  AS.  This manual page was originally written by Stig Sandbeck Mathisen ⟨ssm@linpro.no⟩
       and updated by Kristian Lyngstøl (kristian@varnish-cache.org).

COPYRIGHT

       This document is licensed under the same licence as Varnish itself. See LICENCE for details.

       • Copyright (c) 2007-2011 Varnish Software AS

AUTHOR

       Stig Sandbeck Mathisen, Kristian Lyngstøl

1.1                                                2011-11-15                                     VARNISHTEST(1)