[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