(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_runfiles [] (List (= scope= flags=0 words=[] bindings=[('name', {[LIT_CHARS blorp_malorp]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "workspace(name = "][RIGHT_D_QUOTE "\""][VarSub name][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS foo/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "java_test(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS foo][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS Noise.java][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " test_class = "][RIGHT_D_QUOTE "\""][LIT_CHARS Noise][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS foo/Noise.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "public class Noise {\n"][LIT_CHARS " public static void main(String[] args) {\n"][LIT_CHARS " System.err.println(System.getenv("][RIGHT_D_QUOTE "\""][LIT_CHARS "I'm a test."][RIGHT_D_QUOTE "\""][LIT_CHARS "));\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS //foo] [LIT_OTHER ":"] [LIT_CHARS foo]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (AndOr OP_OR_IF (DBracket {B1 UNARY_FILE_d {[LIT_CHARS bazel-bin/foo/foo.runfiles/] [VarSub name]}}) (Com {[LIT_CHARS fail]} {[DQ [VarSub name][LIT_CHARS " runfiles directory not created"]]}) ) (AndOr OP_OR_IF (DBracket {B1 UNARY_FILE_d {[LIT_CHARS bazel-bin/foo/foo.runfiles/] [VarSub name] [LIT_CHARS /foo]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "No foo subdirectory under "][VarSub name]]}) ) (AndOr OP_OR_IF (DBracket {B1 UNARY_FILE_x {[LIT_CHARS bazel-bin/foo/foo.runfiles/] [VarSub name] [LIT_CHARS /foo/foo]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "No foo executable under "][VarSub name]]}) ) ) ) (FunctionDef test_legacy_runfiles_change [] (List (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "workspace(name = "][RIGHT_D_QUOTE "\""][LIT_CHARS foo][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "\n"][LIT_CHARS "new_local_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS bar][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " path = "][RIGHT_D_QUOTE "\""][LIT_CHARS .][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " build_file = "][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "exports_files(glob(["][RIGHT_D_QUOTE "\""][LIT_CHARS "*"][RIGHT_D_QUOTE "\""][LIT_CHARS "]))\n"][LIT_CHARS "\n"][LIT_CHARS "cc_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS thing][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS thing.cc][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "@bar//:thing.cc"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS thing.cc]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "int main() { return 0; }\n"]]} 0), > ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS --legacy_external_runfiles]} {[LIT_CHARS //] [LIT_OTHER ":"] [LIT_CHARS thing]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (AndOr OP_OR_IF (DBracket {B1 UNARY_FILE_d {[LIT_CHARS bazel-bin/thing.runfiles/foo/external/bar]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "bar not found"]]}) ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS --nolegacy_external_runfiles]} {[LIT_CHARS //] [LIT_OTHER ":"] [LIT_CHARS thing]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (AndOr OP_OR_IF (DBracket {B! {B1 UNARY_FILE_d {[LIT_CHARS bazel-bin/thing.runfiles/foo/external/bar]}}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Old bar still found"]]}) ) (Fork (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS --legacy_external_runfiles]} {[LIT_CHARS //] [LIT_OTHER ":"] [LIT_CHARS thing]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (AndOr OP_OR_IF (DBracket {B1 UNARY_FILE_d {[LIT_CHARS bazel-bin/thing.runfiles/foo/external/bar]}}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "bar not recreated"]]}) ) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "runfiles tests"]]}) )