(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_library_files [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS java/main]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/main/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "java_binary(name = 'main',\n"][LIT_CHARS " deps = ['//java/hello_library'],\n"][LIT_CHARS " srcs = ['Main.java'],\n"][LIT_CHARS " main_class = 'main.Main')\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/main/Main.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package main;\n"][LIT_CHARS "import hello_library.HelloLibrary;\n"][LIT_CHARS "public class Main {\n"][LIT_CHARS " public static void main(String[] args) {\n"][LIT_CHARS " HelloLibrary.funcHelloLibrary();\n"][LIT_CHARS " System.out.println("][RIGHT_D_QUOTE "\""][LIT_CHARS "Hello, World!"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS java/hello_library]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/hello_library/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package(default_visibility=['//visibility:public'])\n"][LIT_CHARS "java_library(name = 'hello_library',\n"][LIT_CHARS " srcs = ['HelloLibrary.java']);\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/hello_library/HelloLibrary.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package hello_library;\n"][LIT_CHARS "public class HelloLibrary {\n"][LIT_CHARS " public static void funcHelloLibrary() {\n"][LIT_CHARS " System.out.print("][RIGHT_D_QUOTE "\""][LIT_CHARS "Hello, Library!;"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) ) ) (FunctionDef test_build_hello_world [] (List (Com {[LIT_CHARS write_hello_library_files]}) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS //java/main] [LIT_OTHER ":"] [LIT_CHARS main]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "build failed"]]}) ) ) ) (FunctionDef test_errorprone_error_fails_build_by_default [] (List (Com {[LIT_CHARS write_hello_library_files]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/hello_library/HelloLibrary.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package hello_library;\n"][LIT_CHARS "public class HelloLibrary {\n"][LIT_CHARS " public static boolean funcHelloLibrary() {\n"][LIT_CHARS " int[] arr1 = {1, 2, 3};\n"][LIT_CHARS " int[] arr2 = {1, 2, 3};\n"][LIT_CHARS " return arr1.equals(arr2);\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS //java/main] [LIT_OTHER ":"] [LIT_CHARS main]}) ) (AndOr OP_AND_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "build should have failed"]]}) (Com {[LIT_CHARS true]}) ) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "error: "][\ LIT_ESCAPED_CHAR "\\["][LIT_CHARS ArrayEquals][\ LIT_ESCAPED_CHAR "\\]"][LIT_CHARS " Reference equality used to compare arrays"]]}) ) ) (FunctionDef test_extrachecks_off_disables_errorprone [] (List (Com {[LIT_CHARS write_hello_library_files]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/hello_library/HelloLibrary.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package hello_library;\n"][LIT_CHARS "public class HelloLibrary {\n"][LIT_CHARS " public static boolean funcHelloLibrary() {\n"][LIT_CHARS " int[] arr1 = {1, 2, 3};\n"][LIT_CHARS " int[] arr2 = {1, 2, 3};\n"][LIT_CHARS " return arr1.equals(arr2);\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/hello_library/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package(default_visibility=['//visibility:public'])\n"][LIT_CHARS "java_library(name = 'hello_library',\n"][LIT_CHARS " srcs = ['HelloLibrary.java'],\n"][LIT_CHARS " javacopts = ['-extra_checks:off'],);\n"]]} 0), > ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS //java/main] [LIT_OTHER ":"] [LIT_CHARS main]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "build failed"]]}) ) (Com {[LIT_CHARS expect_not_log]} {[DQ [LIT_CHARS "error: "][\ LIT_ESCAPED_CHAR "\\["][LIT_CHARS ArrayEquals][\ LIT_ESCAPED_CHAR "\\]"][LIT_CHARS " Reference equality used to compare arrays"]]}) ) ) (FunctionDef test_java_test_main_class [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS java/testrunners]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "mkdir failed"]]}) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/testrunners/TestRunner.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package testrunners;\n"][LIT_CHARS "\n"][LIT_CHARS "import com.google.testing.junit.runner.BazelTestRunner;\n"][LIT_CHARS "\n"][LIT_CHARS "public class TestRunner {\n"][LIT_CHARS " public static void main(String[] argv) {\n"][LIT_CHARS " System.out.println("][RIGHT_D_QUOTE "\""][LIT_CHARS "Custom test runner was run"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " BazelTestRunner.main(argv);\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/testrunners/Tests.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "package testrunners;\n"][LIT_CHARS "\n"][LIT_CHARS "import org.junit.runner.RunWith;\n"][LIT_CHARS "import org.junit.runners.JUnit4;\n"][LIT_CHARS "import org.junit.Test;\n"][LIT_CHARS "\n"][LIT_CHARS "@RunWith(JUnit4.class)\n"][LIT_CHARS "public class Tests {\n"][LIT_CHARS "\n"][LIT_CHARS " @Test\n"][LIT_CHARS " public void testTest() {\n"][LIT_CHARS " System.out.println("][RIGHT_D_QUOTE "\""][LIT_CHARS "testTest was run"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS java/testrunners/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "java_library(name = "][RIGHT_D_QUOTE "\""][LIT_CHARS test_runner][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ['TestRunner.java'],\n"][LIT_CHARS " deps = ['@bazel_tools//tools/jdk:TestRunner_deploy.jar'],\n"][LIT_CHARS ")\n"][LIT_CHARS "\n"][LIT_CHARS "java_test(name = "][RIGHT_D_QUOTE "\""][LIT_CHARS Tests][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ['Tests.java'],\n"][LIT_CHARS " deps = ['@bazel_tools//tools/jdk:TestRunner_deploy.jar'],\n"][LIT_CHARS " main_class = "][RIGHT_D_QUOTE "\""][LIT_CHARS testrunners.TestRunner][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " runtime_deps = [':test_runner']\n"][LIT_CHARS ")\n"]]} 0), > ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS --test_output] [LIT_OTHER "="] [LIT_CHARS streamed]} {[LIT_CHARS //java/testrunners] [LIT_OTHER ":"] [LIT_CHARS Tests]}) ) (Com < (FilenameRedirectNode filename={[DQ [VarSub TEST_log]]} "> 1), > ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Custom test runner was run"]]}) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "testTest was run"]]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "Java integration tests"]]}) )