(List (FunctionDef is_number [] (List (= scope= flags=0 words=[] bindings=[('NUMBER', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('NUM_RE', {[SQ ]})]) (If (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub NUMBER]} {[VarSub NUM_RE]}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) (ElseTrue) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " 1|2|3|4"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (= scope= flags=0 words=[] bindings=[('BATCH_NUM', {[DQ [VarSub 1]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS is_number]} {[DQ [VarSub BATCH_NUM]]}) (Com {[LIT_CHARS usage]}) ) (= scope= flags=0 words=[] bindings=[('TESTS', {[ComSub (Pipeline (Com {[LIT_CHARS find]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})][LIT_CHARS /../unit]]} {[LIT_CHARS -maxdepth]} {[LIT_CHARS 1]} {[LIT_CHARS -name]} {[DQ [VarSub BATCH_NUM][LIT_CHARS "0*.bats"]]}) (Com {[LIT_CHARS sort]} {[LIT_CHARS -n]}) (Com {[LIT_CHARS xargs]}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "running the following tests "][VarSub TESTS]]}) (For test [{[VarSub TESTS]}]) (List (Com {[LIT_CHARS echo]} {[VarSub test]}) (= scope= flags=0 words=[] bindings=[('starttest', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s]})]})]) (Com {[LIT_CHARS bats]} {[VarSub test]}) (= scope= flags=0 words=[] bindings=[('RC', {[VarSub ?]})]) (If (DBracket {B2 BINARY_INT_NE {[VarSub RC]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "exit status: "][VarSub RC]]}) (Com {[LIT_CHARS exit]} {[VarSub RC]}) ) ) (= scope= flags=0 words=[] bindings=[('endtest', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s]})]})]) (= scope= flags=0 words=[] bindings=[('testruntime', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub endtest]}} {A Atom NODE_ARITH_WORD {[VarSub starttest]}}}]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "individual runtime: "][ComSub (Com {[LIT_CHARS date]} {[LIT_CHARS -u]} {[LIT_CHARS -d]} {[LIT_OTHER "@"] [VarSub testruntime]} {[LIT_OTHER "+"] [DQ [LIT_CHARS "%T"]]})]]}) ) ) )