From d34c0a6c6e2550679cd9d77ed1e0b75bb0ecc747 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 10 Nov 2008 09:40:39 +0000 Subject: [PATCH] Add a test of the random director that uses actual randomness. This will be skipped on platforms where srandom(1) does not result in the same deterministic sequence of random numbers as on FreeBSD and Linux. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3368 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- .../bin/varnishtest/tests/v00022.vtc | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 varnish-cache/bin/varnishtest/tests/v00022.vtc diff --git a/varnish-cache/bin/varnishtest/tests/v00022.vtc b/varnish-cache/bin/varnishtest/tests/v00022.vtc new file mode 100644 index 00000000..8a39b8bf --- /dev/null +++ b/varnish-cache/bin/varnishtest/tests/v00022.vtc @@ -0,0 +1,86 @@ +# $Id$ + +test "Deeper test of random director" + +random + +server s1 { + rxreq + txresp -body "1" +} -start +server s2 -listen 127.0.0.1:9180 { + rxreq + txresp -body "22" + rxreq + txresp -body "22" + rxreq + txresp -body "22" +} -start +server s3 -listen 127.0.0.1:9181 { + rxreq + txresp -body "333" +} -start +server s4 -listen 127.0.0.1:9182 { + rxreq + txresp -body "4444" + rxreq + txresp -body "4444" + rxreq + txresp -body "4444" + rxreq + txresp -body "4444" + rxreq + txresp -body "4444" +} -start + +varnish v1 -vcl+backend { + director foo random { + { .backend = s1; .weight = 1; } + { .backend = s2; .weight = 1; } + { .backend = s3; .weight = 1; } + { .backend = s4; .weight = 1; } + } + + sub vcl_recv { + set req.backend = foo; + pass; + } +} -start + +# NB: Do not change the number 1 +# NB: Only srandom(1) is standardized as deterministic. + +varnish v1 -cliok "debug.srandom 1" + +client c1 { + txreq + rxresp + expect resp.bodylen == 4 + txreq + rxresp + expect resp.bodylen == 2 + txreq + rxresp + expect resp.bodylen == 4 + txreq + rxresp + expect resp.bodylen == 4 + txreq + rxresp + expect resp.bodylen == 4 + txreq + rxresp + expect resp.bodylen == 1 + txreq + rxresp + expect resp.bodylen == 2 + txreq + rxresp + expect resp.bodylen == 4 + txreq + rxresp + expect resp.bodylen == 2 + txreq + rxresp + expect resp.bodylen == 3 +} -run -- 2.39.5