diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-02-10 22:09:59 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2020-02-12 16:49:44 +0300 |
commit | d712f69f5f769c5eaada3c1f76419abfb7b6f7ed (patch) | |
tree | a7b36e3e87ce5ef71610f864645dbd7bc339a997 /tests/function | |
parent | 5524dcb9a9b10a65e450458eb76c84451a283ccc (diff) |
Add builtins support for $process.run*() functions
Diffstat (limited to 'tests/function')
-rw-r--r-- | tests/function/process/testscript | 144 |
1 files changed, 128 insertions, 16 deletions
diff --git a/tests/function/process/testscript b/tests/function/process/testscript index eaa8e2e..1da733d 100644 --- a/tests/function/process/testscript +++ b/tests/function/process/testscript @@ -5,25 +5,137 @@ : run : -$* <<EOI >>~/EOO/ -print $process.run($build.path --version) -EOI -/build2 .+/ -/.+/* -EOO +{ + : process + : + { + $* <<EOI >>~/EOO/ + print $process.run($build.path --version) + EOI + /build2 .+/ + /.+/* + EOO + } + + : bultin + : + { + echo 'abc' >=f; + + $* <<EOI >>EOO + print $process.run(sed -e 's/abc/xyz/' f) + EOI + xyz + EOO + } + + : escape-bultin + : + if ($cxx.target.class == 'linux') + { + cat <<EOI >=f; + a + + + b + EOI + + $* <<EOI >>EOO + print $process.run(^cat --squeeze-blank f) + EOI + a + + b + EOO + } +} : run-regex-match : -$* <<EOI >>~/EOO/ -print $process.run_regex($build.path --version, 'build2 .+') -EOI -/build2 .+/ -EOO +{ + : process + : + { + : success + : + { + $* <<EOI >>~/EOO/ + print $process.run_regex($build.path --version, 'build2 .+') + EOI + /build2 .+/ + EOO + } + + : failure + : + { + $* <<EOI 2>>~/EOE/ != 0 + print $process.run_regex($build.path --version, 'build2 (.+') + EOI + /error: invalid argument: invalid regex .+/ + /.+ + EOE + } + } + + : builtin + : + { + : success + : + { + cat <<EOI >=f; + 123 + abc + EOI + + $* <<EOI >>EOO + print $process.run_regex(cat f, 'a.+') + EOI + abc + EOO + } + + : failure + : + { + echo 'a' >=f; + + $* <<EOI 2>>~/EOE/ != 0 + print $process.run_regex(cat f, 'a(.+') + EOI + /error: invalid argument: invalid regex .+/ + /.+ + EOE + } + } +} : run-regex-replace : -$* <<EOI >>~/EOO/ -print $process.run_regex($build.path --version, 'build2 ([0-9.]+).*', '\1') -EOI -/[0-9]+.[0-9]+.[0-9]+/d -EOO +{ + : process + : + { + $* <<EOI >>~/EOO/ + print $process.run_regex($build.path --version, 'build2 ([0-9.]+).*', '\1') + EOI + /[0-9]+.[0-9]+.[0-9]+/d + EOO + } + + : builtin + : + { + cat <<EOI >=f; + 123 + abc + EOI + + $* <<EOI >>EOO + print $process.run_regex(cat f, 'a(.+)', 'x\1') + EOI + xbc + EOO + } +} |