(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (FuncDef name: _compare body: (BraceGroup children: [ (C {(set)} {(Lit_Other '+') (o)} {(errexit)}) (SimpleCommand words: [{(DQ ($ VSub_At '$@'))}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(_tmp/left.txt)} spids:[67])] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:left_status) op: Equal rhs: {($ VSub_QMark '$?')} spids: [73] ) ] spids: [71] ) (SimpleCommand words: [{(bin/osh)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/right.txt)} spids: [84] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:right_status) op: Equal rhs: {($ VSub_QMark '$?')} spids: [90] ) ] spids: [88] ) (C {(set)} {(-o)} {(errexit)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(diff)} {(-u)} {(_tmp/left.txt)} {(_tmp/right.txt)})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(FAIL)}) (C {(exit)} {(1)})] spids: [16777215 116] ) ] spids: [16777215 129] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$left_status')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Name '$right_status')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('FAIL: Got status ') ($ VSub_Name '$right_status') (' but expected ') ($ VSub_Name '$left_status') ) } ) (C {(exit)} {(1)}) ] spids: [16777215 145] ) ] spids: [16777215 163] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [51] ) spids: [47 50] ) (FuncDef name: version-text body: (BraceGroup children:[(C {(_compare)} {(test/spec.sh)} {(version-text)})] spids:[187]) spids: [183 186] ) (FuncDef name: count body: (BraceGroup children: [ (C {(_compare)} {(scripts/count.sh)} {(all)}) (C {(_compare)} {(scripts/count.sh)} {(parser)}) (C {(_compare)} {(scripts/count.sh)} {(parser-port)}) (C {(_compare)} {(scripts/count.sh)} {(runtime)}) ] spids: [206] ) spids: [202 205] ) (FuncDef name: one-spec-test body: (BraceGroup children: [(C {(_compare)} {(test/spec.sh)} {(builtins-special)})] spids: [246] ) spids: [242 245] ) (FuncDef name: html-summary body: (BraceGroup children: [(C {(_compare)} {(test/spec-runner.sh)} {(html-summary)})] spids: [265] ) spids: [261 264] ) (FuncDef name: configure body: (BraceGroup children:[(C {(_compare)} {(./configure)})] spids:[281]) spids: [277 280] ) (FuncDef name: no-op body: (BraceGroup children:[(C {(_compare)} {(scripts/count.sh)})] spids:[295]) spids: [291 294] ) (FuncDef name: gen-module-init body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:modules) op: Equal rhs: {(SQ <'time datetime'>)} spids: [314] ) ] spids: [312] ) (C {(_compare)} {(build/actions.sh)} {(gen-module-init)} {($ VSub_Name '$modules')}) ] spids: [309] ) spids: [305 308] ) (FuncDef name: wild body: (BraceGroup children: [(C {(_compare)} {(test/wild.sh)} {(all)} {(SQ <'^distro/usr-bin'>)})] spids: [335] ) spids: [331 334] ) (FuncDef name: startup-benchmark body: (BraceGroup children: [(C {(_compare)} {(benchmarks/startup.sh)} {(compare-strace)})] spids: [370] ) spids: [366 369] ) (FuncDef name: glob body: (BraceGroup children:[(C {(_compare)} {(gold/glob.sh)})] spids:[386]) spids: [382 385] ) (FuncDef name: nix body: (BraceGroup children: [(C {(_compare)} {(gold/nix.sh)} {(isElfSimpleWithStdin)})] spids: [400] ) spids: [396 399] ) (FuncDef name: readonly_ body: (BraceGroup children:[(C {(_compare)} {(gold/readonly.sh)})] spids:[416]) spids: [412 415] ) (FuncDef name: complex-here-docs body: (BraceGroup children:[(C {(_compare)} {(gold/complex-here-docs.sh)})] spids:[430]) spids: [426 429] ) (FuncDef name: comments body: (BraceGroup children: [(Sentence child:(C {(_compare)} {(gold/comments.sh)}) terminator:<Op_Semi ';'>)] spids: [444] ) spids: [440 443] ) (FuncDef name: export body: (BraceGroup children: [(Sentence child:(C {(_compare)} {(gold/export.sh)}) terminator:<Op_Semi ';'>)] spids: [457] ) spids: [453 456] ) (FuncDef name: dollar-sq body: (BraceGroup children: [(Sentence child:(C {(_compare)} {(gold/dollar-sq.sh)}) terminator:<Op_Semi ';'>)] spids: [473] ) spids: [469 472] ) (FuncDef name: declare body: (BraceGroup children: [ (Sentence child: (C {(_compare)} {(gold/declare.sh)} {(demo)}) terminator: <Op_Semi ';'> ) ] spids: [490] ) spids: [486 489] ) (FuncDef name: scope body: (BraceGroup children: [(Sentence child:(C {(_compare)} {(gold/scope.sh)}) terminator:<Op_Semi ';'>)] spids: [509] ) spids: [505 508] ) (Assignment keyword: Assign_Readonly flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:PASSING) op: Equal rhs: { (ArrayLiteralPart words: [ {(comments)} {(readonly_)} {(count)} {(one-spec-test)} {(html-summary)} {(configure)} {(no-op)} {(gen-module-init)} {(glob)} {(complex-here-docs)} {(wild)} ] ) } spids: [524] ) ] spids: [520] ) (FuncDef name: all-passing body: (BraceGroup children: [ (ForEach iter_name: t iter_words: [ { (DQ (BracedVarSub token: <VSub_Name PASSING> bracket_op: (WholeArray op_id:Lit_At) spids: [604 609] ) ) } ] do_arg_iter: False body: (DoGroup children: [(C {($ VSub_Name '$t')}) (C {(echo)} {(DQ ('OK ') ($ VSub_Name '$t'))})] spids: [613 631] ) spids: [602 611] ) (C {(echo)}) (C {(echo)} {(DQ ('All gold tests passed.'))}) ] spids: [594] ) spids: [590 593] ) (FuncDef name: run-for-release body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:out_dir) op:Equal rhs:{(_tmp/gold)} spids:[656])] spids: [654] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')}) (Pipeline children: [(C {(all-passing)}) (C {(tee)} {($ VSub_Name '$out_dir') (/log.txt)})] negated: False ) (C {(echo)} {(DQ ('Wrote ') ($ VSub_Name '$out_dir') (/log.txt))}) ] spids: [651] ) spids: [647 650] ) (C {(DQ ($ VSub_At '$@'))}) ] )