REGTESTS: extend the default I/O timeouts and make them overridable
With the CI occasionally slowing down, we're starting to see again some
spurious failures despite the long 1-second timeouts. This reports false
positives that are disturbing and doesn't provide as much value as this
could. However at this delay it already becomes a pain for developers
to wait for the tests to complete.
This commit adds support for the new environment variable
HAPROXY_TEST_TIMEOUT that will allow anyone to modify the connect,
client and server timeouts. It was set to 5 seconds by default, which
should be plenty for quite some time in the CI. All relevant values
that were 200ms or above were replaced by this one. A few larger
values were left as they are special. One test for the set-timeout
action that used to rely on a fixed 1-sec value was extended to a
fixed 5-sec, as the timeout is normally not reached, but it needs
to be known to compare the old and new values.
diff --git a/reg-tests/http-messaging/h1_to_h1.vtc b/reg-tests/http-messaging/h1_to_h1.vtc
index 8d784d6..0d65366 100644
--- a/reg-tests/http-messaging/h1_to_h1.vtc
+++ b/reg-tests/http-messaging/h1_to_h1.vtc
@@ -122,9 +122,9 @@
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen feh1
bind "fd@${feh1}"
diff --git a/reg-tests/http-messaging/h2_to_h1.vtc b/reg-tests/http-messaging/h2_to_h1.vtc
index a5e5657..852ee4c 100644
--- a/reg-tests/http-messaging/h2_to_h1.vtc
+++ b/reg-tests/http-messaging/h2_to_h1.vtc
@@ -44,9 +44,9 @@
#log stdout format raw daemon
mode http
option http-buffer-request
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen feh1
bind "fd@${feh1}"
diff --git a/reg-tests/http-messaging/http_bodyless_response.vtc b/reg-tests/http-messaging/http_bodyless_response.vtc
index 2df824b..9e0ce1c 100644
--- a/reg-tests/http-messaging/http_bodyless_response.vtc
+++ b/reg-tests/http-messaging/http_bodyless_response.vtc
@@ -38,9 +38,9 @@
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen fe1
bind "fd@${fe1}"
diff --git a/reg-tests/http-messaging/http_msg_full_on_eom.vtc b/reg-tests/http-messaging/http_msg_full_on_eom.vtc
index 5e914ef..2edba7d 100644
--- a/reg-tests/http-messaging/http_msg_full_on_eom.vtc
+++ b/reg-tests/http-messaging/http_msg_full_on_eom.vtc
@@ -29,9 +29,9 @@
defaults
mode http
- timeout client 100ms
- timeout server 1s
- timeout connect 1s
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
backend be1
tcp-response inspect-delay 100ms
diff --git a/reg-tests/http-messaging/http_request_buffer.vtc b/reg-tests/http-messaging/http_request_buffer.vtc
index c417814..35cca28 100644
--- a/reg-tests/http-messaging/http_request_buffer.vtc
+++ b/reg-tests/http-messaging/http_request_buffer.vtc
@@ -34,9 +34,9 @@
haproxy h1 -conf {
defaults
mode http
- timeout client 100ms
- timeout server 1s
- timeout connect 1s
+ timeout client 100
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
backend be1
server srv1 ${s1_addr}:${s1_port}
diff --git a/reg-tests/http-messaging/http_transfer_encoding.vtc b/reg-tests/http-messaging/http_transfer_encoding.vtc
index 258b8a9..322dfe2 100644
--- a/reg-tests/http-messaging/http_transfer_encoding.vtc
+++ b/reg-tests/http-messaging/http_transfer_encoding.vtc
@@ -79,9 +79,9 @@
haproxy h1 -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen fe1
bind "fd@${fe1}"
diff --git a/reg-tests/http-messaging/http_wait_for_body.vtc b/reg-tests/http-messaging/http_wait_for_body.vtc
index be1ca5b..a9f8191 100644
--- a/reg-tests/http-messaging/http_wait_for_body.vtc
+++ b/reg-tests/http-messaging/http_wait_for_body.vtc
@@ -72,9 +72,9 @@
haproxy h1 -conf {
defaults
mode http
- timeout client 1s
- timeout server 1s
- timeout connect 1s
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
frontend fe1
bind "fd@${fe1}"
diff --git a/reg-tests/http-messaging/protocol_upgrade.vtc b/reg-tests/http-messaging/protocol_upgrade.vtc
index 3458e77..ebb6328 100644
--- a/reg-tests/http-messaging/protocol_upgrade.vtc
+++ b/reg-tests/http-messaging/protocol_upgrade.vtc
@@ -88,9 +88,9 @@
haproxy hap -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
# h1 frontend connected to h2 frontend
listen frt_h1_h2
diff --git a/reg-tests/http-messaging/scheme_based_normalize.vtc b/reg-tests/http-messaging/scheme_based_normalize.vtc
index 4511a5f..3edbafb 100644
--- a/reg-tests/http-messaging/scheme_based_normalize.vtc
+++ b/reg-tests/http-messaging/scheme_based_normalize.vtc
@@ -20,9 +20,9 @@
haproxy h1 -conf {
defaults
mode http
- timeout connect 5s
- timeout client 5s
- timeout server 5s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
frontend fe
bind "fd@${fe}" proto h2
diff --git a/reg-tests/http-messaging/srv_ws.vtc b/reg-tests/http-messaging/srv_ws.vtc
index 32369a1..b26908e 100644
--- a/reg-tests/http-messaging/srv_ws.vtc
+++ b/reg-tests/http-messaging/srv_ws.vtc
@@ -11,9 +11,9 @@
haproxy hapsrv -conf {
defaults
mode http
- timeout connect 5s
- timeout client 5s
- timeout server 5s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
frontend fe
bind "fd@${fe}"
@@ -40,9 +40,9 @@
haproxy hap -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
# proto X ws h1 -> websocket on h1
listen li
diff --git a/reg-tests/http-messaging/websocket.vtc b/reg-tests/http-messaging/websocket.vtc
index 472e5f2..5f4b960 100644
--- a/reg-tests/http-messaging/websocket.vtc
+++ b/reg-tests/http-messaging/websocket.vtc
@@ -47,9 +47,9 @@
haproxy hap_srv -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen fe1
bind "fd@${fe1}"
@@ -69,9 +69,9 @@
haproxy hap_srv_bad_key -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen fe1
bind "fd@${fe1}"
@@ -89,9 +89,9 @@
haproxy hap -conf {
defaults
mode http
- timeout connect 1s
- timeout client 1s
- timeout server 1s
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
listen fe1
bind "fd@${fe1}"