Commit f2769c85 authored by Geoff Simmons's avatar Geoff Simmons

Change the tests for compatibility since Varnish 5.0.0:

* no longer using macros for VMODs std and director
* use barriers instead of semaphores
* change some expected statistics, in line with the 5.0.0 tests
* a syntax error message from the VCC compiler changed
parent 8ce281d0
......@@ -42,4 +42,4 @@ varnish v1 -expect VBE.vcl1.be.happy == 0
varnish v1 -expect VBE.vcl1.be.req == 1
varnish v1 -expect VBE.vcl1.be.conn == 0
varnish v1 -expect s_resp_bodybytes == 7
varnish v1 -expect s_resp_hdrbytes == 167
varnish v1 -expect s_resp_hdrbytes == 178
......@@ -33,7 +33,7 @@ client c1 {
} -run
varnish v1 -vcl {
import ${vmod_directors};
import directors;
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
backend dummy { .host="${bad_ip}"; }
......
varnishtest "Test parking second request on backend delay"
barrier b1 cond 2
barrier b2 cond 2
server s1 {
rxreq
expect req.url == "/foo"
send "HTTP/1.0 200 OK\r\nConnection: close\r\n\r\n"
delay .2
sema r1 sync 2
barrier b1 sync
delay .2
send "line1\n"
delay .2
sema r1 sync 2
barrier b2 sync
send "line2\n"
} -start
......@@ -44,12 +47,12 @@ client c1 {
expect resp.http.x-varnish == "1001"
} -start
sema r1 sync 2
barrier b1 sync
client c2 {
txreq -url "/foo" -hdr "client: c2"
delay .2
sema r1 sync 2
barrier b2 sync
rxresp
expect resp.status == 200
expect resp.bodylen == 12
......@@ -58,7 +61,7 @@ client c2 {
client c1 -wait
varnish v1 -expect busy_sleep == 1
varnish v1 -expect busy_wakeup == 1
varnish v1 -expect busy_sleep >= 1
varnish v1 -expect busy_wakeup >= 1
varnish v1 -expect VBE.vcl1.be.happy == 0
varnish v1 -expect MAIN.n_backend == 2
varnishtest "Test parking second request on backend delay, then pass"
barrier b1 cond 2
server s1 {
rxreq
expect req.url == "/foo"
sema r1 sync 2
barrier b1 sync
send "HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\n"
send "line1\n"
send "line2\n"
......@@ -43,7 +45,7 @@ client c1 {
expect resp.http.x-varnish == "1001"
} -start
sema r1 sync 2
barrier b1 sync
delay .2
client c2 {
......
varnishtest "Test Backend Polling"
barrier b1 cond 2
server s1 {
# Probes
loop 8 {
......@@ -22,7 +24,7 @@ server s1 {
accept
}
sema r1 sync 2
barrier b1 sync
} -start
varnish v1 -vcl {
......@@ -44,7 +46,7 @@ varnish v1 -vcl {
}
} -start
sema r1 sync 2
barrier b1 sync
varnish v1 -cli "backend.list -p"
varnish v1 -expect VBE.vcl1.be.happy > 0
......
......@@ -25,7 +25,7 @@ server s4 {
varnish v1 -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
import ${vmod_directors};
import directors;
backend dummy { .host="${bad_ip}"; }
......
......@@ -2,10 +2,12 @@ varnishtest "Test a dynamic backend discard during a request"
# vcl.discard testing inspired by v00006.vtc from commit e1f7207
barrier b1 cond 2
server s1 {
rxreq
expect req.url == "/foo"
sema r1 sync 2
barrier b1 sync
txresp
} -start
......@@ -59,7 +61,7 @@ varnish v1 -vcl {
}
varnish v1 -cli "vcl.discard vcl1"
sema r1 sync 2
barrier b1 sync
client c1 -wait
delay 2
......
......@@ -19,7 +19,7 @@ server s2 {
varnish v1 -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
import ${vmod_directors};
import directors;
backend dummy { .host = "${bad_ip}"; }
......
varnishtest "Check backend connection limit"
barrier b1 cond 2
barrier b2 cond 2
server s1 {
rxreq
sema r1 sync 2
sema r2 sync 2
barrier b1 sync
barrier b2 sync
txresp
} -start
......@@ -34,13 +37,13 @@ client c1 {
client c2 {
sema r1 sync 2
barrier b1 sync
txreq
rxresp
expect resp.status == 503
} -run
sema r2 sync 2
barrier b2 sync
client c1 -wait
varnish v1 -expect backend_busy == 1
varnishtest "Check req.backend.healthy"
barrier b1 cond 2
barrier b2 cond 2
barrier b3 cond 2
barrier b4 cond 2
server s1 {
rxreq
sema r1 sync 2
barrier b1 sync
expect req.url == "/"
txresp -body "slash"
accept
rxreq
sema r2 sync 2
sema r3 sync 2
barrier b2 sync
barrier b3 sync
expect req.url == "/"
txresp -body "slash"
accept
sema r4 sync 2
barrier b4 sync
} -start
varnish v1 -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
import ${vmod_std};
import std;
backend dummy { .host = "${bad_ip}"; }
......@@ -55,15 +60,15 @@ client c1 {
rxresp
expect resp.status == 500
sema r1 sync 2
barrier b1 sync
sema r2 sync 2
barrier b2 sync
txreq
rxresp
expect resp.status == 500
sema r3 sync 2
sema r4 sync 2
barrier b3 sync
barrier b4 sync
txreq
rxresp
expect resp.status == 200
......
......@@ -101,7 +101,7 @@ logexpect l1 -wait
# std.healthy() returns false for a non-existent VMOD
varnish v1 -vcl {
import ${vmod_std};
import std;
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
backend dummy { .host="${bad_ip}"; }
......
......@@ -109,8 +109,8 @@ client c1 {
} -run
# Cannot call delete() with a director
varnish v1 -errvcl "Symbol not found" {
import ${vmod_directors};
varnish v1 -errvcl "Symbol type (instance) can not be used in expression." {
import directors;
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
backend s1 { .host="${s1_addr}"; .port="${s1_port}"; }
......
......@@ -9,7 +9,7 @@ server s2 {
varnish v1 -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
import ${vmod_directors};
import directors;
backend dummy { .host="${bad_ip}"; }
sub vcl_init {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment