(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (FunctionDef fail [] (List (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub *]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub SYSROOT]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "SYSROOT must be set for this test to work"]]} ) ) (Com {[LIT_OTHER ":"]} {[VarSub OUT test_op=VS_TEST_COLON_EQUALS {[VarSub PWD]}]} ) (Com {[LIT_CHARS cd]} {[DQ [VarSub OUT]]} ) (= scope= flags=0 words=[] bindings=[('PATH', {[VarSub OUT] [LIT_OTHER ":"] [VarSub PATH]})]) (= scope= flags=0 words=[] bindings=[('TESTLOG', {[DQ [VarSub OUT][LIT_CHARS /warn-test-log]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Testing: "][ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS warn_collector]})]]} ) (FunctionDef cleanup [] (Com {[LIT_CHARS kill]} {[LIT_OTHER "%"]} ) ) (FunctionDef check_log [] (List (= scope= flags=0 words=[] bindings=[('n_expected', {[VarSub 1]})]) (If (DBracket {B! {B1 UNARY_FILE_f {[VarSub TESTLOG]}}}) (Com {[LIT_CHARS fail]} {[DQ [VarSub TESTLOG][LIT_CHARS " was not created"]]} ) ) (If (DBracket {B2 BINARY_INT_NE {[ComSub (Com redirects=[(FilenameRedirectNode filename={[DQ [VarSub TESTLOG]]} 0)]{[LIT_CHARS wc]} {[LIT_CHARS -l]})]} {[VarSub n_expected]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "expected "][VarSub n_expected][LIT_CHARS " lines in "][VarSub TESTLOG][LIT_CHARS ", found this instead:\n"][ComSub (Com redirects=[(FilenameRedirectNode filename={[DQ [VarSub TESTLOG]]} 0)])]]} ) ) (If (Com {[LIT_CHARS egrep]} {[LIT_CHARS -qv]} {[SQ ]} {[DQ [VarSub TESTLOG]]} ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "found bad lines in "][VarSub TESTLOG][LIT_CHARS ":\n"][ComSub (Com redirects=[(FilenameRedirectNode filename={[DQ [VarSub TESTLOG]]} 0)])]]} ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub TESTLOG]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub SRC][LIT_CHARS /warn_collector_test_reporter.sh]]} {[LIT_CHARS .]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub SRC][LIT_CHARS /TEST_WARNING]]} {[LIT_CHARS .]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS TEST_WARNING]} {[LIT_CHARS messages]} ) (Fork (Com {[LIT_CHARS warn_collector]} {[LIT_CHARS --test]} ) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS cleanup]} {[LIT_CHARS EXIT]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS check_log]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS cat]} {[LIT_CHARS TEST_WARNING]} < (FilenameRedirectNode filename={[LIT_CHARS messages]} >"> 1), > ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS check_log]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS s/intel_dp.c/intel_xx.c/]} < (FilenameRedirectNode filename={[LIT_CHARS TEST_WARNING]} 0), (FilenameRedirectNode filename={[LIT_CHARS messages]} >"> 1), > ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS check_log]} {[LIT_CHARS 2]} ) (Com {[LIT_CHARS mv]} {[LIT_CHARS messages]} {[LIT_CHARS messages.1]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS s/intel_dp.c/intel_xy.c/]} < (FilenameRedirectNode filename={[LIT_CHARS TEST_WARNING]} 0), (FilenameRedirectNode filename={[LIT_CHARS messages]} "> 1), > ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 2]} ) (Com {[LIT_CHARS check_log]} {[LIT_CHARS 3]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) )