(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 set_up [] (List (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (= scope= flags=0 words=[] bindings=[('repos_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub repos_dir]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub repos_dir]}) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub repos_dir]}) (Com {[LIT_CHARS cp]} {[VarSub testdata_path] [LIT_CHARS /pluto-repo.tar.gz]} {[VarSub repos_dir]}) (Com {[LIT_CHARS cp]} {[VarSub testdata_path] [LIT_CHARS /outer-planets-repo.tar.gz]} {[VarSub repos_dir]}) (Com {[LIT_CHARS cp]} {[VarSub testdata_path] [LIT_CHARS /refetch-repo.tar.gz]} {[VarSub repos_dir]}) (Com {[LIT_CHARS cd]} {[VarSub repos_dir]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS zxf]} {[LIT_CHARS pluto-repo.tar.gz]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS zxf]} {[LIT_CHARS outer-planets-repo.tar.gz]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS zxf]} {[LIT_CHARS refetch-repo.tar.gz]}) ) ) (FunctionDef test_git_repository [] (List (= scope= flags=0 words=[] bindings=[('pluto_repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/pluto]})]) (= scope= flags=0 words=[] bindings=[('commit_hash', {[DQ [LIT_CHARS b87de93]]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub pluto_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " commit = "][RIGHT_D_QUOTE "\""][VarSub commit_hash][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS planets]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS planet-info][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS planet_info.sh][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "@pluto//:pluto"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/planet_info.sh]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "cat ../pluto/info\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS planets/planet_info.sh]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS //planets] [LIT_OTHER ":"] [LIT_CHARS planet-info]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected build/run to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Pluto is a dwarf planet"]]}) ) ) (FunctionDef test_new_git_repository_with_build_file [] (Com {[LIT_CHARS do_new_git_repository_test]} {[DQ [LIT_CHARS build_file]]}) ) (FunctionDef test_new_git_repository_with_build_file_content [] (Com {[LIT_CHARS do_new_git_repository_test]} {[DQ [LIT_CHARS build_file_content]]}) ) (FunctionDef do_new_git_repository_test [] (List (= scope= flags=0 words=[] bindings=[('pluto_repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/pluto]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub 1]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [LIT_CHARS build_file]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "new_git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub pluto_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " tag = "][RIGHT_D_QUOTE "\""][LIT_CHARS 0-initial][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " build_file = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto.BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS pluto.BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "filegroup(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS info][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " visibility = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "//visibility:public"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) ) (ElseTrue) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "new_git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub pluto_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " tag = "][RIGHT_D_QUOTE "\""][LIT_CHARS 0-initial][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " build_file_content = "][RIGHT_D_QUOTE "\""][RIGHT_D_QUOTE "\""][RIGHT_D_QUOTE "\""][LIT_CHARS "\n"][LIT_CHARS "filegroup(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS info][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " visibility = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "//visibility:public"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")"][RIGHT_D_QUOTE "\""][RIGHT_D_QUOTE "\""][RIGHT_D_QUOTE "\""][LIT_CHARS "\n"][LIT_CHARS ")\n"]]} 0), > ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS planets]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS planet-info][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS planet_info.sh][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "@pluto//:pluto"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/planet_info.sh]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "cat ../pluto/info\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS planets/planet_info.sh]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS //planets] [LIT_OTHER ":"] [LIT_CHARS planet-info]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected build/run to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Pluto is a planet"]]}) ) ) (FunctionDef test_new_git_repository_submodules [] (List (= scope= flags=0 words=[] bindings=[('outer_planets_repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/outer-planets]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "new_git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS outer_planets][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub outer_planets_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " tag = "][RIGHT_D_QUOTE "\""][LIT_CHARS 1-submodule][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " init_submodules = 1,\n"][LIT_CHARS " build_file = "][RIGHT_D_QUOTE "\""][LIT_CHARS outer_planets.BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS outer_planets.BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "filegroup(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS neptune][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS neptune/info][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " visibility = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "//visibility:public"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"][LIT_CHARS "\n"][LIT_CHARS "filegroup(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS pluto/info][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " visibility = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "//visibility:public"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS planets]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS planet-info][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS planet_info.sh][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = [\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "@outer_planets//:neptune"][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "@outer_planets//:pluto"][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " ],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/planet_info.sh]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "cat ../outer_planets/neptune/info\n"][LIT_CHARS "cat ../outer_planets/pluto/info\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS planets/planet_info.sh]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS //planets] [LIT_OTHER ":"] [LIT_CHARS planet-info]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected build/run to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Neptune is a planet"]]}) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Pluto is a planet"]]}) ) ) (FunctionDef test_git_repository_not_refetched_on_server_restart [] (List (= scope= flags=0 words=[] bindings=[('repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/refetch]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='f0b79ff0')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS --batch]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 1"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS --batch]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_not_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 1"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='62777acc')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS --batch]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 2"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "# This comment line is to change the line numbers, which should not cause Bazel\n"][LIT_CHARS "# to refetch the repository\n"][LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='62777acc')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS --batch]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_not_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 2"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) ) ) (FunctionDef test_git_repository_refetched_when_commit_changes [] (List (= scope= flags=0 words=[] bindings=[('repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/refetch]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='f0b79ff0')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 1"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='62777acc')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS Cloning]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 2"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) ) ) (FunctionDef test_git_repository_and_nofetch [] (List (= scope= flags=0 words=[] bindings=[('repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repos/refetch]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='f0b79ff0')\n"]]} 0), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS --nofetch]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build succeeded"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "fetching repositories is disabled"]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 1"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(name='g', remote='"][VarSub repo_dir][LIT_CHARS "', commit='62777acc')\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_CHARS --nofetch]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "External repository 'g' is not up-to-date"]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 1"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS build]} {[LIT_OTHER "@"] [LIT_CHARS g//] [LIT_OTHER ":"] [LIT_CHARS g]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Build failed"]]}) ) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "GIT 2"]]} {[LIT_CHARS bazel-genfiles/external/g/go]}) ) ) (FunctionDef setup_error_test [] (List (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS planets]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/planet_info.sh]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "cat external/pluto/info\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS planets/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS planet-info][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS planet_info.sh][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "@pluto//:pluto"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) ) ) (FunctionDef test_git_repository_both_commit_tag_error [] (List (Com {[LIT_CHARS setup_error_test]}) (= scope= flags=0 words=[] bindings=[('pluto_repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /pluto]})]) (= scope= flags=0 words=[] bindings=[('commit_hash', {[DQ [LIT_CHARS b87de93]]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub pluto_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " tag = "][RIGHT_D_QUOTE "\""][LIT_CHARS 1-build][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " commit = "][RIGHT_D_QUOTE "\""][VarSub commit_hash][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS //planets] [LIT_OTHER ":"] [LIT_CHARS planet-info]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expect run to fail."]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "One of either commit or tag must be defined"]]}) ) ) (FunctionDef test_git_repository_no_commit_tag_error [] (List (Com {[LIT_CHARS setup_error_test]}) (= scope= flags=0 words=[] bindings=[('pluto_repo_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /pluto]})]) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "git_repository(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS pluto][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " remote = "][RIGHT_D_QUOTE "\""][VarSub pluto_repo_dir][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS ")\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS //planets] [LIT_OTHER ":"] [LIT_CHARS planet-info]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expect run to fail."]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "One of either commit or tag must be defined"]]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "git_repository tests"]]}) )