[master] 33953f071 doc: Add varnishtest macro syntax and built-in macros

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon Jul 5 15:48:06 UTC 2021


commit 33953f071b797b979370eb1756ffbbe6708fee1d
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Thu Jul 1 12:59:33 2021 +0200

    doc: Add varnishtest macro syntax and built-in macros

diff --git a/doc/sphinx/reference/vtc.rst b/doc/sphinx/reference/vtc.rst
index e88b44305..cd74e6c70 100644
--- a/doc/sphinx/reference/vtc.rst
+++ b/doc/sphinx/reference/vtc.rst
@@ -57,6 +57,64 @@ being the command and the following ones being its arguments. To continue over
 to a new line without breaking the argument string, you can escape the newline
 character (\\n) with a backslash (\\).
 
+MACROS
+======
+
+When a string is processed, macro expansion is performed. Macros are in the
+form ``${<name>[,<args>...]}``, they have a name followed by an optional
+comma- or space-separated list of arguments. Leading and trailing spaces are
+ignored.
+
+The macros ``${foo,bar,baz}`` and ``${ foo bar baz }`` are equivalent. If an
+argument contains a space or a comma, arguments can be quoted. For example the
+macro ``${foo,"bar,baz"}`` gives one argument ``bar,baz`` to the macro called
+``foo``.
+
+Unless documented otherwise, all macros are simple macros that don't take
+arguments.
+
+Built-in macros
+---------------
+
+``${bad_backend}``
+	A socket address that will reliably never accept connections.
+
+``${bad_ip}``
+	An unlikely IPv4 address.
+
+``${date}``
+	The current date and time formatted for HTTP.
+
+``${listen_addr}``
+	The default listen address various components use, by default a random
+	port on localhost.
+
+``${localhost}``
+	The first IP address that resolves to "localhost".
+
+``${pwd}``
+	The working directory from which ``varnishtest`` was executed.
+
+``${string,<action>[,<args>...]}``
+	The ``string`` macro is the entry point for text generation, it takes
+	a specialized action with each its own set of arguments.
+
+``${string,repeat,<uint>,<str>}``
+	Repeat ``uint`` times the string ``str``.
+
+``${testdir}``
+	The directory containing the VTC script of the ongoing test case
+	execution.
+
+``${tmpdir}``
+	The dedicated working directory for the ongoing test case execution,
+	which happens to also be the current working directory. Useful when an
+	absolute path to the working directory is needed.
+
+``${topbuild}``
+	Only present when the ``-i`` option is used, to work on Varnish itself
+	instead of a regular installation.
+
 SYNTAX
 ======
 


More information about the varnish-commit mailing list