diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-12-08 22:40:54 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2020-12-11 18:58:13 +0300 |
commit | cb558e4bd2b817bc72275c2bbd90dfe9fe380af9 (patch) | |
tree | 83bb92e3dc8a7744b30a9c9cfd12106780f24691 /doc | |
parent | ff0bf71889b041be794e8bd47d5be57f6eb07ad1 (diff) |
Add export script pseudo-builtin
Diffstat (limited to 'doc')
-rw-r--r-- | doc/testscript.cli | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/doc/testscript.cli b/doc/testscript.cli index badbe97..4721a88 100644 --- a/doc/testscript.cli +++ b/doc/testscript.cli @@ -2461,12 +2461,14 @@ env - --unset=FOO -- $* \li|\n\c{-t|--timeout <sec>} Terminate the command if it fails to complete within the specified number - of seconds. See also \l{#builtins-timeout \c{timeout}} builtin.| + of seconds. See also the \l{#builtins-timeout \c{timeout}} builtin.| \li|\n\c{-u|--unset <name>} Remove the specified variable from the environment.|| +See also the \l{#builtins-export \c{export}} builtin. + \h#builtins-exit|\c{exit}| @@ -2488,6 +2490,38 @@ the outer scopes unsuccessfully, as if the \c{exit} command failed. In this case the argument must be the diagnostics string describing the error. +\h#builtins-export|\c{export}| + +\ +export [-c <name>]... [-u <name>]... [<name>=<value>]... +\ + +Add/remove the variables to/from the current scope commands execution +environment and/or clear the previous additions/removals. + +Note that \c{export} is a \i{pseudo-builtin}. In particular, it must be the +only command in the pipe expression, it either succeeds or terminates +abnormally, and its standard streams cannot be redirected. + +The environment variables can be added and removed on multiple levels: with +the \c{export} builtin in the nested test group scopes and the test scope and +with the \l{#builtins-env \c{env}} builtin for individual commands. Before +executing a command, all the variable additions and removals from its +environment hierarchy are merged so that those specified in the inner levels +override those specified in the outer levels. + +\dl| + +\li|\n\c{-c|--clear <name>} + + Clear the previous variable addition/removal to/from the environment, if + exists.| + +\li|\n\c{-u|--unset <name>} + + Remove the specified variable from the environment.|| + + \h#builtins-false|\c{false}| \ @@ -2866,11 +2900,11 @@ The timeouts can be set on multiple levels: via the \c{config.test.timeout} variable on the (potentially nested) project root scopes (see \l{build2#module-test \c{test}} module for details), with the \c{timeout} builtin in the nested test group scopes and the test scope, and with the -\c{env} builtin for individual commands. Each command must complete before the -nearest timeout from its timeout hierarchy. Failed that, a command is -terminated forcibly causing the entire \c{test} operation to fail unless the -expired timeout was specified with the \c{--success} option, in which case the -timed out command is assumed to have succeeded. +\l{#builtins-env \c{env}} builtin for individual commands. Each command must +complete before the nearest timeout from its timeout hierarchy. Failed that, a +command is terminated forcibly causing the entire \c{test} operation to fail +unless the expired timeout was specified with the \c{--success} option, in +which case the timed out command is assumed to have succeeded. \dl| |