(List (= scope= flags=0 words=[] bindings=[('black', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('red', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('green', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('yellow', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('blue', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('magenta', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('cyan', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('white', {[SQ ]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[VarSub 2]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('data', {[VarSub 2]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[VarSub 1] [LIT_CHARS .summ]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS rm]} {[VarSub 1] [LIT_CHARS .summ]} ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[VarSub 1] [LIT_CHARS .snap]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS rm]} {[VarSub 1] [LIT_CHARS .snap]} ) ) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('data', {[VarSub 1]})]) ) (If (Pipeline! (Com {[LIT_CHARS ./] [VarSub 1]} < (FilenameRedirectNode filename={[VarSub data]} 0), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS .runtest.log]} "> 2), > ) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub red]} {[LIT_CHARS Test]} {[VarSub 1]} {[LIT_CHARS failed] [LIT_OTHER ":"]} {[VarSub black]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub blue]} ) (Com {[LIT_CHARS cat]} {[LIT_CHARS .runtest.log]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub black]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (ElseTrue) (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[VarSub 1] [LIT_CHARS .summ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "FATAL ERROR"]]} {[VarSub 1] [LIT_CHARS .summ]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -l]}) )]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub red]} {[DQ [LIT_CHARS "Test "][VarSub 1][LIT_CHARS " failed (FATAL ERROR, read the file "][VarSub 1][LIT_CHARS ".summ for details)"]]} {[VarSub black]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub blue]} ) (Com {[LIT_CHARS cat]} {[LIT_CHARS .runtest.log]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub black]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "FAILED THE TESTS OF ERROR-EXITS"]]} {[VarSub 1] [LIT_CHARS .summ]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -l]}) )]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub red]} {[DQ [LIT_CHARS "Test "][VarSub 1][LIT_CHARS " failed (FAILED THE TESTS OF ERROR-EXITS, read the file "][VarSub 1][LIT_CHARS ".summ for details)"]]} {[VarSub black]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub blue]} ) (Com {[LIT_CHARS cat]} {[LIT_CHARS .runtest.log]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub black]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[VarSub green]} {[LIT_CHARS Test]} {[VarSub 1]} {[LIT_CHARS passed] [VarSub black]} ) ) ) )