(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 write_hello_world_files [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS hello]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "mkdir hello failed"]]}) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS hello/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "java_binary(name = 'hello',\n"][LIT_CHARS " srcs = ['Hello.java'],\n"][LIT_CHARS " main_class = 'Hello')\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS hello/Hello.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "public class Hello {\n"][LIT_CHARS " public static void main(String[] args) {\n"][LIT_CHARS " System.out.println("][RIGHT_D_QUOTE "\""][LIT_CHARS "hello!"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) ) ) (FunctionDef test_compile_helloworld [] (List (Com {[LIT_CHARS write_hello_world_files]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS --discard_analysis_cache]} {[LIT_CHARS hello] [LIT_OTHER ":"] [LIT_CHARS hello]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[SQ ]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS --discard_analysis_cache]} {[LIT_CHARS hello] [LIT_OTHER ":"] [LIT_CHARS hello]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[SQ ]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS hello] [LIT_OTHER ":"] [LIT_CHARS hello]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[SQ ]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "test for --discard_analysis_cache"]]}) )