From c55240fb05151cae046c75a793c164d72c988db2 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 6 Jan 2017 18:46:58 +0300 Subject: Tests cleanup (take 2) --- unit-tests/test/script/lexer/command-line.test | 311 +++++++++++++++---------- 1 file changed, 182 insertions(+), 129 deletions(-) (limited to 'unit-tests/test/script/lexer/command-line.test') diff --git a/unit-tests/test/script/lexer/command-line.test b/unit-tests/test/script/lexer/command-line.test index 0040cfe..8a73b3d 100644 --- a/unit-tests/test/script/lexer/command-line.test +++ b/unit-tests/test/script/lexer/command-line.test @@ -1,134 +1,187 @@ +# file : unit-tests/test/script/lexer/command-line.test +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + test.arguments = command-line -$* <"cmd;" >>EOO # semi -'cmd' -; - -EOO - -$* <"cmd ;" >>EOO # semi-separated -'cmd' -; - -EOO - -$* <";" >>EOO # semi-only -; - -EOO - -$* <"cmd: dsc" >>EOO # colon -'cmd' +: semi +{ + : immediate + : + $* <"cmd;" >>EOO + 'cmd' + ; + + EOO + + : separated + : + $* <"cmd ;" >>EOO + 'cmd' + ; + + EOO + + : only + : + $* <";" >>EOO + ; + + EOO +} + +: colon : -'dsc' - -EOO - -$* <"cmd :dsc" >>EOO # colon-separated -'cmd' +{ + : immediate + : + $* <"cmd: dsc" >>EOO + 'cmd' + : + 'dsc' + + EOO + + : separated + : + $* <"cmd :dsc" >>EOO + 'cmd' + : + 'dsc' + + EOO + + : only + : + $* <":" >>EOO + : + + EOO +} + +: redirect : -'dsc' - -EOO - -$* <":" >>EOO # colon-only +{ + : pass + : + $* <"cmd <+ 1>+" >>EOO + 'cmd' + <+ + '1' + >+ + + EOO + + : null + : + $* <"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 + : + $* <"cmd <<>>out 2>>>&err" >>EOO + 'cmd' + <<< + 'in' + >>> + 'out' + '2' + >>>& + 'err' + + EOO +} + +: cleanup : - -EOO - -$* <"cmd <+ 1>+" >>EOO # pass-redirect -'cmd' -<+ -'1' ->+ - -EOO - -$* <"cmd <- 1>-" >>EOO # null-redirect -'cmd' -<- -'1' ->- - -EOO - -$* <"cmd 1>&2" >>EOO # merge-redirect -'cmd' -'1' ->& -'2' - -EOO - -$* <"cmd b" >>EOO # str-redirect -'cmd' -< -'a' -'1' -> -'b' - -EOO - -$* <"cmd <:a 1>:b" >>EOO # str-nn-redirect -'cmd' -<: -'a' -'1' ->: -'b' - -EOO - -$* <"cmd <>EOO" >>EOO # doc-redirect -'cmd' -<< -'EOI' -'1' ->> -'EOO' - -EOO - -$* <"cmd <<:EOI 1>>:EOO" >>EOO # doc-nn-redirect -'cmd' -<<: -'EOI' -'1' ->>: -'EOO' - -EOO - -$* <"cmd <<>>out 2>>>&err" >>EOO # file-redirect -'cmd' -<<< -'in' ->>> -'out' -'2' ->>>& -'err' - -EOO - -$* <"cmd &file" >>EOO # cleanup-always -'cmd' -& -'file' - -EOO - -$* <"cmd &?file" >>EOO # cleanup-maybe -'cmd' -&? -'file' - -EOO - -$* <"cmd &!file" >>EOO # cleanup-never -'cmd' -&! -'file' - -EOO +{ + : always + : + $* <"cmd &file" >>EOO + 'cmd' + & + 'file' + + EOO + + : maybe + : + $* <"cmd &?file" >>EOO + 'cmd' + &? + 'file' + + EOO + + : never + : + $* <"cmd &!file" >>EOO + 'cmd' + &! + 'file' + + EOO +} -- cgit v1.1