From 5007870b52aa549971824959a55ad3bb886f09e0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 3 Sep 2018 16:37:32 +0200 Subject: Rename .test/test{} to .testscript/testscript{} --- unit-tests/test/script/lexer/buildfile | 2 +- .../test/script/lexer/command-expansion.test | 248 --------------------- .../test/script/lexer/command-expansion.testscript | 248 +++++++++++++++++++++ unit-tests/test/script/lexer/command-line.test | 208 ----------------- .../test/script/lexer/command-line.testscript | 208 +++++++++++++++++ unit-tests/test/script/lexer/description-line.test | 33 --- .../test/script/lexer/description-line.testscript | 33 +++ unit-tests/test/script/lexer/first-token.test | 97 -------- .../test/script/lexer/first-token.testscript | 97 ++++++++ unit-tests/test/script/lexer/second-token.test | 68 ------ .../test/script/lexer/second-token.testscript | 68 ++++++ unit-tests/test/script/lexer/variable-line.test | 28 --- .../test/script/lexer/variable-line.testscript | 28 +++ unit-tests/test/script/lexer/variable.test | 70 ------ unit-tests/test/script/lexer/variable.testscript | 70 ++++++ 15 files changed, 753 insertions(+), 753 deletions(-) delete mode 100644 unit-tests/test/script/lexer/command-expansion.test create mode 100644 unit-tests/test/script/lexer/command-expansion.testscript delete mode 100644 unit-tests/test/script/lexer/command-line.test create mode 100644 unit-tests/test/script/lexer/command-line.testscript delete mode 100644 unit-tests/test/script/lexer/description-line.test create mode 100644 unit-tests/test/script/lexer/description-line.testscript delete mode 100644 unit-tests/test/script/lexer/first-token.test create mode 100644 unit-tests/test/script/lexer/first-token.testscript delete mode 100644 unit-tests/test/script/lexer/second-token.test create mode 100644 unit-tests/test/script/lexer/second-token.testscript delete mode 100644 unit-tests/test/script/lexer/variable-line.test create mode 100644 unit-tests/test/script/lexer/variable-line.testscript delete mode 100644 unit-tests/test/script/lexer/variable.test create mode 100644 unit-tests/test/script/lexer/variable.testscript (limited to 'unit-tests/test/script/lexer') diff --git a/unit-tests/test/script/lexer/buildfile b/unit-tests/test/script/lexer/buildfile index 34c5d9f..bbfc032 100644 --- a/unit-tests/test/script/lexer/buildfile +++ b/unit-tests/test/script/lexer/buildfile @@ -3,4 +3,4 @@ # license : MIT; see accompanying LICENSE file include ../../../../build2/ -exe{driver}: {hxx cxx}{*} ../../../../build2/libu{b} test{*} +exe{driver}: {hxx cxx}{*} ../../../../build2/libu{b} testscript{*} diff --git a/unit-tests/test/script/lexer/command-expansion.test b/unit-tests/test/script/lexer/command-expansion.test deleted file mode 100644 index 88d7ced..0000000 --- a/unit-tests/test/script/lexer/command-expansion.test +++ /dev/null @@ -1,248 +0,0 @@ -# file : unit-tests/test/script/lexer/command-expansion.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -test.arguments = command-expansion - -: pass-redirect -: -{ - : in - : - $* <:"0<|" >>EOO - '0' - <| - EOO - - : arg-in - : - $* <:"0 <|" >>EOO - '0 ' - <| - EOO - - : out - : - $* <:"1>|" >>EOO - '1' - >| - EOO - - : arg-out - : - $* <:"1 >|" >>EOO - '1 ' - >| - EOO -} - -: null-redirect -: -{ - : in - : - $* <:"0<-" >>EOO - '0' - <- - EOO - - : arg-in - : - $* <:"0 <-" >>EOO - '0 ' - <- - EOO - - : out - : - $* <:"1>-" >>EOO - '1' - >- - EOO - - : arg-out - : - $* <:"1 >-" >>EOO - '1 ' - >- - EOO -} - -: trace-redirect -: -{ - : out - : - $* <:"1>!" >>EOO - '1' - >! - EOO - - : arg-out - : - $* <:"1 >!" >>EOO - '1 ' - >! - EOO -} - -: merge-redirect -: -{ - : out - : - $* <:"1>&2" >>EOO - '1' - >& - '2' - EOO - - : arg-out - : - $* <:"1 >&2" >>EOO - '1 ' - >& - '2' - EOO -} - -: str-redirect -: -{ - : in - : - { - : newline - : - $* <:"0>EOO - '0' - < - 'a b' - EOO - - : no-newline - : - $* <:"0<:a b" >>EOO - '0' - <: - 'a b' - EOO - } - - : out - : - { - : newline - : - $* <:"1>a b" >>EOO - '1' - > - 'a b' - EOO - - : no-newline - : - $* <:"1>:a b" >>EOO - '1' - >: - 'a b' - EOO - } -} - -: doc-redirect -: -{ - : in - : - { - : newline - : - $* <:"0<>EOO - '0' - << - 'E O I' - EOO - - : no-newline - : - $* <:"0<<:E O I" >>EOO - '0' - <<: - 'E O I' - EOO - } - - : out - : - { - : newline - : - $* <:"1>>E O O" >>EOO - '1' - >> - 'E O O' - EOO - - : no-newline - : - $* <:"1>>:E O O" >>EOO - '1' - >>: - 'E O O' - EOO - } -} - -: file-redirect -: -{ - : in - : - $* <:"0<<>EOO - '0' - <<< - 'a b' - EOO - - : out - : - $* <:"1>=a b" >>EOO - '1' - >= - 'a b' - EOO - - : out-app - : - $* <:"1>+a b" >>EOO - '1' - >+ - 'a b' - EOO -} - -: cleanup -: -{ - : always - : - $* <:"&file" >>EOO - & - 'file' - EOO - - : maybe - : - $* <:"&?file" >>EOO - &? - 'file' - EOO - - : never - : - $* <:"&!file" >>EOO - &! - 'file' - EOO -} diff --git a/unit-tests/test/script/lexer/command-expansion.testscript b/unit-tests/test/script/lexer/command-expansion.testscript new file mode 100644 index 0000000..228fb61 --- /dev/null +++ b/unit-tests/test/script/lexer/command-expansion.testscript @@ -0,0 +1,248 @@ +# file : unit-tests/test/script/lexer/command-expansion.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +test.arguments = command-expansion + +: pass-redirect +: +{ + : in + : + $* <:"0<|" >>EOO + '0' + <| + EOO + + : arg-in + : + $* <:"0 <|" >>EOO + '0 ' + <| + EOO + + : out + : + $* <:"1>|" >>EOO + '1' + >| + EOO + + : arg-out + : + $* <:"1 >|" >>EOO + '1 ' + >| + EOO +} + +: null-redirect +: +{ + : in + : + $* <:"0<-" >>EOO + '0' + <- + EOO + + : arg-in + : + $* <:"0 <-" >>EOO + '0 ' + <- + EOO + + : out + : + $* <:"1>-" >>EOO + '1' + >- + EOO + + : arg-out + : + $* <:"1 >-" >>EOO + '1 ' + >- + EOO +} + +: trace-redirect +: +{ + : out + : + $* <:"1>!" >>EOO + '1' + >! + EOO + + : arg-out + : + $* <:"1 >!" >>EOO + '1 ' + >! + EOO +} + +: merge-redirect +: +{ + : out + : + $* <:"1>&2" >>EOO + '1' + >& + '2' + EOO + + : arg-out + : + $* <:"1 >&2" >>EOO + '1 ' + >& + '2' + EOO +} + +: str-redirect +: +{ + : in + : + { + : newline + : + $* <:"0>EOO + '0' + < + 'a b' + EOO + + : no-newline + : + $* <:"0<:a b" >>EOO + '0' + <: + 'a b' + EOO + } + + : out + : + { + : newline + : + $* <:"1>a b" >>EOO + '1' + > + 'a b' + EOO + + : no-newline + : + $* <:"1>:a b" >>EOO + '1' + >: + 'a b' + EOO + } +} + +: doc-redirect +: +{ + : in + : + { + : newline + : + $* <:"0<>EOO + '0' + << + 'E O I' + EOO + + : no-newline + : + $* <:"0<<:E O I" >>EOO + '0' + <<: + 'E O I' + EOO + } + + : out + : + { + : newline + : + $* <:"1>>E O O" >>EOO + '1' + >> + 'E O O' + EOO + + : no-newline + : + $* <:"1>>:E O O" >>EOO + '1' + >>: + 'E O O' + EOO + } +} + +: file-redirect +: +{ + : in + : + $* <:"0<<>EOO + '0' + <<< + 'a b' + EOO + + : out + : + $* <:"1>=a b" >>EOO + '1' + >= + 'a b' + EOO + + : out-app + : + $* <:"1>+a b" >>EOO + '1' + >+ + 'a b' + EOO +} + +: cleanup +: +{ + : always + : + $* <:"&file" >>EOO + & + 'file' + EOO + + : maybe + : + $* <:"&?file" >>EOO + &? + 'file' + EOO + + : never + : + $* <:"&!file" >>EOO + &! + 'file' + EOO +} diff --git a/unit-tests/test/script/lexer/command-line.test b/unit-tests/test/script/lexer/command-line.test deleted file mode 100644 index 0b396b8..0000000 --- a/unit-tests/test/script/lexer/command-line.test +++ /dev/null @@ -1,208 +0,0 @@ -# file : unit-tests/test/script/lexer/command-line.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -test.arguments = command-line - -: semi -{ - : immediate - : - $* <"cmd;" >>EOO - 'cmd' - ; - - EOO - - : separated - : - $* <"cmd ;" >>EOO - 'cmd' - ; - - EOO - - : only - : - $* <";" >>EOO - ; - - EOO -} - -: colon -: -{ - : immediate - : - $* <"cmd: dsc" >>EOO - 'cmd' - : - 'dsc' - - EOO - - : separated - : - $* <"cmd :dsc" >>EOO - 'cmd' - : - 'dsc' - - EOO - - : only - : - $* <":" >>EOO - : - - EOO -} - -: redirect -: -{ - : pass - : - $* <"cmd <| 1>|" >>EOO - 'cmd' - <| - '1' - >| - - EOO - - : null - : - $* <"cmd <- 1>-" >>EOO - 'cmd' - <- - '1' - >- - - EOO - - : trace - : - $* <"cmd 1>!" >>EOO - 'cmd' - '1' - >! - - EOO - - : merge - : - $* <"cmd 1>&2" >>EOO - 'cmd' - '1' - >& - '2' - - EOO - - : str - : - $* <"cmd b" >>EOO - 'cmd' - < - 'a' - '1' - > - 'b' - - EOO - - : str-nn - : - $* <"cmd <:a 1>:b" >>EOO - 'cmd' - <: - 'a' - '1' - >: - 'b' - - EOO - - : doc - : - $* <"cmd <>EOO" >>EOO - 'cmd' - << - 'EOI' - '1' - >> - 'EOO' - - EOO - - : doc-nn - : - $* <"cmd <<:EOI 1>>:EOO" >>EOO - 'cmd' - <<: - 'EOI' - '1' - >>: - 'EOO' - - EOO - - : file-cmp - : - $* <"cmd <<>>out 2>>>err" >>EOO - 'cmd' - <<< - 'in' - >>> - 'out' - '2' - >>> - 'err' - - EOO - - : file-write - : - $* <"cmd >=out 2>+err" >>EOO - 'cmd' - >= - 'out' - '2' - >+ - 'err' - - EOO -} - -: cleanup -: -{ - : always - : - $* <"cmd &file" >>EOO - 'cmd' - & - 'file' - - EOO - - : maybe - : - $* <"cmd &?file" >>EOO - 'cmd' - &? - 'file' - - EOO - - : never - : - $* <"cmd &!file" >>EOO - 'cmd' - &! - 'file' - - EOO -} diff --git a/unit-tests/test/script/lexer/command-line.testscript b/unit-tests/test/script/lexer/command-line.testscript new file mode 100644 index 0000000..f84bc86 --- /dev/null +++ b/unit-tests/test/script/lexer/command-line.testscript @@ -0,0 +1,208 @@ +# file : unit-tests/test/script/lexer/command-line.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +test.arguments = command-line + +: semi +{ + : immediate + : + $* <"cmd;" >>EOO + 'cmd' + ; + + EOO + + : separated + : + $* <"cmd ;" >>EOO + 'cmd' + ; + + EOO + + : only + : + $* <";" >>EOO + ; + + EOO +} + +: colon +: +{ + : immediate + : + $* <"cmd: dsc" >>EOO + 'cmd' + : + 'dsc' + + EOO + + : separated + : + $* <"cmd :dsc" >>EOO + 'cmd' + : + 'dsc' + + EOO + + : only + : + $* <":" >>EOO + : + + EOO +} + +: redirect +: +{ + : pass + : + $* <"cmd <| 1>|" >>EOO + 'cmd' + <| + '1' + >| + + EOO + + : null + : + $* <"cmd <- 1>-" >>EOO + 'cmd' + <- + '1' + >- + + EOO + + : trace + : + $* <"cmd 1>!" >>EOO + 'cmd' + '1' + >! + + EOO + + : merge + : + $* <"cmd 1>&2" >>EOO + 'cmd' + '1' + >& + '2' + + EOO + + : str + : + $* <"cmd b" >>EOO + 'cmd' + < + 'a' + '1' + > + 'b' + + EOO + + : str-nn + : + $* <"cmd <:a 1>:b" >>EOO + 'cmd' + <: + 'a' + '1' + >: + 'b' + + EOO + + : doc + : + $* <"cmd <>EOO" >>EOO + 'cmd' + << + 'EOI' + '1' + >> + 'EOO' + + EOO + + : doc-nn + : + $* <"cmd <<:EOI 1>>:EOO" >>EOO + 'cmd' + <<: + 'EOI' + '1' + >>: + 'EOO' + + EOO + + : file-cmp + : + $* <"cmd <<>>out 2>>>err" >>EOO + 'cmd' + <<< + 'in' + >>> + 'out' + '2' + >>> + 'err' + + EOO + + : file-write + : + $* <"cmd >=out 2>+err" >>EOO + 'cmd' + >= + 'out' + '2' + >+ + 'err' + + EOO +} + +: cleanup +: +{ + : always + : + $* <"cmd &file" >>EOO + 'cmd' + & + 'file' + + EOO + + : maybe + : + $* <"cmd &?file" >>EOO + 'cmd' + &? + 'file' + + EOO + + : never + : + $* <"cmd &!file" >>EOO + 'cmd' + &! + 'file' + + EOO +} diff --git a/unit-tests/test/script/lexer/description-line.test b/unit-tests/test/script/lexer/description-line.test deleted file mode 100644 index 5f2ea13..0000000 --- a/unit-tests/test/script/lexer/description-line.test +++ /dev/null @@ -1,33 +0,0 @@ -# file : unit-tests/test/script/lexer/description-line.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -test.arguments = description-line - -: full -: -$* <" foo bar " >>EOO -' foo bar ' - -EOO - -: space -: -$* <" " >>EOO -' ' - -EOO - -: empty -: -$* <"" >>EOO - -EOO - -: eof -: -$* <:"foo" >>EOO 2>>EOE != 0 -'foo' -EOO -stdin:1:4: error: expected newline at the end of description line -EOE diff --git a/unit-tests/test/script/lexer/description-line.testscript b/unit-tests/test/script/lexer/description-line.testscript new file mode 100644 index 0000000..e14c8a0 --- /dev/null +++ b/unit-tests/test/script/lexer/description-line.testscript @@ -0,0 +1,33 @@ +# file : unit-tests/test/script/lexer/description-line.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +test.arguments = description-line + +: full +: +$* <" foo bar " >>EOO +' foo bar ' + +EOO + +: space +: +$* <" " >>EOO +' ' + +EOO + +: empty +: +$* <"" >>EOO + +EOO + +: eof +: +$* <:"foo" >>EOO 2>>EOE != 0 +'foo' +EOO +stdin:1:4: error: expected newline at the end of description line +EOE diff --git a/unit-tests/test/script/lexer/first-token.test b/unit-tests/test/script/lexer/first-token.test deleted file mode 100644 index d754d69..0000000 --- a/unit-tests/test/script/lexer/first-token.test +++ /dev/null @@ -1,97 +0,0 @@ -# file : unit-tests/test/script/lexer/first-token.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -# Note: this mode auto-expires after each token. -# -test.arguments = first-token - -: dot -: -$* <"." >>EOO -. - -EOO - -: semi -: -$* <";" >>EOO -; - -EOO - -: colon -: -$* <":" >>EOO -: - -EOO - -: lcbrace -: -$* <"{" >>EOO -{ - -EOO - -: rcbrace -: -$* <"}" >>EOO -} - -EOO - -: setup -: -$* <"+foo" >>EOO -+ -'foo' - -EOO - -: tdown -: -$* <"- foo" >>EOO -- -'foo' - -EOO - -: plus-leading -: -$* <"foo+bar" >>EOO -'foo+bar' - -EOO - -: minus-leading -: -$* <"foo- x" >>EOO -'foo-' -'x' - -EOO - -: assign -: -$* <"foo=" >>EOO -'foo' -'=' - -EOO - -: append -: -$* <"foo+=" >>EOO -'foo' -'+=' - -EOO - -: prepend -: -$* <"foo=+" >>EOO -'foo' -'=+' - -EOO diff --git a/unit-tests/test/script/lexer/first-token.testscript b/unit-tests/test/script/lexer/first-token.testscript new file mode 100644 index 0000000..0484b6d --- /dev/null +++ b/unit-tests/test/script/lexer/first-token.testscript @@ -0,0 +1,97 @@ +# file : unit-tests/test/script/lexer/first-token.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Note: this mode auto-expires after each token. +# +test.arguments = first-token + +: dot +: +$* <"." >>EOO +. + +EOO + +: semi +: +$* <";" >>EOO +; + +EOO + +: colon +: +$* <":" >>EOO +: + +EOO + +: lcbrace +: +$* <"{" >>EOO +{ + +EOO + +: rcbrace +: +$* <"}" >>EOO +} + +EOO + +: setup +: +$* <"+foo" >>EOO ++ +'foo' + +EOO + +: tdown +: +$* <"- foo" >>EOO +- +'foo' + +EOO + +: plus-leading +: +$* <"foo+bar" >>EOO +'foo+bar' + +EOO + +: minus-leading +: +$* <"foo- x" >>EOO +'foo-' +'x' + +EOO + +: assign +: +$* <"foo=" >>EOO +'foo' +'=' + +EOO + +: append +: +$* <"foo+=" >>EOO +'foo' +'+=' + +EOO + +: prepend +: +$* <"foo=+" >>EOO +'foo' +'=+' + +EOO diff --git a/unit-tests/test/script/lexer/second-token.test b/unit-tests/test/script/lexer/second-token.test deleted file mode 100644 index 8b3f452..0000000 --- a/unit-tests/test/script/lexer/second-token.test +++ /dev/null @@ -1,68 +0,0 @@ -# file : unit-tests/test/script/lexer/second-token.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -# Note: this mode auto-expires after each token. -# -test.arguments = second-token - -: semi -: -$* <";" >>EOO -; - -EOO - -: colon -: -$* <":" >>EOO -: - -EOO - -: assign -: -$* <"=foo" >>EOO -= -'foo' - -EOO - -: append -: -$* <"+= foo" >>EOO -+= -'foo' - -EOO - -: prepend -: -$* <" =+ foo" >>EOO -=+ -'foo' - -EOO - -: assign-leading -: -$* <"foo=bar" >>EOO -'foo=bar' - -EOO - -: append-leading -: -$* <"foo+= bar" >>EOO -'foo+=' -'bar' - -EOO - -: prepend-leading -: -$* <"foo =+bar" >>EOO -'foo' -'=+bar' - -EOO diff --git a/unit-tests/test/script/lexer/second-token.testscript b/unit-tests/test/script/lexer/second-token.testscript new file mode 100644 index 0000000..d7cc501 --- /dev/null +++ b/unit-tests/test/script/lexer/second-token.testscript @@ -0,0 +1,68 @@ +# file : unit-tests/test/script/lexer/second-token.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Note: this mode auto-expires after each token. +# +test.arguments = second-token + +: semi +: +$* <";" >>EOO +; + +EOO + +: colon +: +$* <":" >>EOO +: + +EOO + +: assign +: +$* <"=foo" >>EOO += +'foo' + +EOO + +: append +: +$* <"+= foo" >>EOO ++= +'foo' + +EOO + +: prepend +: +$* <" =+ foo" >>EOO +=+ +'foo' + +EOO + +: assign-leading +: +$* <"foo=bar" >>EOO +'foo=bar' + +EOO + +: append-leading +: +$* <"foo+= bar" >>EOO +'foo+=' +'bar' + +EOO + +: prepend-leading +: +$* <"foo =+bar" >>EOO +'foo' +'=+bar' + +EOO diff --git a/unit-tests/test/script/lexer/variable-line.test b/unit-tests/test/script/lexer/variable-line.test deleted file mode 100644 index 68d3a71..0000000 --- a/unit-tests/test/script/lexer/variable-line.test +++ /dev/null @@ -1,28 +0,0 @@ -# file : unit-tests/test/script/lexer/variable-line.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -test.arguments = variable-line - -: semi -: -$* <"cmd;" >>EOO -'cmd' -; - -EOO - -: semi-separated -: -$* <"cmd ;" >>EOO -'cmd' -; - -EOO - -: semi-only -: -$* <";" >>EOO -; - -EOO diff --git a/unit-tests/test/script/lexer/variable-line.testscript b/unit-tests/test/script/lexer/variable-line.testscript new file mode 100644 index 0000000..b28bc93 --- /dev/null +++ b/unit-tests/test/script/lexer/variable-line.testscript @@ -0,0 +1,28 @@ +# file : unit-tests/test/script/lexer/variable-line.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +test.arguments = variable-line + +: semi +: +$* <"cmd;" >>EOO +'cmd' +; + +EOO + +: semi-separated +: +$* <"cmd ;" >>EOO +'cmd' +; + +EOO + +: semi-only +: +$* <";" >>EOO +; + +EOO diff --git a/unit-tests/test/script/lexer/variable.test b/unit-tests/test/script/lexer/variable.test deleted file mode 100644 index 60106ab..0000000 --- a/unit-tests/test/script/lexer/variable.test +++ /dev/null @@ -1,70 +0,0 @@ -# file : unit-tests/test/script/lexer/variable.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -# Test handling custom variable names ($*, $~, $NN). -# -test.arguments = variable - -: command -: -{ - : only - : - $* <"*" >>EOO - '*' - - EOO - - : followed - : - $* <"*abc" >>EOO - '*' - 'abc' - - EOO -} - -: working-dir -: -{ - : only - : - $* <"~" >>EOO - '~' - - EOO - - : followed - : - $* <"~123" >>EOO - '~' - '123' - - EOO -} - -: arg -: -{ - : only - : - $* <"0" >>EOO - '0' - - EOO - - : followed - : - $* <"1abc" >>EOO - '1' - 'abc' - - EOO - - : multi-digit - : - $* <"10" 2>>EOE != 0 - stdin:1:1: error: multi-digit special variable name - EOE -} diff --git a/unit-tests/test/script/lexer/variable.testscript b/unit-tests/test/script/lexer/variable.testscript new file mode 100644 index 0000000..b4f793e --- /dev/null +++ b/unit-tests/test/script/lexer/variable.testscript @@ -0,0 +1,70 @@ +# file : unit-tests/test/script/lexer/variable.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Test handling custom variable names ($*, $~, $NN). +# +test.arguments = variable + +: command +: +{ + : only + : + $* <"*" >>EOO + '*' + + EOO + + : followed + : + $* <"*abc" >>EOO + '*' + 'abc' + + EOO +} + +: working-dir +: +{ + : only + : + $* <"~" >>EOO + '~' + + EOO + + : followed + : + $* <"~123" >>EOO + '~' + '123' + + EOO +} + +: arg +: +{ + : only + : + $* <"0" >>EOO + '0' + + EOO + + : followed + : + $* <"1abc" >>EOO + '1' + 'abc' + + EOO + + : multi-digit + : + $* <"10" 2>>EOE != 0 + stdin:1:1: error: multi-digit special variable name + EOE +} -- cgit v1.1