(List (= scope= flags=0 words=[] bindings=[('asserts', {[LIT_CHARS 00]})]) (= scope= flags=0 words=[] bindings=[('errors', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('total', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('content', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('date', {[ComSub (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS which]} {[LIT_CHARS gdate]}) (Com {[LIT_CHARS which]} {[LIT_CHARS date]}) )]})]) (= scope= flags=0 words=[] bindings=[('juDIR', {[ComSub (Com {[LIT_CHARS pwd]})] [LIT_CHARS /results]})]) (= scope= flags=0 words=[] bindings=[('suite', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('errfile', {[LIT_CHARS /tmp/evErr.] [VarSub $] [LIT_CHARS .log]})]) (FunctionDef eVal [] (List (Subshell (Com {[LIT_CHARS eval]} {[DQ [VarSub 1]]} ) ) (Pipeline (Com {[LIT_CHARS echo]} {[VarSub ?]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[VarSub errfile]} "> 1), > ) ) ) ) (FunctionDef juLogClean [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Removing old junit reports from: "][VarSub juDIR][LIT_CHARS " "]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub juDIR]] [LIT_CHARS /junit-] [LIT_OTHER "*"]} ) ) ) (FunctionDef juLog [] (List (= scope= flags=0 words=[] bindings=[('suite', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('errfile', {[LIT_CHARS /tmp/evErr.] [VarSub $] [LIT_CHARS .log]})]) (= scope= flags=0 words=[] bindings=[('date', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS which]} {[LIT_CHARS gdate]}) (Com {[LIT_CHARS which]} {[LIT_CHARS date]}) )]})]) (= scope= flags=0 words=[] bindings=[('asserts', {[LIT_CHARS 00]})]) (= scope= flags=0 words=[] bindings=[('errors', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('total', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('content', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('ya', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('icase', {[DQ ]})]) (While (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub ya]]} {[LIT_DBRACKET_LIKE "]"]} ) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS -name] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -class] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -ierror] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -error] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -output] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('name', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]} ) ) (List (= scope= flags=0 words=[] bindings=[('class', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]} ) ) (List (= scope= flags=0 words=[] bindings=[('ereg', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('icase', {[DQ [LIT_CHARS -i]]})]) (Com {[LIT_CHARS shift]} ) ) (List (= scope= flags=0 words=[] bindings=[('ereg', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]} ) ) (List (= scope= flags=0 words=[] bindings=[('juDIR', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]} ) ) (= scope= flags=0 words=[] bindings=[('ya', {[LIT_CHARS 1]})]) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub juDIR]]} ) (Com {[LIT_CHARS exit]} ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub name]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('name', {[DQ [VarSub asserts][LIT_CHARS -][VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub class]]} {[DQ ]}}) (= scope= flags=0 words=[] bindings=[('class', {[DQ [LIT_CHARS default]]})]) ) (= scope= flags=0 words=[] bindings=[('suite', {[VarSub class]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub 1]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[] bindings=[('cmd', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (While (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -n]} {[DQ [VarSub 1]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('cmd', {[DQ [VarSub cmd][LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\\""][VarSub 1][\ LIT_ESCAPED_CHAR "\\\""]]})]) (Com {[LIT_CHARS shift]} ) ) ) (= scope= flags=0 words=[] bindings=[('outf', {[LIT_CHARS /var/tmp/ju] [VarSub $] [LIT_CHARS .txt]})]) (= scope= flags=0 words=[] bindings=[('errf', {[LIT_CHARS /var/tmp/ju] [VarSub $] [LIT_CHARS -err.txt]})]) (Com < (FilenameRedirectNode filename={[VarSub outf]} "> 1), > ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ ]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Running case: "][VarSub class][LIT_CHARS .][VarSub name][LIT_CHARS " "]]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ working dir: "]] [ComSub (Com {[LIT_CHARS pwd]})]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ command: "][VarSub cmd]]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) (= scope= flags=0 words=[] bindings=[('ini', {[ComSub (Com {[VarSub date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s.] [LIT_OTHER "%"] [LIT_CHARS N]})]})]) (Subshell (Pipeline (Subshell (Pipeline (Com {[LIT_CHARS eVal]} {[DQ [VarSub cmd]]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) ) (Com {[LIT_CHARS tee]} {[VarSub errf]} ) ) ) (= scope= flags=0 words=[] bindings=[('evErr', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub errfile]})]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub errfile]} ) (= scope= flags=0 words=[] bindings=[('end', {[ComSub (Com {[VarSub date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s.] [LIT_OTHER "%"] [LIT_CHARS N]})]})]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ exit code: "][VarSub evErr]]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub evErr]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('err', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('err', {[LIT_CHARS 0]})]) ) ) (= scope= flags=0 words=[] bindings=[('out', {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub outf]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub err]} {[LIT_DBRACKET_LIKE "="]} {[LIT_CHARS 0]} {[LIT_CHARS -a]} {[LIT_CHARS -n]} {[DQ [VarSub ereg]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('H', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub out]]}) (Com {[LIT_CHARS egrep]} {[VarSub icase]} {[DQ [VarSub ereg]]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -n]} {[DQ [VarSub H]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('err', {[LIT_CHARS 1]})]) ) ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub err]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ error: "][VarSub err]]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[VarSub outf]} ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub outf]} ) (= scope= flags=0 words=[] bindings=[('errMsg', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub errf]})]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub errf]} ) (= scope= flags=0 words=[] bindings=[('asserts', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub asserts]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('errors', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub errors]}} {A Atom NODE_ARITH_WORD {[VarSub err]}}}]})]) (= scope= flags=0 words=[] bindings=[('time', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub end][LIT_CHARS " - "][VarSub ini]]}) (Com {[LIT_CHARS bc]} {[LIT_CHARS -l]}) )]})]) (= scope= flags=0 words=[] bindings=[('total', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub total][LIT_CHARS " + "][VarSub time]]}) (Com {[LIT_CHARS bc]} {[LIT_CHARS -l]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub err]} {[LIT_DBRACKET_LIKE "="]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('failure', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('failure', {[DQ [LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " "]]})]) ) ) (= scope= flags=0 words=[] bindings=[('content', {[DQ [VarSub content][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " "][VarSub failure][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " "]]})]) (If (DBracket {B1 UNARY_FILE_e {[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]}}) (List (= scope= flags=0 words=[] bindings=[('failCount', {[ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "s/.*testsuite.*failures="][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\("][LIT_CHARS "[0-9]*"][\ LIT_ESCAPED_CHAR "\\)"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ".*/"][\ LIT_ESCAPED_CHAR "\\1"][LIT_CHARS /p]]} {[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]})]})]) (= scope= flags=0 words=[] bindings=[('errors', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub failCount]}} {A Atom NODE_ARITH_WORD {[VarSub errors]}}}]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[DQ [LIT_CHARS "0,/failures="][\ LIT_ESCAPED_CHAR "\\\""][VarSub failCount][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "/ s/failures="][\ LIT_ESCAPED_CHAR "\\\""][VarSub failCount][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "/failures="][\ LIT_ESCAPED_CHAR "\\\""][VarSub errors][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS /]]} {[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[DQ [LIT_CHARS "0,/errors="][\ LIT_ESCAPED_CHAR "\\\""][VarSub failCount][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "/ s/errors="][\ LIT_ESCAPED_CHAR "\\\""][VarSub failCount][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "/errors="][\ LIT_ESCAPED_CHAR "\\\""][VarSub errors][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS /]]} {[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[DQ [LIT_CHARS "s^^^g"]]} {[VarSub juDIR] [LIT_CHARS /junit-] [VarSub suite] [LIT_CHARS .xml]} ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " "][VarSub content][LIT_CHARS "\n"][LIT_CHARS " \n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]} >"> 1), > ) ) (ElseTrue) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " \n"][LIT_CHARS " "][VarSub content][LIT_CHARS "\n"][LIT_CHARS " \n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub juDIR][LIT_CHARS /junit-][VarSub suite][LIT_CHARS .xml]]} "> 1), > ) ) ) ) )