REGTEST: Add option to use HTX prefixed by the macro 'no-htx'
So some tests have been removed.
diff --git a/reg-tests/http-messaging/h00000.vtc b/reg-tests/http-messaging/h00000.vtc
index 3954f36..951a926 100644
--- a/reg-tests/http-messaging/h00000.vtc
+++ b/reg-tests/http-messaging/h00000.vtc
@@ -1,4 +1,4 @@
-varnishtest "HTTP request tests: H1 to H1, legacy mode"
+varnishtest "HTTP request tests: H1 to H1 (HTX mode supported only for HAProxy >= 1.9)"
#REQUIRE_VERSION=1.6
# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
@@ -30,7 +30,7 @@
haproxy h1 -conf {
defaults
mode http
- #option http-use-htx
+ ${no-htx} option http-use-htx
timeout connect 1s
timeout client 1s
timeout server 1s
diff --git a/reg-tests/http-messaging/h00001.vtc b/reg-tests/http-messaging/h00001.vtc
deleted file mode 100644
index 65b2ce0..0000000
--- a/reg-tests/http-messaging/h00001.vtc
+++ /dev/null
@@ -1,172 +0,0 @@
-varnishtest "HTTP request tests: H1 to H1, HTX mode"
-#REQUIRE_VERSION=1.9
-
-# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
-
-feature ignore_unknown_macro
-
-server s1 {
- rxreq
- txresp \
- -status 200 \
- -body "response 1"
-
- rxreq
- txresp \
- -status 200 \
- -body "response 2"
-
- rxreq
- txresp \
- -status 200 \
- -body "response 3"
-
- rxreq
- txresp \
- -status 200 \
- -body "response 4"
-} -repeat 2 -start
-
-haproxy h1 -conf {
- defaults
- mode http
- option http-use-htx
- timeout connect 1s
- timeout client 1s
- timeout server 1s
-
- listen feh1
- bind "fd@${feh1}"
- #bind "fd@${feh2}" proto h2
- server s1 ${s1_addr}:${s1_port}
-} -start
-
-# GET requests
-client c1h1 -connect ${h1_feh1_sock} {
- # first request is valid
- txreq \
- -req "GET" \
- -url "/test1.html"
- rxresp
- expect resp.status == 200
-
- # second request is valid and advertises C-L:0
- txreq \
- -req "GET" \
- -url "/test2.html" \
- -hdr "content-length: 0"
- rxresp
- expect resp.status == 200
-
- # third request sends a body with a GET
- txreq \
- -req "GET" \
- -url "/test3.html" \
- -body "this must be delivered, like it or not"
- rxresp
- expect resp.status == 200
-
- # fourth request is valid and advertises C-L:0, and close, and is
- # followed by a string "this is not sent\r\n\r\n" which must be
- # dropped.
- txreq \
- -req "GET" \
- -url "/test4.html" \
- -hdr "content-length: 0" \
- -hdr "connection: close"
- # "this is not sent"
- sendhex "74787973207973206E6F742073656E740D0A0D0A"
- rxresp
- expect resp.status == 200
-
- # the connection is expected to be closed and no more response must
- # arrive here.
- expect_close
-} -run
-
-# HEAD requests
-# Note: for now they fail with varnishtest, which expects the amount of
-# data advertised in the content-length response.
-#client c2h1 -connect ${h1_feh1_sock} {
-# # first request is valid
-# txreq \
-# -req "HEAD" \
-# -url "/test11.html"
-# rxresp
-# expect resp.status == 200
-#
-# # second request is valid and advertises C-L:0
-# txreq \
-# -req "HEAD" \
-# -url "/test12.html" \
-# -hdr "content-length: 0"
-# rxresp
-# expect resp.status == 200
-#
-# # third request sends a body with a GET
-# txreq \
-# -req "GET" \
-# -url "/test13.html" \
-# -body "this must be delivered, like it or not"
-# rxresp
-# expect resp.status == 200
-#
-# # fourth request is valid and advertises C-L:0, and close, and is
-# # followed by a string "this is not sent\r\n\r\n" which must be
-# # dropped.
-# txreq \
-# -req "HEAD" \
-# -url "/test14.html" \
-# -hdr "content-length: 0" \
-# -hdr "connection: close"
-# # "this is not sent"
-# sendhex "74787973207973206E6F742073656E740D0A0D0A"
-# rxresp
-# expect resp.status == 200
-#
-# # the connection is expected to be closed and no more response must
-# # arrive here.
-# expect_close
-#} -run
-
-client c1h1 -connect ${h1_feh1_sock} {
- # first request is valid
- txreq \
- -req "POST" \
- -url "/test21.html"
- rxresp
- expect resp.status == 200
-
- # second request is valid and advertises C-L:0
- txreq \
- -req "POST" \
- -url "/test22.html" \
- -hdr "content-length: 0"
- rxresp
- expect resp.status == 200
-
- # third request is valid and advertises (and sends) somme contents
- txreq \
- -req "POST" \
- -url "/test23.html" \
- -body "this is sent"
- rxresp
- expect resp.status == 200
-
- # fourth request is valid and advertises C-L:0, and close, and is
- # followed by a string "this is not sent\r\n\r\n" which must be
- # dropped.
- txreq \
- -req "POST" \
- -url "/test24.html" \
- -hdr "content-length: 0" \
- -hdr "connection: close"
- # "this is not sent"
- sendhex "74787973207973206E6F742073656E740D0A0D0A"
- rxresp
- expect resp.status == 200
-
- # the connection is expected to be closed and no more response must
- # arrive here.
- expect_close
-} -run
diff --git a/reg-tests/http-messaging/h00002.vtc b/reg-tests/http-messaging/h00002.vtc
index 6fc536a..27d2540 100644
--- a/reg-tests/http-messaging/h00002.vtc
+++ b/reg-tests/http-messaging/h00002.vtc
@@ -1,4 +1,4 @@
-varnishtest "HTTP request tests: H2 to H1, legacy mode"
+varnishtest "HTTP request tests: H2 to H1 (HTX and legacy mode)"
#REQUIRE_VERSION=1.9
# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
@@ -41,7 +41,7 @@
#log stdout format raw daemon
mode http
option http-buffer-request
- #option http-use-htx
+ ${no-htx} option http-use-htx
timeout connect 1s
timeout client 1s
timeout server 1s
diff --git a/reg-tests/http-messaging/h00003.vtc b/reg-tests/http-messaging/h00003.vtc
deleted file mode 100644
index ec11756..0000000
--- a/reg-tests/http-messaging/h00003.vtc
+++ /dev/null
@@ -1,274 +0,0 @@
-varnishtest "HTTP request tests: H2 to H1, HTX mode"
-#REQUIRE_VERSION=1.9
-
-# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
-
-feature ignore_unknown_macro
-
-# synchronize requests between streams
-barrier b1 cond 2 -cyclic
-barrier b2 cond 2 -cyclic
-barrier b3 cond 2 -cyclic
-barrier b4 cond 2 -cyclic
-
-server s1 {
- rxreq
- txresp \
- -status 200 \
- -body "response 1"
-
- barrier b2 sync
- rxreq
- txresp \
- -status 200 \
- -body "response 2"
-
- barrier b3 sync
- rxreq
- txresp \
- -status 200 \
- -body "response 3"
-
- barrier b4 sync
- rxreq
- txresp \
- -status 200 \
- -body "response 4"
-} -repeat 2 -start
-
-haproxy h1 -conf {
- defaults
- #log stdout format raw daemon
- mode http
- option http-buffer-request
- option http-use-htx
- timeout connect 1s
- timeout client 1s
- timeout server 1s
-
- listen feh1
- bind "fd@${feh1}"
- bind "fd@${feh2}" proto h2
- server s1 ${s1_addr}:${s1_port}
-} -start
-
-client c1h2 -connect ${h1_feh2_sock} {
- txpri
- stream 0 {
- txsettings
- rxsettings
- txsettings -ack
- rxwinup
- rxsettings
- expect settings.ack == true
- } -run
-
- # first request is valid
- stream 1 {
- txreq \
- -req "GET" \
- -scheme "https" \
- -url "/test1.html"
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 1"
- } -run
-
- # second request is valid and advertises C-L:0
- stream 3 {
- barrier b2 sync
- txreq \
- -req "GET" \
- -scheme "https" \
- -url "/test2.html" \
- -hdr "content-length" "0"
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 2"
- } -run
-
- # third request sends a body with a GET
- stream 5 {
- barrier b3 sync
- txreq \
- -req "GET" \
- -scheme "https" \
- -url "/test3.html" \
- -nostrend \
- -body "this must be delivered, like it or not"
- rxwinup
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 3"
- } -run
-
- # fourth request is valid and advertises C-L:0, and close, and is
- # followed by a string "this is not sent\r\n\r\n" which must be
- # dropped.
- stream 7 {
- barrier b4 sync
- txreq \
- -req "GET" \
- -scheme "https" \
- -url "/test4.html" \
- -hdr "content-length" "0" \
- -nostrend
- txdata -data "this is sent and ignored"
- rxwinup
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 4"
- } -run
-} -run
-
-# HEAD requests : don't work well yet
-#client c2h2 -connect ${h1_feh2_sock} {
-# txpri
-# stream 0 {
-# txsettings
-# rxsettings
-# txsettings -ack
-# rxwinup
-# rxsettings
-# expect settings.ack == true
-# } -run
-#
-# # first request is valid
-# stream 1 {
-# txreq \
-# -req "HEAD" \
-# -scheme "https" \
-# -url "/test11.html"
-# rxhdrs
-# expect resp.status == 200
-# rxdata -all
-# expect resp.bodylen == 0
-# } -run
-#
-# # second request is valid and advertises C-L:0
-# stream 3 {
-# barrier b2 sync
-# txreq \
-# -req "HEAD" \
-# -scheme "https" \
-# -url "/test12.html" \
-# -hdr "content-length" "0"
-# rxhdrs
-# expect resp.status == 200
-# rxdata -all
-# expect resp.bodylen == 0
-# } -run
-#
-# # third request sends a body with a GET
-# stream 5 {
-# barrier b3 sync
-# txreq \
-# -req "HEAD" \
-# -scheme "https" \
-# -url "/test13.html" \
-# -nostrend \
-# -body "this must be delivered, like it or not"
-# rxwinup
-# rxhdrs
-# expect resp.status == 200
-# rxdata -all
-# expect resp.bodylen == 0
-# } -run
-#
-# # fourth request is valid and advertises C-L:0, and close, and is
-# # followed by a string "this is not sent\r\n\r\n" which must be
-# # dropped.
-# stream 7 {
-# barrier b4 sync
-# txreq \
-# -req "HEAD" \
-# -scheme "https" \
-# -url "/test14.html" \
-# -hdr "content-length" "0" \
-# -nostrend
-# txdata -data "this is sent and ignored"
-# rxwinup
-# rxhdrs
-# expect resp.status == 200
-# rxdata -all
-# expect resp.bodylen == 0
-# } -run
-#} -run
-
-# POST requests
-client c3h2 -connect ${h1_feh2_sock} {
- txpri
- stream 0 {
- txsettings
- rxsettings
- txsettings -ack
- rxwinup
- rxsettings
- expect settings.ack == true
- } -run
-
- # first request is valid
- stream 1 {
- txreq \
- -req "POST" \
- -scheme "https" \
- -url "/test21.html"
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 1"
- } -run
-
- # second request is valid and advertises C-L:0
- stream 3 {
- barrier b2 sync
- txreq \
- -req "POST" \
- -scheme "https" \
- -url "/test22.html" \
- -hdr "content-length" "0"
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 2"
- } -run
-
- # third request sends a body with a GET
- stream 5 {
- barrier b3 sync
- txreq \
- -req "POST" \
- -scheme "https" \
- -url "/test23.html" \
- -nostrend \
- -body "this must be delivered, like it or not"
- rxwinup
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 3"
- } -run
-
- # fourth request is valid and advertises C-L:0, and close, and is
- # followed by a string "this is not sent\r\n\r\n" which must be
- # dropped.
- stream 7 {
- barrier b4 sync
- txreq \
- -req "POST" \
- -scheme "https" \
- -url "/test24.html" \
- -hdr "content-length" "0" \
- -nostrend
- txdata -data "this is sent and ignored"
- rxwinup
- rxhdrs
- expect resp.status == 200
- rxdata -all
- expect resp.body == "response 4"
- } -run
-} -run