(command.CommandList children: [ (C {(KW_Set set)} {(-euo)} {(pipefail)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:THIS_DIR) op: Equal rhs: { (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(dirname)} { (DQ (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(readlink)} {(-f)} { (DQ (braced_var_sub token: <VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) ) } ) ] ) ) ) } ) ] ) ) } ) ] ) (C {(cd)} {(DQ ($ VSub_DollarName '$THIS_DIR'))}) (C {(../shell/test-packages.sh)} {(-f)}) (C {(export)} {(Lit_VarLike 'SANDSTORM_DIR=') (DQ (braced_var_sub token: <VSub_Name SANDSTORM_DIR> suffix_op: (suffix_op.Unary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (opt) (Lit_Slash /) (sandstorm)} ) ) ) } ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(assets/ssjekyll5.spk)}) (command.Simple 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.Simple 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.Simple 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_LBracket '[')} {(KW_Bang '!')} {(-z)} { (DQ (braced_var_sub token: <VSub_Name TESTCASE> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple 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_LBracket '[')} {(-z)} {(DQ ($ VSub_DollarName '$TESTNAME'))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NIGHTWATCH_PARAMS) op: Equal rhs: { (sh_array_literal left: <Op_LParen '('> words: [{(-t)} {($ VSub_DollarName '$TESTFILE')}] ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NIGHTWATCH_PARAMS) op: Equal rhs: { (sh_array_literal left: <Op_LParen '('> words: [ {(-t)} {($ VSub_DollarName '$TESTFILE')} {(--testcase)} {(DQ ($ VSub_DollarName '$TESTNAME'))} ] ) } ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:SKIP_UNITTESTS) op:Equal rhs:{(true)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_z child: { (DQ (braced_var_sub token: <VSub_Name LAUNCH_URL> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_z child: { (DQ (braced_var_sub token: <VSub_Name SKIP_UNITTESTS> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(nightwatch)} {(-e)} {(unittests)} { (DQ (braced_var_sub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ] ) ] ) (C {(nightwatch)} {(-e)} {(default)} { (DQ (braced_var_sub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ] ) ] else_action: [ (command.Simple words: [ {(sed)} { (DQ ('s|.*launch_url.*|') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) (launch_url) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) (' : ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ($ VSub_DollarName '$LAUNCH_URL') (word_part.EscapedLiteral 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.Unary op_id: BoolUnary_z child: { (DQ (braced_var_sub token: <VSub_Name SKIP_UNITTESTS> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(nightwatch)} {(-e)} {(unittests)} {(-c)} {(./nightwatch.tmp.json)} { (DQ (braced_var_sub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ] ) ] ) (C {(nightwatch)} {(-e)} {(default)} {(-c)} {(./nightwatch.tmp.json)} { (DQ (braced_var_sub token: <VSub_Name NIGHTWATCH_PARAMS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ] ) ] )