(command.CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(test/common.sh)}) (command.FuncDef name: _compare body: (command.BraceGroup children: [ (C {(set)} {(Lit_Other '+') (o)} {(errexit)}) (command.SimpleCommand words: [{(DQ ($ VSub_At '$@'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(_tmp/shebang.txt)})] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:expected_status spids:[81]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [81] ) ] spids: [79] ) (command.SimpleCommand words: [{($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(_tmp/osh.txt)})] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:osh_status spids:[98]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [98] ) ] spids: [96] ) (C {(set)} {(-o)} {(errexit)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(diff)} {(-u)} {(_tmp/shebang.txt)} {(_tmp/osh.txt)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(FAIL)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 124] ) ] spids: [16777215 137] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$expected_status')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_DollarName '$osh_status')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('FAIL: Got status ') ($ VSub_DollarName '$osh_status') (' but expected ') ($ VSub_DollarName '$expected_status') ) } ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 153] ) ] spids: [16777215 171] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [59] ) spids: [55 58] ) (command.FuncDef name: version-text body: (command.BraceGroup children: [(C {(_compare)} {(test/spec.sh)} {(version-text)})] spids: [195] ) spids: [191 194] ) (command.FuncDef name: count body: (command.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: [214] ) spids: [210 213] ) (command.FuncDef name: one-spec-test body: (command.BraceGroup children: [(C {(_compare)} {(test/spec.sh)} {(builtins-special)})] spids: [254] ) spids: [250 253] ) (command.FuncDef name: html-summary body: (command.BraceGroup children: [(C {(_compare)} {(test/spec-runner.sh)} {(html-summary)})] spids: [273] ) spids: [269 272] ) (command.FuncDef name: gen-module-init body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:modules spids:[294]) op: Equal rhs: {(SQ <'time datetime'>)} spids: [294] ) ] spids: [292] ) (C {(_compare)} {(build/actions.sh)} {(gen-module-init)} {($ VSub_DollarName '$modules')}) ] spids: [289] ) spids: [285 288] ) (command.FuncDef name: wild body: (command.BraceGroup children: [(C {(_compare)} {(test/wild.sh)} {(all)} {(SQ <'^distro/usr-bin'>)})] spids: [315] ) spids: [311 314] ) (command.FuncDef name: startup-benchmark body: (command.BraceGroup children: [(C {(_compare)} {(benchmarks/startup.sh)} {(compare-strace)})] spids: [350] ) spids: [346 349] ) (command.FuncDef name: configure body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(./configure)}) terminator: <Op_Semi ';'> ) ] spids: [366] ) spids: [362 365] ) (command.FuncDef name: nix body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/nix.sh)} {(isElfSimpleWithStdin)}) terminator: <Op_Semi ';'> ) ] spids: [379] ) spids: [375 378] ) (command.FuncDef name: and-or body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/and-or.sh)} {(test-simple)}) terminator: <Op_Semi ';'> ) ] spids: [394] ) spids: [390 393] ) (command.FuncDef name: comments body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/comments.sh)}) terminator: <Op_Semi ';'> ) ] spids: [410] ) spids: [406 409] ) (command.FuncDef name: readonly_ body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/readonly.sh)}) terminator: <Op_Semi ';'> ) ] spids: [423] ) spids: [419 422] ) (command.FuncDef name: export body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/export.sh)}) terminator: <Op_Semi ';'> ) ] spids: [436] ) spids: [432 435] ) (command.FuncDef name: glob body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/glob.sh)}) terminator: <Op_Semi ';'> ) ] spids: [449] ) spids: [445 448] ) (command.FuncDef name: no-op body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(scripts/count.sh)}) terminator: <Op_Semi ';'> ) ] spids: [462] ) spids: [458 461] ) (command.FuncDef name: complex-here-docs body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/complex-here-docs.sh)}) terminator: <Op_Semi ';'> ) ] spids: [475] ) spids: [471 474] ) (command.FuncDef name: strip-op-char-class body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/strip-op-char-class.sh)}) terminator: <Op_Semi ';'> ) ] spids: [489] ) spids: [485 488] ) (command.FuncDef name: echo-e body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/echo-e.sh)}) terminator: <Op_Semi ';'> ) ] spids: [506] ) spids: [502 505] ) (command.FuncDef name: dollar-sq body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/dollar-sq.sh)}) terminator: <Op_Semi ';'> ) ] spids: [519] ) spids: [515 518] ) (command.FuncDef name: word-eval body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/word-eval.sh)}) terminator: <Op_Semi ';'> ) ] spids: [532] ) spids: [528 531] ) (command.FuncDef name: abuild body: (command.BraceGroup children: [(C {(_compare)} {(gold/abuild.sh)} {(is_function)} {(is_function)})] spids: [546] ) spids: [542 545] ) (command.FuncDef name: declare body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/declare.sh)} {(demo)}) terminator: <Op_Semi ';'> ) ] spids: [567] ) spids: [563 566] ) (command.FuncDef name: scope body: (command.BraceGroup children: [ (command.Sentence child: (C {(_compare)} {(gold/scope.sh)}) terminator: <Op_Semi ';'> ) ] spids: [586] ) spids: [582 585] ) (command.Assignment keyword: Assign_Readonly flags: [-a] pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PASSING spids:[601]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ {(configure)} {(nix)} {(and-or)} {(comments)} {(readonly_)} {(export)} {(glob)} {(no-op)} {(complex-here-docs)} {(echo-e)} {(dollar-sq)} {(word-eval)} {(strip-op-char-class)} {(abuild)} {(count)} {(one-spec-test)} {(html-summary)} {(gen-module-init)} ] ) } spids: [601] ) ] spids: [597] ) (command.FuncDef name: all-passing body: (command.BraceGroup children: [ (C {(run-all)} { (DQ (word_part.BracedVarSub token: <VSub_Name PASSING> bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [706 711] ) ) } ) ] spids: [700] ) spids: [696 699] ) (command.FuncDef name: run-for-release body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:out_dir spids:[726]) op: Equal rhs: {(_tmp/gold)} spids: [726] ) ] spids: [724] ) (C {(mkdir)} {(-p)} {($ VSub_DollarName '$out_dir')}) (command.Pipeline children: [(C {(all-passing)}) (C {(tee)} {($ VSub_DollarName '$out_dir') (/log.txt)})] negated: F ) (C {(echo)} {(DQ ('Wrote ') ($ VSub_DollarName '$out_dir') (/log.txt))}) ] spids: [721] ) spids: [717 720] ) (C {(DQ ($ VSub_At '$@'))}) ] )