varnishtest - Online in the Cloud

This is the command varnishtest that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


varnishtest - Test program for Varnish

SYNOPSIS


varnishtest [-hikLlqvW] [-b size] [-D name=val] [-j jobs] [-n iter] [-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:

-b size
Set internal buffer size (default: 512K)

-D name=val Define macro for use in scripts

-h Show help

-i Find varnishd in build tree

-j jobs
Run this many tests in parallel

-k Continue on test failure

-L Always leave temporary vtc.*

-l Leave temporary vtc.* if test fails

-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

-W Enable the witness facility for locking

file File to use as a script

Macro definitions that can be overridden.

varnishd Path to varnishd to use [varnishd]

If TMPDIR is set in the environment, varnishtest creates temporary vtc.* directories for
each test in $TMPDIR, otherwise in /tmp.

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_backend_response {
set beresp.do_esi = true;
if (bereq.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.

Use varnishtest online using onworks.net services



Latest Linux & Windows online programs