# file : unit-tests/test/script/lexer/command-line.testscript # copyright : Copyright (c) 2014-2019 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 }