]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
REGTESTS: mcli: test the pipelined commands on master CLI
authorWilliam Lallemand <wlallemand@haproxy.com>
Thu, 8 Aug 2024 15:21:12 +0000 (17:21 +0200)
committerWilliam Lallemand <wlallemand@haproxy.com>
Thu, 8 Aug 2024 15:29:37 +0000 (17:29 +0200)
A recent fix broke the pipelined command on the master CLI, this
reg-tests implement a simple test that allow to check its right
behavior.

This could be backported as far as 2.6.

reg-tests/mcli/mcli_debug_dev.vtc [new file with mode: 0644]

diff --git a/reg-tests/mcli/mcli_debug_dev.vtc b/reg-tests/mcli/mcli_debug_dev.vtc
new file mode 100644 (file)
index 0000000..beab616
--- /dev/null
@@ -0,0 +1,45 @@
+varnishtest "Test master CLI multiple commands with export-mode"
+
+# This test only checks if the master CLI parsing with pipelined commands is working:
+#
+# - @1 must be skipped and allow to select the worker
+# - expert-mode must be skipped and allow to send expert-mode for every command to the worker
+# - dev log must send a log to the syslog
+
+
+feature ignore_unknown_macro
+
+# Do nothing. Is there only to create s1_* macros
+server s1 {
+} -start
+
+syslog S1 -level info {
+       recv
+       expect ~ ".*Victory\n"
+} -start
+
+
+haproxy h1 -W -S -conf {
+    global
+       log ${S1_addr}:${S1_port} local0 info
+
+    defaults
+        mode http
+        timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+        timeout client  "${HAPROXY_TEST_TIMEOUT-5s}"
+        timeout server  "${HAPROXY_TEST_TIMEOUT-5s}"
+
+    frontend myfrontend
+        bind "fd@${my_fe}"
+        default_backend test
+
+    backend test
+        server www1 ${s1_addr}:${s1_port}
+} -start
+
+haproxy h1 -mcli {
+    send "@1; expert-mode on; debug dev log Victory"
+    expect ~ ".*"
+} -wait
+
+syslog S1 -wait