(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(test/common.sh)}) (FuncDef name: assert-deps body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [(C {(bin/oshc)} {(deps)}) (C {(diff)} {(-u)} {(/dev/fd/3)} {(-)})] negated: F ) (C {(fail)}) ] ) ] spids: [54] ) spids: [50 53] ) (FuncDef name: usage body: (BraceGroup children: [ (C {(set)} {(Lit_Other '+') (o)} {(errexit)}) (C {(bin/oshc)}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(2)}) (C {(fail)})] ) (C {(bin/oshc)} {(invalid)}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(2)}) (C {(fail)})] ) (Pipeline children: [(C {(echo)} {(SQ <'<'>)}) (C {(bin/oshc)} {(deps)})] negated: F ) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(2)}) (C {(fail)})] ) (C {(bin/oshc)} {(deps)} {(nonexistent.txt)}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(2)}) (C {(fail)})] ) (ControlFlow token:<ControlFlow_Return return>) (C {(echo)} {(--)}) (C {(bin/oshc)} {(--help)}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(0)}) (C {(fail)})] ) (C {(set)} {(-o)} {(errexit)}) ] spids: [82] ) spids: [78 81] ) (FuncDef name: deps body: (BraceGroup children: [ (C {(bin/oshc)} {(deps)} {($ VSub_Number '$0')}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_QMark '$?')} {(-eq)} {(0)}) (C {(fail)})] ) (SimpleCommand words: [{(assert-deps)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('if { grep foo bar; } then\n') (' cat hi\n') ('fi\n'))} do_expansion: True here_end: EOF was_filled: T spids: [266] ) (HereDoc op_id: Redir_DLess fd: 3 body: {(DQ ('grep\n') ('cat\n'))} do_expansion: True here_end: DEPS was_filled: T spids: [269] ) ] ) (SimpleCommand words: [{(assert-deps)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('f() {\n') (' g\n') ('}\n') ('g() {\n') (' echo G\n') ('}\n') ('f\n') ('grep foo bar\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [287] ) (HereDoc op_id: Redir_DLess fd: 3 body: {(DQ ('grep\n'))} do_expansion: True here_end: DEPS was_filled: T spids: [290] ) ] ) (SimpleCommand words: [{(assert-deps)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('g\n') ('g() {\n') (' echo G\n') ('}\n') ('grep foo bar\n'))} do_expansion: True here_end: EOF was_filled: T spids: [312] ) (HereDoc op_id: Redir_DLess fd: 3 body: {(DQ ('g\n') ('grep\n'))} do_expansion: True here_end: DEPS was_filled: T spids: [315] ) ] ) ] spids: [236] ) spids: [232 235] ) (Assignment keyword: Assign_Readonly flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:PASSING) op: Equal rhs: {(ArrayLiteralPart words:[{(usage)} {(deps)}])} spids: [334] ) ] spids: [330] ) (FuncDef name: all-passing body: (BraceGroup children: [ (C {(run-all)} { (DQ (BracedVarSub token: <VSub_Name PASSING> bracket_op: (WholeArray op_id:Lit_At) spids: [356 361] ) ) } ) ] spids: [350] ) spids: [346 349] ) (C {(DQ ($ VSub_At '$@'))}) ] )