# file : libbuild2/test/script/parser+pipe-expr.test.testscript # license : MIT; see accompanying LICENSE file : pipe : $* <<EOI >>EOO cmd1 | cmd2|cmd3 EOI cmd1 | cmd2 | cmd3 EOO : log : $* <<EOI >>EOO cmd1 || cmd2&&cmd3 EOI cmd1 || cmd2 && cmd3 EOO : pipe-log : $* <<EOI >>EOO cmd1 | cmd2 && cmd3 | cmd4 EOI cmd1 | cmd2 && cmd3 | cmd4 EOO : exit : $* <<EOI >>EOO cmd1|cmd2==1&&cmd3!=0|cmd4 EOI cmd1 | cmd2 == 1 && cmd3 != 0 | cmd4 EOO : here-doc : $* <<EOI >>EOO cmd1 <<EOI1 | cmd2 >>EOO2 && cmd3 <<EOI3 2>&1 | cmd4 2>>EOE4 >>EOO4 input one EOI1 ouput two EOO2 input three EOI3 error four EOE4 output four EOO4 EOI cmd1 <<EOI1 | cmd2 >>EOO2 && cmd3 <<EOI3 2>&1 | cmd4 >>EOO4 2>>EOE4 input one EOI1 ouput two EOO2 input three EOI3 output four EOO4 error four EOE4 EOO : leading : $* <<EOI 2>>EOE != 0 | cmd EOI testscript:1:1: error: missing program EOE : trailing : $* <<EOI 2>>EOE != 0 cmd && EOI testscript:1:7: error: missing program EOE : redirected : { : input : { : first : $* <<EOI >>EOO cmd1 <foo | cmd2 EOI cmd1 <foo | cmd2 EOO : non-first : $* <<EOI 2>>EOE != 0 cmd1 | cmd2 <foo EOI testscript:1:13: error: stdin is both piped and redirected EOE } : output : { : last : $* <<EOI >>EOO cmd1 | cmd2 >foo EOI cmd1 | cmd2 >foo EOO : non-last : $* <<EOI 2>>EOE != 0 cmd1 >foo | cmd2 EOI testscript:1:11: error: stdout is both redirected and piped EOE } }