(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(test/common.sh)}) (C {(export)} {(Lit_VarLike "PYTHONPATH=") (.)}) (FuncDef name: one body: (BraceGroup children:[(C {(DQ ($ VSub_At "$@"))})] spids:[71]) spids: [67 70] ) (FuncDef name: unit body: (BraceGroup children:[(C {(DQ ($ VSub_At "$@"))})] spids:[88]) spids: [84 87] ) (FuncDef name: _log-one body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {($ VSub_Number "$1")} spids: [107] ) ] spids: [105] ) (SimpleCommand words: [{($ VSub_Name "$name")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(_tmp/unit/) (${ VSub_Name name) (.log.txt)} spids: [113] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[121]) ] ) ] spids: [102] ) spids: [98 101] ) (FuncDef name: _all body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(_tmp/unit)}) (ForEach iter_name: t iter_words: [ (BracedWordTree parts: [ (BracedAltPart words: [{(build)} {(test)} {(native)} {(asdl)} {(core)} {(osh)} {(tools)}] ) (/) (Lit_Other "*") (_test.py) ] ) ] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$t")} right: {(Lit_Other "*") (arith_parse_test.py)} ) ) terminator: <Op_Semi ";"> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 198] ) ] spids: [-1 204] ) (C {(echo)} {($ VSub_Name "$t")}) (C {(mkdir)} {(-p)} {(_tmp/unit/) (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Name "$t")})]) left_token: <Left_CommandSub "$("> spids: [218 222] ) } ) (C {(run-task-with-status)} {(_tmp/unit/) (${ VSub_Name t) (.task.txt)} {($ VSub_Number "$0")} {(_log-one)} {($ VSub_Name "$t")} ) ] spids: [177 240] ) spids: [156 175] ) ] spids: [131] ) spids: [127 130] ) (FuncDef name: _html-summary body: (BraceGroup children: [ (Pipeline children: [ (C {(find)} {(_tmp/unit)} {(-name)} {(SQ <"*.task.txt">)}) (C {(awk)} { (SQ <"\n"> <" { path = $0\n"> <" getline < path\n"> <" status = $1\n"> <" wall_secs = $2\n"> <"\n"> <" if (status == 0) {\n"> <" num_passed += 1\n"> <" } else {\n"> <" num_failed = 1\n"> <" print path \" failed\"\n"> <" }\n"> <" }\n"> <" END {\n"> <" if (num_failed == 0) {\n"> <" print \"\"\n"> <" print \"ALL \" num_passed \" TESTS PASSED\"\n"> <" }\n"> <" }\n"> <" "> ) } ) ] negated: False ) ] spids: [255] ) spids: [251 254] ) (FuncDef name: html-summary body: (BraceGroup children:[(C {(_html-summary)})] spids:[302]) spids: [298 301] ) (FuncDef name: all body: (BraceGroup children: [(TimeBlock pipeline:(C {($ VSub_Number "$0")} {(_all)})) (C {(html-summary)})] spids: [314] ) spids: [310 313] ) (C {(DQ ($ VSub_At "$@"))}) ] )