# file : libbuild2/build/script/lexer+for-loop.test.testscript # license : MIT; see accompanying LICENSE file test.arguments = for-loop : redirect : { : pass : $* <"cmd <| 1>|" >>EOO 'cmd' <| '1' >| <newline> EOO : null : $* <"cmd <- 1>-" >>EOO 'cmd' <- '1' >- <newline> EOO : trace : $* <"cmd 1>!" >>EOO 'cmd' '1' >! <newline> EOO : merge : $* <"cmd 1>&2" >>EOO 'cmd' '1' >& '2' <newline> EOO : str : $* <"cmd <<<=a 1>>>?b" >>EOO 'cmd' <<<= 'a' '1' >>>? 'b' <newline> EOO : str-nn : $* <"cmd <<<=:a 1>>>?:b" >>EOO 'cmd' <<<=: 'a' '1' >>>?: 'b' <newline> EOO : str-nn-alias : $* <"cmd <<<:a 1>>>?:b" >>EOO 'cmd' <<<: 'a' '1' >>>?: 'b' <newline> EOO : doc : $* <"cmd <<EOI 1>>EOO" >>EOO 'cmd' << 'EOI' '1' >> 'EOO' <newline> EOO : doc-nn : $* <"cmd <<:EOI 1>>?:EOO" >>EOO 'cmd' <<: 'EOI' '1' >>?: 'EOO' <newline> EOO : file-cmp : $* <"cmd <=in >?out 2>?err" >>EOO 'cmd' <= 'in' >? 'out' '2' >? 'err' <newline> EOO : file-write : $* <"cmd >=out 2>+err" >>EOO 'cmd' >= 'out' '2' >+ 'err' <newline> EOO } : cleanup : { : always : $* <"cmd &file" >>EOO 'cmd' & 'file' <newline> EOO : maybe : $* <"cmd &?file" >>EOO 'cmd' &? 'file' <newline> EOO : never : $* <"cmd &!file" >>EOO 'cmd' &! 'file' <newline> EOO } : for : { : form-1 : $* <"for x: a" >>EOO 'for' 'x' : 'a' <newline> EOO : form-3 : $* <"for <<<a x" >>EOO 'for' <<< 'a' 'x' <newline> EOO }