(command.CommandList children: [ (C {(set)} {(-euo)} {(pipefail)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:THIS_DIR spids:[59]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(dirname)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(readlink)} {(-f)} { (DQ (word_part.BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) spids: [70 75] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [64 77] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [60 79] ) } spids: [59] ) ] spids: [59] ) (C {(cd)} {(DQ ($ VSub_DollarName '$THIS_DIR'))}) (C {(../shell/test-packages.sh)} {(-f)}) (C {(export)} {(Lit_VarLike 'SANDSTORM_DIR=') (DQ (word_part.BracedVarSub token: <VSub_Name SANDSTORM_DIR> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (opt) (Lit_Slash /) (sandstorm)} ) spids: [97 104] ) ) } ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(assets/ssjekyll5.spk)}) (command.SimpleCommand words: [{(curl)} {(https) (Lit_Other ':') (//sandstorm.io/apps/ssjekyll5.spk)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(assets/ssjekyll5.spk)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(assets/ssjekyll6.spk)}) (command.SimpleCommand words: [{(curl)} {(https) (Lit_Other ':') (//sandstorm.io/apps/ssjekyll6.spk)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(assets/ssjekyll6.spk)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(assets/ssjekyll7.spk)}) (command.SimpleCommand words: [{(curl)} {(https) (Lit_Other ':') (//sandstorm.io/apps/ssjekyll7.spk)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(assets/ssjekyll7.spk)})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} { (DQ (word_part.BracedVarSub token: <VSub_Name TESTCASE> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [172 175] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(read)} {(TESTFILE)} {(TESTNAME)}] redirects: [ (redir.Redir op: <Redir_TLess '<<<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TESTCASE'))} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$TESTNAME'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NIGHTWATCH_PARAMS spids:[225]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [{(-t)} {($ VSub_DollarName '$TESTFILE')}] ) } spids: [225] ) ] spids: [225] ) ] spids: [16777215 222] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NIGHTWATCH_PARAMS spids:[236]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ {(-t)} {($ VSub_DollarName '$TESTFILE')} {(--testcase)} {(DQ ($ VSub_DollarName '$TESTNAME'))} ] ) } spids: [236] ) ] spids: [236] ) ] spids: [233 250] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SKIP_UNITTESTS spids:[253]) op: Equal rhs: {(true)} spids: [253] ) ] spids: [253] ) ] spids: [16777215 181] ) ] spids: [16777215 256] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: { (DQ (word_part.BracedVarSub token: <VSub_Name LAUNCH_URL> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [266 269] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: { (DQ (word_part.BracedVarSub token: <VSub_Name SKIP_UNITTESTS> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [285 288] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(nightwatch)} {(-e)} {(unittests)} { (DQ (word_part.BracedVarSub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [304 310] ) ) } ) ] spids: [16777215 294] ) ] spids: [16777215 314] ) (C {(nightwatch)} {(-e)} {(default)} { (DQ (word_part.BracedVarSub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [324 330] ) ) } ) ] spids: [16777215 275] ) ] else_action: [ (command.SimpleCommand words: [ {(sed)} { (DQ ('s|.*launch_url.*|') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (launch_url) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' : ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_DollarName '$LAUNCH_URL') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',|g') ) } {(nightwatch.json)} ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(nightwatch.tmp.json)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: { (DQ (word_part.BracedVarSub token: <VSub_Name SKIP_UNITTESTS> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [364 367] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(nightwatch)} {(-e)} {(unittests)} {(-c)} {(./nightwatch.tmp.json)} { (DQ (word_part.BracedVarSub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [387 393] ) ) } ) ] spids: [16777215 373] ) ] spids: [16777215 397] ) (C {(nightwatch)} {(-e)} {(default)} {(-c)} {(./nightwatch.tmp.json)} { (DQ (word_part.BracedVarSub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:(word.EmptyWord)) spids: [411 417] ) ) } ) ] spids: [333 420] ) ] )