(List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub TEST_SRCDIR]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "TEST_SRCDIR not set!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/test/shell/unittest.bash]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Failed to source unittest.bash"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('bazel_tree', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/test/shell/bazel/doc-srcs.zip]]})]) (= scope= flags=0 words=[] bindings=[('bazel_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src]]})]) (= scope= flags=0 words=[] bindings=[('bazel_data', {[DQ [VarSub TEST_SRCDIR]]})]) (= scope= flags=0 words=[] bindings=[('jdk_dir', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /external/local-jdk]]})]) (= scope= flags=0 words=[] bindings=[('langtools', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/test/shell/bazel/langtools.jar]]})]) (= scope= flags=0 words=[] bindings=[('tools_dir', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /tools]]})]) (= scope= flags=0 words=[] bindings=[('langtools_dir', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/java/jdk/langtools]]})]) (= scope= flags=0 words=[] bindings=[('EXTRA_BAZELRC', {[DQ [LIT_CHARS "build --java_langtools=//tools/jdk:test-langtools"]]})]) (= scope= flags=0 words=[] bindings=[('javabuilder_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/java_tools/buildjar/JavaBuilder_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('langtools_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/java/jdk/langtools/javac.jar]]})]) (= scope= flags=0 words=[] bindings=[('singlejar_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/java_tools/singlejar/SingleJar_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('genclass_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('ijar_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/ijar/ijar]]})]) (= scope= flags=0 words=[] bindings=[('aargenerator_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('androidresourceprocessor_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('dexmapper_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/android/java/com/google/devtools/build/android/ziputils/mapper_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('dexreducer_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/android/java/com/google/devtools/build/android/ziputils/reducer_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('incrementaldeployment_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/android/java/com/google/devtools/build/android/incrementaldeployment]]})]) (= scope= flags=0 words=[] bindings=[('iossim_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/iossim/iossim]]})]) (= scope= flags=0 words=[] bindings=[('actoolzip_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/xcode-common/java/com/google/devtools/build/xcode/actoolzip/actoolzip_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('ibtoolwrapper_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/xcode/ibtoolwrapper/ibtoolwrapper.sh]]})]) (= scope= flags=0 words=[] bindings=[('swiftstdlibtoolzip_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/xcode-common/java/com/google/devtools/build/xcode/swiftstdlibtoolzip/swiftstdlibtoolzip_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('momczip_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/objc_tools/momczip/momczip_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('bundlemerge_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/objc_tools/bundlemerge/bundlemerge_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('plmerge_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/objc_tools/plmerge/plmerge_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('xcodegen_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/objc_tools/xcodegen/xcodegen_deploy.jar]]})]) (= scope= flags=0 words=[] bindings=[('stdredirect_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/xcode/stdredirect/StdRedirect.dylib]]})]) (= scope= flags=0 words=[] bindings=[('realpath_path', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /src/tools/xcode/realpath/realpath]]})]) (= scope= flags=0 words=[] bindings=[('testdata_path', {[VarSub TEST_SRCDIR] [LIT_CHARS /src/test/shell/bazel/testdata]})]) (= scope= flags=0 words=[] bindings=[('PLATFORM', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]]})]) (= scope= flags=0 words=[] bindings=[('MACHINE_TYPE', {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]})]) (= scope= flags=0 words=[] bindings=[('MACHINE_IS_64BIT', {[SQ ]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub MACHINE_TYPE]]} {[LIT_OTHER "="]} {[SQ ]} {[LIT_CHARS -o]} {[DQ [VarSub MACHINE_TYPE]]} {[LIT_OTHER "="]} {[SQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('MACHINE_IS_64BIT', {[SQ ]})]) ) (Case to_match={[DQ [VarSub PLATFORM]]}, pat_word_list=[[{[LIT_CHARS darwin]}], [{[LIT_OTHER "*"]}]] (If (Com {[LIT_OTHER "["]} {[DQ [VarSub MACHINE_IS_64BIT]]} {[LIT_OTHER "="]} {[SQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('protoc_compiler', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/protobuf/protoc-osx-x86_64.exe]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('protoc_compiler', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/protobuf/protoc-osx-x86_32.exe]]})]) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub MACHINE_IS_64BIT]]} {[LIT_OTHER "="]} {[SQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('protoc_compiler', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/protobuf/protoc-linux-x86_64.exe]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('protoc_compiler', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /third_party/protobuf/protoc-linux-x86_32.exe]]})]) ) ) (= scope= flags=0 words=[] bindings=[('protoc_jar', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS "/third_party/protobuf/protobuf-*.jar"]]})]) (= scope= flags=0 words=[] bindings=[('junit_jar', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS "/third_party/junit/junit-*.jar"]]})]) (= scope= flags=0 words=[] bindings=[('hamcrest_jar', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS "/third_party/hamcrest/hamcrest-*.jar"]]})]) (FunctionDef copy_tools_directory [] (List (Com {[LIT_CHARS cp]} {[LIT_CHARS -RL]} {[VarSub tools_dir] [LIT_CHARS /] [LIT_OTHER "*"]} {[LIT_CHARS tools]}) (Com {[LIT_CHARS cp]} {[VarSub langtools]} {[LIT_CHARS tools/jdk/langtools.jar]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS tools/jdk/BUILD]} >"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "filegroup(name = \"test-langtools\", srcs = [\"langtools.jar\"])\n"]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS third_party/java/jdk/langtools]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[VarSub langtools_dir] [LIT_CHARS /] [LIT_OTHER "*"]} {[LIT_CHARS third_party/java/jdk/langtools]}) (Com {[LIT_CHARS chmod]} {[LIT_CHARS -R]} {[LIT_OTHER "+"] [LIT_CHARS w]} {[LIT_CHARS .]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS tools/defaults]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS tools/defaults/BUILD]}) ) ) (FunctionDef is_tools_directory [] (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS third_party]}, {[LIT_CHARS tools]}, {[LIT_CHARS src]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS true]}) (Com {[LIT_CHARS false]}) ) ) (FunctionDef copy_examples [] (List (= scope= flags=0 words=[] bindings=[('EXAMPLE', {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /examples]]})]) (Com {[LIT_CHARS cp]} {[LIT_CHARS -RL]} {[VarSub EXAMPLE]} {[LIT_CHARS .]}) (Com {[LIT_CHARS chmod]} {[LIT_CHARS -R]} {[LIT_OTHER "+"] [LIT_CHARS w]} {[LIT_CHARS .]}) ) ) (FunctionDef pick_random_unused_tcp_port [] (Com {[LIT_CHARS perl]} {[LIT_CHARS -MSocket]} {[LIT_CHARS -e]} {[SQ ]}) ) (Case to_match={[DQ [VarSub PLATFORM]]}, pat_word_list=[[{[LIT_CHARS darwin]}], [{[LIT_OTHER "*"]}]] (FunctionDef sha256sum [] (Pipeline (Com {[LIT_CHARS cat]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS shasum]} {[LIT_CHARS -a]} {[LIT_CHARS 256]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f]} {[LIT_CHARS 1]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS " "]]}) ) ) (ElseTrue) ) )