(List (= scope= flags=0 words=[] bindings=[('CURRENT_DIR', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]})]]}) (Com {[LIT_CHARS pwd]}) )]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub CURRENT_DIR][LIT_CHARS /../integration_test_setup.sh]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "integration_test_setup.sh not found!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef test_execute_testlog [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS dir]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/sh\n"][LIT_CHARS "echo hello there\n"][LIT_CHARS "exit 0\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS dir/test.sh]} "> 1), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS dir/test.sh]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_test(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS test][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = [ "][RIGHT_D_QUOTE "\""][LIT_CHARS test.sh][RIGHT_D_QUOTE "\""][LIT_CHARS " ],\n"][LIT_CHARS " size = "][RIGHT_D_QUOTE "\""][LIT_CHARS small][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS dir/BUILD]} "> 1), > ) (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]}) (= scope= flags=0 words=[] bindings=[('logdir', {[ComSub (Com {[LIT_CHARS bazel]} {[LIT_CHARS info]} {[LIT_CHARS bazel-testlogs]})]})]) (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]}) (Com {[VarSub logdir] [LIT_CHARS /dir/test/test.log]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "execute testlogs"]]}) )