[master] 82158a0 Move vmod director tests to the d* space
Federico G. Schwindt
fgsch at lodoss.net
Tue Oct 21 15:54:56 CEST 2014
commit 82158a0c52c1ae41144d41d65e73d4b041a58afb
Author: Federico G. Schwindt <fgsch at lodoss.net>
Date: Tue Oct 21 13:44:54 2014 +0100
Move vmod director tests to the d* space
diff --git a/bin/varnishtest/tests/README b/bin/varnishtest/tests/README
index c181fcc..a504ec5 100644
--- a/bin/varnishtest/tests/README
+++ b/bin/varnishtest/tests/README
@@ -16,10 +16,11 @@ Naming scheme
id ~ [a] --> varnishtest(1) tests
id ~ [b] --> Basic functionality tests
id ~ [c] --> Complex functionality tests
+ id ~ [d] --> Director VMOD tests
id ~ [e] --> ESI tests
id ~ [g] --> GZIP tests
id ~ [l] --> VSL tests
- id ~ [m] --> VMOD tests
+ id ~ [m] --> VMOD tests excluding director
id ~ [p] --> Persistent tests
id ~ [r] --> Regression tests, same number as ticket
id ~ [s] --> Slow tests, expiry, grace etc.
diff --git a/bin/varnishtest/tests/d00000.vtc b/bin/varnishtest/tests/d00000.vtc
new file mode 100644
index 0000000..780e17c
--- /dev/null
+++ b/bin/varnishtest/tests/d00000.vtc
@@ -0,0 +1,71 @@
+varnishtest "Test round robin director"
+
+server s1 {
+ rxreq
+ txresp -body "1"
+} -start
+
+server s2 {
+ rxreq
+ txresp -body "22"
+} -start
+
+
+server s3 {
+ rxreq
+ txresp -body "333"
+} -start
+
+server s4 {
+ rxreq
+ txresp -body "4444"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new rr = directors.round_robin();
+ rr.add_backend(s1);
+ rr.add_backend(s2);
+ rr.add_backend(s3);
+ rr.add_backend(s4);
+ }
+
+ sub vcl_backend_fetch {
+ set bereq.backend = rr.backend();
+ }
+
+ sub vcl_backend_response {
+ set beresp.http.where = bereq.backend + "-->" + beresp.backend;
+ }
+} -start
+
+client c1 {
+ timeout 3
+ txreq -url "/foo1"
+ rxresp
+ expect resp.bodylen == 1
+ txreq -url "/foo2"
+ rxresp
+ expect resp.bodylen == 2
+ txreq -url "/foo3"
+ rxresp
+ expect resp.bodylen == 3
+ txreq -url "/foo4"
+ rxresp
+ expect resp.bodylen == 4
+} -run
+
+server s1 -start
+server s2 -start
+
+client c2 {
+ timeout 3
+ txreq -url "/foo11"
+ rxresp
+ expect resp.bodylen == 1
+ txreq -url "/foo22"
+ rxresp
+ expect resp.bodylen == 2
+} -run
diff --git a/bin/varnishtest/tests/d00001.vtc b/bin/varnishtest/tests/d00001.vtc
new file mode 100644
index 0000000..233be8e
--- /dev/null
+++ b/bin/varnishtest/tests/d00001.vtc
@@ -0,0 +1,62 @@
+varnishtest "Test fallback director"
+
+server s1 {
+ rxreq
+ txresp -hdr "Foo: 1"
+} -start
+
+server s2 {
+ rxreq
+ txresp -hdr "Foo: 2"
+} -start
+
+server s3 {
+ rxreq
+ txresp -hdr "Foo: 3"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new fb1 = directors.fallback();
+ fb1.add_backend(s1);
+ fb1.add_backend(s2);
+ fb1.add_backend(s3);
+ }
+
+ sub vcl_recv {
+ return (pass);
+ }
+
+ sub vcl_backend_fetch {
+ set bereq.backend = fb1.backend();
+ }
+
+} -start
+
+varnish v1 -cliok "backend.set_health s1 sick"
+varnish v1 -cliok "backend.set_health s2 sick"
+
+client c1 {
+ # s1 & s2 are both sick, expect response from s3
+ txreq
+ rxresp
+ expect resp.http.foo == "3"
+} -run
+
+varnish v1 -cliok "backend.set_health s2 healthy"
+
+client c1 {
+ txreq
+ rxresp
+ expect resp.http.foo == "2"
+} -run
+
+varnish v1 -cliok "backend.set_health s1 healthy"
+
+client c1 {
+ txreq
+ rxresp
+ expect resp.http.foo == "1"
+} -run
diff --git a/bin/varnishtest/tests/d00002.vtc b/bin/varnishtest/tests/d00002.vtc
new file mode 100644
index 0000000..b477176
--- /dev/null
+++ b/bin/varnishtest/tests/d00002.vtc
@@ -0,0 +1,35 @@
+varnishtest "Test random director"
+
+server s1 {
+ rxreq
+ txresp -body "foo1"
+ rxreq
+ txresp -body "bar1"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new foo = directors.random();
+ foo.add_backend(s1, 1);
+ foo.add_backend(s1, 1);
+ }
+
+ sub vcl_backend_fetch {
+ set bereq.backend = foo.backend();
+ }
+
+ sub vcl_backend_response {
+ set beresp.http.where = bereq.backend + "-->" + beresp.backend;
+ }
+} -start
+
+client c1 {
+ txreq -url "/foo"
+ rxresp
+ expect resp.http.where == "foo-->s1"
+ txreq -url "/bar"
+ rxresp
+ expect resp.http.where == "foo-->s1"
+} -run
diff --git a/bin/varnishtest/tests/d00003.vtc b/bin/varnishtest/tests/d00003.vtc
new file mode 100644
index 0000000..b81e482
--- /dev/null
+++ b/bin/varnishtest/tests/d00003.vtc
@@ -0,0 +1,77 @@
+varnishtest "Test hash director"
+
+server s1 {
+ rxreq
+ txresp -hdr "Foo: 1" -body "1"
+ rxreq
+ txresp -hdr "Foo: 3" -body "3"
+} -start
+
+server s2 {
+ rxreq
+ txresp -hdr "Foo: 2" -body "2"
+ rxreq
+ txresp -hdr "Foo: 4" -body "4"
+ rxreq
+ txresp -hdr "Foo: 6" -body "6"
+ rxreq
+ txresp -hdr "Foo: 8" -body "8"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new h1 = directors.hash();
+ h1.add_backend(s1, 1);
+ h1.add_backend(s2, 1);
+ }
+
+ sub vcl_recv {
+ return(pass);
+ }
+
+ sub vcl_backend_fetch {
+ if (bereq.url == "/nohdr") {
+ set bereq.backend = h1.backend(bereq.http.Void);
+ } else if (bereq.url == "/emptystring") {
+ set bereq.backend = h1.backend("");
+ } else if (bereq.url == "/13") {
+ set bereq.backend = h1.backend(bereq.http.Void + "" + bereq.url);
+ } else {
+ set bereq.backend = h1.backend(bereq.url);
+ }
+ }
+
+ sub vcl_backend_response {
+ set beresp.http.where = bereq.backend + "-->" + beresp.backend;
+ }
+
+} -start
+
+
+client c1 {
+ txreq -url /1
+ rxresp
+ expect resp.http.foo == "1"
+
+ txreq -url /3
+ rxresp
+ expect resp.http.foo == "2"
+
+ txreq -url /13
+ rxresp
+ expect resp.http.foo == "3"
+
+ txreq -url /8
+ rxresp
+ expect resp.http.foo == "4"
+
+ txreq -url /emptystring
+ rxresp
+ expect resp.http.foo == "6"
+
+ txreq -url /nohdr
+ rxresp
+ expect resp.http.foo == "8"
+} -run
diff --git a/bin/varnishtest/tests/d00004.vtc b/bin/varnishtest/tests/d00004.vtc
new file mode 100644
index 0000000..cef05f0
--- /dev/null
+++ b/bin/varnishtest/tests/d00004.vtc
@@ -0,0 +1,93 @@
+varnishtest "Deeper test of random director"
+
+random
+
+server s1 {
+ rxreq
+ txresp -body "1"
+} -start
+
+server s2 {
+ rxreq
+ txresp -body "22"
+ rxreq
+ txresp -body "22"
+ rxreq
+ txresp -body "22"
+ rxreq
+ txresp -body "22"
+} -start
+
+server s3 {
+ rxreq
+ txresp -body "333"
+} -start
+
+server s4 {
+ rxreq
+ txresp -body "4444"
+ rxreq
+ txresp -body "4444"
+ rxreq
+ txresp -body "4444"
+ rxreq
+ txresp -body "4444"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new foo = directors.random();
+ foo.add_backend(s1, 1);
+ foo.add_backend(s2, 1);
+ foo.add_backend(s3, 1);
+ foo.add_backend(s4, 1);
+ }
+
+ sub vcl_recv {
+ return(pass);
+ }
+
+ sub vcl_backend_fetch {
+ set bereq.backend = foo.backend();
+ }
+} -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 == 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
+ txreq
+ rxresp
+ expect resp.bodylen == 2
+} -run
diff --git a/bin/varnishtest/tests/d00005.vtc b/bin/varnishtest/tests/d00005.vtc
new file mode 100644
index 0000000..d00e9c0
--- /dev/null
+++ b/bin/varnishtest/tests/d00005.vtc
@@ -0,0 +1,90 @@
+varnishtest "Test round robin stacked within fallback"
+
+server s1 -repeat 2 {
+ rxreq
+ txresp -body "1"
+} -start
+
+server s2 -repeat 4 {
+ rxreq
+ txresp -body "22"
+} -start
+
+server s3 -repeat 2 {
+ rxreq
+ txresp -body "333"
+} -start
+
+server s4 -repeat 2 {
+ rxreq
+ txresp -body "4444"
+} -start
+
+varnish v1 -vcl+backend {
+ import ${vmod_directors};
+
+ sub vcl_init {
+ new rr1 = directors.round_robin();
+ rr1.add_backend(s1);
+ rr1.add_backend(s2);
+
+ new rr2 = directors.round_robin();
+ rr2.add_backend(s3);
+ rr2.add_backend(s4);
+
+ new fb = directors.fallback();
+ fb.add_backend(rr1.backend());
+ fb.add_backend(rr2.backend());
+ }
+
+ sub vcl_recv {
+ return (pass);
+ }
+
+ sub vcl_backend_fetch {
+ set bereq.backend = fb.backend();
+ }
+} -start
+
+client c1 {
+ txreq
+ rxresp
+ expect resp.body == "1"
+ txreq
+ rxresp
+ expect resp.body == "22"
+ txreq
+ rxresp
+ expect resp.body == "1"
+ txreq
+ rxresp
+ expect resp.body == "22"
+} -run
+
+varnish v1 -cliok "backend.set_health s1 sick"
+
+client c1 {
+ txreq
+ rxresp
+ expect resp.body == "22"
+ txreq
+ rxresp
+ expect resp.body == "22"
+} -run
+
+varnish v1 -cliok "backend.set_health s2 sick"
+
+client c1 {
+ txreq
+ rxresp
+ expect resp.body == "333"
+ txreq
+ rxresp
+ expect resp.body == "4444"
+ txreq
+ rxresp
+ expect resp.body == "333"
+ txreq
+ rxresp
+ expect resp.body == "4444"
+} -run
diff --git a/bin/varnishtest/tests/m00009.vtc b/bin/varnishtest/tests/m00009.vtc
deleted file mode 100644
index 01b3e0a..0000000
--- a/bin/varnishtest/tests/m00009.vtc
+++ /dev/null
@@ -1,72 +0,0 @@
-varnishtest "Test vmod.directors round robin director"
-
-
-server s1 {
- rxreq
- txresp -body "1"
-} -start
-
-server s2 {
- rxreq
- txresp -body "22"
-} -start
-
-
-server s3 {
- rxreq
- txresp -body "333"
-} -start
-
-server s4 {
- rxreq
- txresp -body "4444"
-} -start
-
-
-varnish v1 -vcl+backend {
-
- import ${vmod_directors};
- sub vcl_init {
- new rr = directors.round_robin();
- rr.add_backend(s1);
- rr.add_backend(s2);
- rr.add_backend(s3);
- rr.add_backend(s4);
- }
-
- sub vcl_backend_fetch {
- set bereq.backend = rr.backend();
- }
- sub vcl_backend_response {
- set beresp.http.where = bereq.backend + "-->" + beresp.backend;
- }
-} -start
-
-client c1 {
- timeout 3
- txreq -url "/foo1"
- rxresp
- expect resp.bodylen == 1
- txreq -url "/foo2"
- rxresp
- expect resp.bodylen == 2
- txreq -url "/foo3"
- rxresp
- expect resp.bodylen == 3
- txreq -url "/foo4"
- rxresp
- expect resp.bodylen == 4
-} -run
-
-server s1 -start
-server s2 -start
-
-client c2 {
- timeout 3
- txreq -url "/foo11"
- rxresp
- expect resp.bodylen == 1
- txreq -url "/foo22"
- rxresp
- expect resp.bodylen == 2
-} -run
diff --git a/bin/varnishtest/tests/v00007.vtc b/bin/varnishtest/tests/v00007.vtc
deleted file mode 100644
index 7f9507f..0000000
--- a/bin/varnishtest/tests/v00007.vtc
+++ /dev/null
@@ -1,34 +0,0 @@
-varnishtest "Test random director"
-
-server s1 {
- rxreq
- txresp -body "foo1"
- rxreq
- txresp -body "bar1"
-} -start
-
-varnish v1 -vcl+backend {
- import ${vmod_directors};
-
- sub vcl_init {
- new foo = directors.random();
- foo.add_backend(s1, 1);
- foo.add_backend(s1, 1);
- }
-
- sub vcl_backend_fetch {
- set bereq.backend = foo.backend();
- }
- sub vcl_backend_response {
- set beresp.http.where = bereq.backend + "-->" + beresp.backend;
- }
-} -start
-
-client c1 {
- txreq -url "/foo"
- rxresp
- expect resp.http.where == "foo-->s1"
- txreq -url "/bar"
- rxresp
- expect resp.http.where == "foo-->s1"
-} -run
diff --git a/bin/varnishtest/tests/v00009.vtc b/bin/varnishtest/tests/v00009.vtc
deleted file mode 100644
index af925fb..0000000
--- a/bin/varnishtest/tests/v00009.vtc
+++ /dev/null
@@ -1,68 +0,0 @@
-varnishtest "Test round robin director"
-
-server s1 {
- rxreq
- txresp -body "1"
-} -start
-
-server s2 {
- rxreq
- txresp -body "22"
-} -start
-
-
-server s3 {
- rxreq
- txresp -body "333"
-} -start
-
-server s4 {
- rxreq
- txresp -body "4444"
-} -start
-
-
-varnish v1 -vcl+backend {
- import ${vmod_directors};
-
- sub vcl_init {
- new batman = directors.round_robin();
- batman.add_backend(s1);
- batman.add_backend(s2);
- batman.add_backend(s3);
- batman.add_backend(s4);
- }
-
- sub vcl_backend_fetch {
- set bereq.backend = batman.backend();
- }
-} -start
-
-client c1 {
- timeout 3
- txreq -url "/foo1"
- rxresp
- expect resp.bodylen == 1
- txreq -url "/foo2"
- rxresp
- expect resp.bodylen == 2
- txreq -url "/foo3"
- rxresp
- expect resp.bodylen == 3
- txreq -url "/foo4"
- rxresp
- expect resp.bodylen == 4
-} -run
-
-server s1 -start
-server s2 -start
-
-client c2 {
- timeout 3
- txreq -url "/foo11"
- rxresp
- expect resp.bodylen == 1
- txreq -url "/foo22"
- rxresp
- expect resp.bodylen == 2
-} -run
diff --git a/bin/varnishtest/tests/v00022.vtc b/bin/varnishtest/tests/v00022.vtc
deleted file mode 100644
index 5e5a17b..0000000
--- a/bin/varnishtest/tests/v00022.vtc
+++ /dev/null
@@ -1,89 +0,0 @@
-varnishtest "Deeper test of random director"
-
-random
-
-server s1 {
- rxreq
- txresp -body "1"
-} -start
-server s2 {
- rxreq
- txresp -body "22"
- rxreq
- txresp -body "22"
- rxreq
- txresp -body "22"
- rxreq
- txresp -body "22"
-} -start
-server s3 {
- rxreq
- txresp -body "333"
-} -start
-server s4 {
- rxreq
- txresp -body "4444"
- rxreq
- txresp -body "4444"
- rxreq
- txresp -body "4444"
- rxreq
- txresp -body "4444"
-} -start
-
-varnish v1 -vcl+backend {
- import ${vmod_directors};
-
- sub vcl_init {
- new foo = directors.random();
- foo.add_backend(s1, 1);
- foo.add_backend(s2, 1);
- foo.add_backend(s3, 1);
- foo.add_backend(s4, 1);
- }
-
- sub vcl_recv {
- return(pass);
- }
- sub vcl_backend_fetch {
- set bereq.backend = foo.backend();
- }
-} -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 == 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
- txreq
- rxresp
- expect resp.bodylen == 2
-} -run
diff --git a/bin/varnishtest/tests/v00026.vtc b/bin/varnishtest/tests/v00026.vtc
deleted file mode 100644
index 11475dc..0000000
--- a/bin/varnishtest/tests/v00026.vtc
+++ /dev/null
@@ -1,78 +0,0 @@
-varnishtest "Hash director"
-
-server s1 {
- rxreq
- txresp -hdr "Foo: 1" -body "1"
- rxreq
- txresp -hdr "Foo: 3" -body "3"
-} -start
-
-server s2 {
- rxreq
- txresp -hdr "Foo: 2" -body "2"
- rxreq
- txresp -hdr "Foo: 4" -body "4"
- rxreq
- txresp -hdr "Foo: 6" -body "6"
- rxreq
- txresp -hdr "Foo: 8" -body "8"
-} -start
-
-
-varnish v1 -vcl+backend {
- import ${vmod_directors};
-
- sub vcl_init {
- new h1 = directors.hash();
- h1.add_backend(s1, 1);
- h1.add_backend(s2, 1);
- }
-
- sub vcl_recv {
- return(pass);
- }
- sub vcl_backend_fetch {
- if (bereq.url == "/nohdr") {
- set bereq.backend = h1.backend(bereq.http.Void);
- } else if (bereq.url == "/emptystring") {
- set bereq.backend = h1.backend("");
- } else if (bereq.url == "/13") {
- set bereq.backend = h1.backend(bereq.http.Void + "" + bereq.url);
- } else {
- set bereq.backend = h1.backend(bereq.url);
- }
- }
- sub vcl_backend_response {
- set beresp.http.where = bereq.backend + "-->" + beresp.backend;
- }
-
-} -start
-
-
-client c1 {
- txreq -url /1
- rxresp
- expect resp.http.foo == "1"
-
- txreq -url /3
- rxresp
- expect resp.http.foo == "2"
-
- txreq -url /13
- rxresp
- expect resp.http.foo == "3"
-
- txreq -url /8
- rxresp
- expect resp.http.foo == "4"
-
- txreq -url /emptystring
- rxresp
- expect resp.http.foo == "6"
-
- txreq -url /nohdr
- rxresp
- expect resp.http.foo == "8"
-
-
-} -run
diff --git a/bin/varnishtest/tests/v00036.vtc b/bin/varnishtest/tests/v00036.vtc
deleted file mode 100644
index 2a7009c..0000000
--- a/bin/varnishtest/tests/v00036.vtc
+++ /dev/null
@@ -1,61 +0,0 @@
-varnishtest "Test fallback director"
-
-server s1 {
- rxreq
- txresp -hdr "Foo: 1"
-} -start
-
-server s2 {
- rxreq
- txresp -hdr "Foo: 2"
-} -start
-
-server s3 {
- rxreq
- txresp -hdr "Foo: 3"
-} -start
-
-varnish v1 -vcl+backend {
- import ${vmod_directors};
-
- sub vcl_init {
- new fb1 = directors.fallback();
- fb1.add_backend(s1);
- fb1.add_backend(s2);
- fb1.add_backend(s3);
- }
-
- sub vcl_recv {
- return (pass);
- }
- sub vcl_backend_fetch {
- set bereq.backend = fb1.backend();
- }
-
-} -start
-
-varnish v1 -cliok "backend.set_health s1 sick"
-varnish v1 -cliok "backend.set_health s2 sick"
-
-client c1 {
- # s1 & s2 are both sick, expect response from s3
- txreq
- rxresp
- expect resp.http.foo == "3"
-} -run
-
-varnish v1 -cliok "backend.set_health s2 healthy"
-
-client c1 {
- txreq
- rxresp
- expect resp.http.foo == "2"
-} -run
-
-varnish v1 -cliok "backend.set_health s1 healthy"
-
-client c1 {
- txreq
- rxresp
- expect resp.http.foo == "1"
-} -run
More information about the varnish-commit
mailing list