Hi List,
I'm getting a regtest failure for the h00001.vtc test, seemingly because
varnishtest doesn't like the definition.
Error (full log attached):
**** s1 0.0 http[23] |be-hdr-crc: 3634102538
**** s1 0.0 bodylen = 0
** s1 0.0 === txresp \
---- s1 0.0 Assert error in http_tx_parse_args(), vtc_http.c line
870: Condition(body == nullbody) not true.
*** h1 1.0 debug|00000000:be.srvcls[000b:adfd]
*** h1 1.0 debug|00000000:be.clicls[000b:adfd]
This comes from the following definition:
txresp \
-status 234 \
-hdr "hdr1: val1" \
-hdr "hdr2: val2a" \
-hdr "hdr2: val2b" \
-hdr "hdr3: val3a, val3b" \
-hdr "hdr4:" \
-bodylen 14 \
-body "This is a body"
Where both -bodylen and -body are defined, while it seems to me these 2
settings are 'conflicting', as the '-bodylen' generates a kinda random
body content. While '-body' defines the exact string to send as a body..
Seems to me that the bodylen should be removed? Patch that does that
attached.
Regards,
PiBa-NL
From e786be564e7dca1e3b347b6cc9e0af05c85e975b Mon Sep 17 00:00:00 2001
From: PiBa-NL <piba.nl....@gmail.com>
Date: Sat, 8 Dec 2018 19:48:37 +0100
Subject: [PATCH] REGTEST/MINOR: remove double body specification for server
txresp
fix http-rules/h00000.vtc / http-rules/h00000.vtc as both 'bodylen' and
'body' are specified, these settings conflict with each other as they
both generate/present the body to send.
---
reg-tests/http-rules/h00000.vtc | 1 -
reg-tests/http-rules/h00001.vtc | 1 -
2 files changed, 2 deletions(-)
diff --git a/reg-tests/http-rules/h00000.vtc b/reg-tests/http-rules/h00000.vtc
index 25388f8a..aedb41ff 100644
--- a/reg-tests/http-rules/h00000.vtc
+++ b/reg-tests/http-rules/h00000.vtc
@@ -25,7 +25,6 @@ server s1 {
-hdr "hdr2: val2b" \
-hdr "hdr3: val3a, val3b" \
-hdr "hdr4:" \
- -bodylen 14 \
-body "This is a body"
expect req.method == "GET"
diff --git a/reg-tests/http-rules/h00001.vtc b/reg-tests/http-rules/h00001.vtc
index 80522a1b..ca86f1b9 100644
--- a/reg-tests/http-rules/h00001.vtc
+++ b/reg-tests/http-rules/h00001.vtc
@@ -24,7 +24,6 @@ server s1 {
-hdr "hdr2: val2b" \
-hdr "hdr3: val3a, val3b" \
-hdr "hdr4:" \
- -bodylen 14 \
-body "This is a body"
expect req.method == "GET"
--
2.18.0.windows.1
**** top 0.0 extmacro def
pwd=/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba
**** top 0.0 extmacro def localhost=127.0.0.1
**** top 0.0 extmacro def bad_backend=127.0.0.1 28101
**** top 0.0 extmacro def bad_ip=192.0.2.255
**** top 0.0 macro def
testdir=/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba/./reg-tests/http-rules
**** top 0.0 macro def
tmpdir=/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024
* top 0.0 TEST ./reg-tests/http-rules/h00001.vtc starting
** top 0.0 === varnishtest "Composite HTTP manipulation test (H1 and H2
cle...
* top 0.0 TEST Composite HTTP manipulation test (H1 and H2 clear to H1
clear)
** top 0.0 === feature ignore_unknown_macro
** top 0.0 === server s1 {
** s1 0.0 Starting server
**** s1 0.0 macro def s1_addr=127.0.0.1
**** s1 0.0 macro def s1_port=23305
**** s1 0.0 macro def s1_sock=127.0.0.1 23305
* s1 0.0 Listen on 127.0.0.1 23305
** top 0.0 === haproxy h1 -conf {
** s1 0.0 Started on 127.0.0.1 23305
*** s1 0.0 Iteration 0
**** h1 0.0 macro def h1_cli_sock=::1 23306
**** h1 0.0 macro def h1_cli_addr=::1
**** h1 0.0 macro def h1_cli_port=23306
**** h1 0.0 setenv(cli, 5)
**** h1 0.0 macro def h1_feh1_sock=::1 23307
**** h1 0.0 macro def h1_feh1_addr=::1
**** h1 0.0 macro def h1_feh1_port=23307
**** h1 0.0 setenv(feh1, 6)
**** h1 0.0 macro def h1_feh2_sock=::1 23308
**** h1 0.0 macro def h1_feh2_addr=::1
**** h1 0.0 macro def h1_feh2_port=23308
**** h1 0.0 setenv(feh2, 7)
**** h1 0.0 conf| global
**** h1 0.0 conf|\tstats socket
/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1/stats.sock level admin
mode 600
**** h1 0.0 conf| stats socket "fd@${cli}" level admin
**** h1 0.0 conf|
**** h1 0.0 conf| defaults
**** h1 0.0 conf|\tmode http
**** h1 0.0 conf|\ttimeout connect 1s
**** h1 0.0 conf|\ttimeout client 1s
**** h1 0.0 conf|\ttimeout server 1s
**** h1 0.0 conf|
**** h1 0.0 conf| frontend fe
**** h1 0.0 conf|\tbind "fd@${feh1}"
**** h1 0.0 conf|\tbind "fd@${feh2}" proto h2
**** h1 0.0 conf|
**** h1 0.0 conf|\t#### requests
**** h1 0.0 conf|\thttp-request set-var(req.method) method
**** h1 0.0 conf|\thttp-request set-var(req.uri) url
**** h1 0.0 conf|\thttp-request set-var(req.path) path
**** h1 0.0 conf|\thttp-request set-var(req.query) query
**** h1 0.0 conf|\thttp-request set-var(req.param) url_param(qs_arg)
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl1 "sl1: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-method "%[str(GET)]"
**** h1 0.0 conf|\thttp-request set-uri
concat(/bu/,req.uri,/eu)
**** h1 0.0 conf|\thttp-request set-path
"/bp/%[var(req.path)]/ep"
**** h1 0.0 conf|\thttp-request set-query
"bq&%[var(req.query)]&eq"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl2 "sl2: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl1 "%[req.fhdr(sl1)]
method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
**** h1 0.0 conf|\thttp-request set-header sl1 "%[req.fhdr(sl1)]
query=<%[var(req.query)]>; param=<%[var(req.param)]>"
**** h1 0.0 conf|\thttp-request set-header sl2 "%[req.fhdr(sl2)]
method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
**** h1 0.0 conf|\thttp-request set-header sl2 "%[req.fhdr(sl2)]
query=<%[query]>; param=<%[url_param(qs_arg)]>"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl1-crc
"%[req.fhdr(sl1),crc32]"
**** h1 0.0 conf|\thttp-request set-header sl2-crc
"%[req.fhdr(sl2),crc32]"
**** h1 0.0 conf|\thttp-request set-header hdr-crc
"%[req.fhdr(hdr),crc32]"
**** h1 0.0 conf|
**** h1 0.0 conf|\t#### responses
**** h1 0.0 conf|\thttp-response set-header be-sl1 "%[res.fhdr(sl1)]"
**** h1 0.0 conf|\thttp-response set-header be-sl2 "%[res.fhdr(sl2)]"
**** h1 0.0 conf|\thttp-response set-header be-hdr "%[res.fhdr(hdr)]"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header be-sl1-crc
"%[res.fhdr(sl1-crc)]"
**** h1 0.0 conf|\thttp-response set-header be-sl2-crc
"%[res.fhdr(sl2-crc)]"
**** h1 0.0 conf|\thttp-response set-header be-hdr-crc
"%[res.fhdr(hdr-crc)]"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-var(res.status) status
**** h1 0.0 conf|\thttp-response set-header sl1 "sl1: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-status 200
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header sl2 "sl2: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header sl1 "%[res.fhdr(sl1)]
status=<%[var(res.status)]>;"
**** h1 0.0 conf|\thttp-response set-header sl2 "%[res.fhdr(sl2)]
status=<%[status]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header fe-sl1-crc
"%[res.fhdr(sl1),crc32]"
**** h1 0.0 conf|\thttp-response set-header fe-sl2-crc
"%[res.fhdr(sl2),crc32]"
**** h1 0.0 conf|\thttp-response set-header fe-hdr-crc
"%[res.fhdr(hdr),crc32]"
**** h1 0.0 conf|
**** h1 0.0 conf|\tdefault_backend be
**** h1 0.0 conf|
**** h1 0.0 conf| backend be
**** h1 0.0 conf|\t#### requests
**** h1 0.0 conf|\thttp-request set-header fe-sl1 "%[req.fhdr(sl1)]"
**** h1 0.0 conf|\thttp-request set-header fe-sl2 "%[req.fhdr(sl2)]"
**** h1 0.0 conf|\thttp-request set-header fe-hdr "%[req.fhdr(hdr)]"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header fe-sl1-crc
"%[req.fhdr(sl1-crc)]"
**** h1 0.0 conf|\thttp-request set-header fe-sl2-crc
"%[req.fhdr(sl2-crc)]"
**** h1 0.0 conf|\thttp-request set-header fe-hdr-crc
"%[req.fhdr(hdr-crc)]"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-var(req.method) method
**** h1 0.0 conf|\thttp-request set-var(req.uri) url
**** h1 0.0 conf|\thttp-request set-var(req.path) path
**** h1 0.0 conf|\thttp-request set-var(req.query) query
**** h1 0.0 conf|\thttp-request set-var(req.param) url_param(qs_arg)
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl1 "sl1: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-method "%[str(GET)]"
**** h1 0.0 conf|\thttp-request set-uri
concat(/bu/,req.uri,/eu)
**** h1 0.0 conf|\thttp-request set-path
"/bp/%[var(req.path)]/ep"
**** h1 0.0 conf|\thttp-request set-query
"bq&%[var(req.query)]&eq"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl2 "sl2: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header sl1 "%[req.fhdr(sl1)]
method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
**** h1 0.0 conf|\thttp-request set-header sl1 "%[req.fhdr(sl1)]
query=<%[var(req.query)]>; param=<%[var(req.param)]>"
**** h1 0.0 conf|\thttp-request set-header sl2 "%[req.fhdr(sl2)]
method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
**** h1 0.0 conf|\thttp-request set-header sl2 "%[req.fhdr(sl2)]
query=<%[query]>; param=<%[url_param(qs_arg)]>"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
**** h1 0.0 conf|\thttp-request set-header hdr "%[req.fhdr(hdr)]
hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-request set-header be-sl1-crc
"%[req.fhdr(sl1),crc32]"
**** h1 0.0 conf|\thttp-request set-header be-sl2-crc
"%[req.fhdr(sl2),crc32]"
**** h1 0.0 conf|\thttp-request set-header be-hdr-crc
"%[req.fhdr(hdr),crc32]"
**** h1 0.0 conf|
**** h1 0.0 conf|\t#### responses
**** h1 0.0 conf|\thttp-response set-var(res.status) status
**** h1 0.0 conf|\thttp-response set-header sl1 "sl1: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-status 200
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header sl2 "sl2: "
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header sl1 "%[res.fhdr(sl1)]
status=<%[var(res.status)]>;"
**** h1 0.0 conf|\thttp-response set-header sl2 "%[res.fhdr(sl2)]
status=<%[status]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
**** h1 0.0 conf|\thttp-response set-header hdr "%[res.fhdr(hdr)]
hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"
**** h1 0.0 conf|
**** h1 0.0 conf|\thttp-response set-header sl1-crc
"%[res.fhdr(sl1),crc32]"
**** h1 0.0 conf|\thttp-response set-header sl2-crc
"%[res.fhdr(sl2),crc32]"
**** h1 0.0 conf|\thttp-response set-header hdr-crc
"%[res.fhdr(hdr),crc32]"
**** h1 0.0 conf|
**** h1 0.0 conf|\tserver s1 127.0.0.1:23305
** h1 0.0 haproxy_start
**** h1 0.0 opt_worker 0 opt_daemon 0 opt_check_mode 0
**** h1 0.0 argv|exec
/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba/haproxy -d -f
/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1/cfg
**** h1 0.0 XXX 9 @586
*** h1 0.0 PID: 86375
**** h1 0.0 macro def h1_pid=86375
**** h1 0.0 macro def
h1_name=/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1
** top 0.0 === client c1h1 -connect ${h1_feh1_sock} {
** c1h1 0.0 Starting client
** c1h1 0.0 Waiting for client
*** c1h1 0.0 Connect to ::1 23307
*** c1h1 0.0 connected fd 8 from ::1 23309 to ::1 23307
** c1h1 0.0 === txreq \
**** c1h1 0.0 txreq|GET /path/to/file.extension?qs_arg=qs_value HTTP/1.1\r
**** c1h1 0.0 txreq|hdr1: val1\r
**** c1h1 0.0 txreq|hdr2: val2a\r
**** c1h1 0.0 txreq|hdr2: val2b\r
**** c1h1 0.0 txreq|hdr3: val3a, val3b\r
**** c1h1 0.0 txreq|hdr4:\r
**** c1h1 0.0 txreq|Host: 127.0.0.1\r
**** c1h1 0.0 txreq|\r
** c1h1 0.0 === rxresp
*** h1 0.0 debug|Note: setting global.maxconn to 2000.
*** h1 0.0 debug|Available polling systems :
*** h1 0.0 debug| kqueue : pref=300, test result OK
*** h1 0.0 debug|
*** h1 0.0 debug| poll : pref=200, test result OK
*** h1 0.0 debug| select : pref=150, test result FAILED
*** h1 0.0 debug|Total: 3 (2 usable), will use kqueue.
*** h1 0.0 debug|
*** h1 0.0 debug|Available filters :
*** h1 0.0 debug|\t[SPOE] spoe
*** h1 0.0 debug|\t[COMP] compression
*** h1 0.0 debug|\t[TRACE] trace
*** h1 0.0 debug|Using kqueue() as the polling mechanism.
*** h1 0.0 debug|00000000:fe.accept(0006)=000b from [::1:23309] ALPN=<none>
*** h1 0.0 debug|00000000:fe.clireq[000b:ffffffff]: GET
/path/to/file.extension?qs_arg=qs_value HTTP/1.1
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr1: val1
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr2: val2a
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr2: val2b
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr3: val3a, val3b
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr4:
*** h1 0.0 debug|00000000:fe.clihdr[000b:ffffffff]: Host: 127.0.0.1
*** s1 0.0 accepted fd 4 127.0.0.1 23310
** s1 0.0 === rxreq
**** s1 0.0 rxhdr|GET
/bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq HTTP/1.1\r
**** s1 0.0 rxhdr|hdr1: val1\r
**** s1 0.0 rxhdr|hdr2: val2a\r
**** s1 0.0 rxhdr|hdr2: val2b\r
**** s1 0.0 rxhdr|hdr3: val3a, val3b\r
**** s1 0.0 rxhdr|hdr4:\r
**** s1 0.0 rxhdr|Host: 127.0.0.1\r
**** s1 0.0 rxhdr|sl1-crc: 992395575\r
**** s1 0.0 rxhdr|sl2-crc: 1270056220\r
**** s1 0.0 rxhdr|hdr-crc: 1719311923\r
**** s1 0.0 rxhdr|fe-sl1: sl1: method=<GET>;
uri=</path/to/file.extension?qs_arg=qs_value>; path=</path/to/file.extension>;
query=<qs_arg=qs_value>; param=<qs_value>\r
**** s1 0.0 rxhdr|fe-sl2: sl2: method=<GET>;
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>;
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>;
param=<qs_value>\r
**** s1 0.0 rxhdr|fe-hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>;
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;\r
**** s1 0.0 rxhdr|fe-sl1-crc: 992395575\r
**** s1 0.0 rxhdr|fe-sl2-crc: 1270056220\r
**** s1 0.0 rxhdr|fe-hdr-crc: 1719311923\r
**** s1 0.0 rxhdr|sl1: sl1: method=<GET>;
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>;
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>;
param=<qs_value>\r
**** s1 0.0 rxhdr|sl2: sl2: method=<GET>;
uri=</bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq>;
path=</bp//bp//path/to/file.extension/ep/ep>;
query=<bq&bq&qs_arg=qs_value&eq&eq>; param=<qs_value>\r
**** s1 0.0 rxhdr|hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>;
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; fhdr2=<val2b>; hdr3=<val3b>;
fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;\r
**** s1 0.0 rxhdr|be-sl1-crc: 2604236007\r
**** s1 0.0 rxhdr|be-sl2-crc: 4181358964\r
**** s1 0.0 rxhdr|be-hdr-crc: 3634102538\r
**** s1 0.0 rxhdr|\r
**** s1 0.0 rxhdrlen = 1420
**** s1 0.0 http[ 0] |GET
**** s1 0.0 http[ 1]
|/bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq
**** s1 0.0 http[ 2] |HTTP/1.1
**** s1 0.0 http[ 3] |hdr1: val1
**** s1 0.0 http[ 4] |hdr2: val2a
**** s1 0.0 http[ 5] |hdr2: val2b
**** s1 0.0 http[ 6] |hdr3: val3a, val3b
**** s1 0.0 http[ 7] |hdr4:
**** s1 0.0 http[ 8] |Host: 127.0.0.1
**** s1 0.0 http[ 9] |sl1-crc: 992395575
**** s1 0.0 http[10] |sl2-crc: 1270056220
**** s1 0.0 http[11] |hdr-crc: 1719311923
**** s1 0.0 http[12] |fe-sl1: sl1: method=<GET>;
uri=</path/to/file.extension?qs_arg=qs_value>; path=</path/to/file.extension>;
query=<qs_arg=qs_value>; param=<qs_value>
**** s1 0.0 http[13] |fe-sl2: sl2: method=<GET>;
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>;
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>;
param=<qs_value>
**** s1 0.0 http[14] |fe-hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>;
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
**** s1 0.0 http[15] |fe-sl1-crc: 992395575
**** s1 0.0 http[16] |fe-sl2-crc: 1270056220
**** s1 0.0 http[17] |fe-hdr-crc: 1719311923
**** s1 0.0 http[18] |sl1: sl1: method=<GET>;
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>;
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>;
param=<qs_value>
**** s1 0.0 http[19] |sl2: sl2: method=<GET>;
uri=</bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq>;
path=</bp//bp//path/to/file.extension/ep/ep>;
query=<bq&bq&qs_arg=qs_value&eq&eq>; param=<qs_value>
**** s1 0.0 http[20] |hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>;
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; fhdr2=<val2b>; hdr3=<val3b>;
fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
**** s1 0.0 http[21] |be-sl1-crc: 2604236007
**** s1 0.0 http[22] |be-sl2-crc: 4181358964
**** s1 0.0 http[23] |be-hdr-crc: 3634102538
**** s1 0.0 bodylen = 0
** s1 0.0 === txresp \
---- s1 0.0 Assert error in http_tx_parse_args(), vtc_http.c line 870:
Condition(body == nullbody) not true.
*** h1 1.0 debug|00000000:be.srvcls[000b:adfd]
*** h1 1.0 debug|00000000:be.clicls[000b:adfd]
*** h1 1.0 debug|00000000:be.closed[000b:adfd]
**** c1h1 1.0 rxhdr|HTTP/1.0 504 Gateway Time-out\r
**** c1h1 1.0 rxhdr|Cache-Control: no-cache\r
**** c1h1 1.0 rxhdr|Connection: close\r
**** c1h1 1.0 rxhdr|Content-Type: text/html\r
**** c1h1 1.0 rxhdr|\r
**** c1h1 1.0 rxhdrlen = 102
**** c1h1 1.0 http[ 0] |HTTP/1.0
**** c1h1 1.0 http[ 1] |504
**** c1h1 1.0 http[ 2] |Gateway Time-out
**** c1h1 1.0 http[ 3] |Cache-Control: no-cache
**** c1h1 1.0 http[ 4] |Connection: close
**** c1h1 1.0 http[ 5] |Content-Type: text/html
**** c1h1 1.0 bodylen = 0
*** c1h1 1.0 closing fd 8
** c1h1 1.0 Ending
* top 1.0 RESETTING after ./reg-tests/http-rules/h00001.vtc
** h1 1.0 Reset and free h1 haproxy 86375
** h1 1.0 Wait
** h1 1.0 Stop HAproxy pid=86375
**** h1 1.0 STDOUT poll 0x11
**** h1 1.0 Kill(2)=0: No error: 0
** h1 1.1 WAIT4 pid=86375 status=0x0002 (user 0.000000 sys 0.007598)
** s1 1.1 Waiting for server (3/-1)
* top 1.1 TEST ./reg-tests/http-rules/h00001.vtc FAILED