(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]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub CURRENT_DIR][LIT_CHARS /remote_helpers.sh]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "remote_helpers.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]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('repo_cache_dir', {[VarSub TEST_TMPDIR] [LIT_CHARS /repository_cache]})]) ) ) (FunctionDef tear_down [] (List (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo_cache_dir]]}) ) ) (FunctionDef setup_repository [] (List (Com {[LIT_CHARS http_archive_helper]}) (Com {[LIT_CHARS serve_file]} {[VarSub repo2_zip]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "http_archive(\n"][LIT_CHARS " name = 'endangered',\n"][LIT_CHARS " url = 'http://localhost:"][VarSub nc_port][LIT_CHARS "/bleh',\n"][LIT_CHARS " sha256 = '"][VarSub sha256][LIT_CHARS "',\n"][LIT_CHARS " type = 'zip',\n"][LIT_CHARS ")\n"]]} 0), > ) ) ) (FunctionDef setup_skylark_repository [] (List (= scope= flags=0 words=[] bindings=[('server_dir', {[DQ [VarSub TEST_TMPDIR][LIT_CHARS /server_dir]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub server_dir]]}) (= scope= flags=0 words=[] bindings=[('zip_file', {[DQ [VarSub server_dir][LIT_CHARS /zip_file.zip]]})]) (Com {[LIT_CHARS touch]} {[DQ [VarSub server_dir]] [LIT_CHARS /WORKSPACE]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "some content"]]} < (FilenameRedirectNode filename={[DQ [VarSub server_dir]] [LIT_CHARS /file]} "> 1), > ) (Com {[LIT_CHARS zip]} {[LIT_CHARS -0]} {[LIT_CHARS -ry]} {[VarSub zip_file]} {[DQ [VarSub server_dir]] [LIT_CHARS /WORKSPACE]} {[DQ [VarSub server_dir]] [LIT_CHARS /file]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('zip_sha256', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS sha256sum]} {[DQ [VarSub zip_file]]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -c]} {[LIT_CHARS 64]}) )]]})]) (Com {[LIT_CHARS startup_server]} {[DQ [VarSub server_dir]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "load('//:test.bzl', 'repo')\n"][LIT_CHARS "repo(name = 'foo')\n"]]} 0), > ) (Com {[LIT_CHARS touch]} {[LIT_CHARS BUILD]}) ) ) (FunctionDef setup_maven_repository [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS zoo]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS zoo/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "java_binary(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS ball-pit][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS BallPit.java][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " main_class = "][RIGHT_D_QUOTE "\""][LIT_CHARS BallPit][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " deps = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "//external:mongoose"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS zoo/BallPit.java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "import carnivore.Mongoose;\n"][LIT_CHARS "\n"][LIT_CHARS "public class BallPit {\n"][LIT_CHARS " public static void main(String args[]) {\n"][LIT_CHARS " Mongoose.frolic();\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (Com {[LIT_CHARS serve_artifact]} {[LIT_CHARS com.example.carnivore]} {[LIT_CHARS carnivore]} {[LIT_CHARS 1.23]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "maven_jar(\n"][LIT_CHARS " name = 'endangered',\n"][LIT_CHARS " artifact = "][RIGHT_D_QUOTE "\""][LIT_CHARS "com.example.carnivore:carnivore:1.23"][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " repository = 'http://localhost:"][VarSub fileserver_port][LIT_CHARS "/',\n"][LIT_CHARS " sha1 = '"][VarSub sha1][LIT_CHARS "',\n"][LIT_CHARS ")\n"][LIT_CHARS "bind(name = 'mongoose', actual = '@endangered//jar')\n"]]} 0), > ) ) ) (FunctionDef http_archive_helper [] (List (= scope= flags=0 words=[{[LIT_CHARS write_workspace]}] bindings=[]) (AndOr OP_AND_IF (DBracket {B2 BINARY_INT_GT {[VarSub #]} {[LIT_CHARS 1]}}) (AndOr OP_AND_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 2]]} {[DQ [LIT_CHARS nowrite]]}}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('write_workspace', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('write_workspace', {[LIT_CHARS 0]})]) ) ) ) (If (DBracket {B2 BINARY_INT_EQ {[VarSub write_workspace]} {[LIT_CHARS 0]}}) (List (= scope= flags=0 words=[] bindings=[('repo2', {[VarSub TEST_TMPDIR] [LIT_CHARS /repo2]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo2]]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub repo2][LIT_CHARS /fox]]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub repo2]]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS WORKSPACE]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS fox/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "filegroup(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS fox][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS male][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), > ) (= scope= flags=0 words=[] bindings=[('what_does_the_fox_say', {[DQ [LIT_CHARS Fraka-kaka-kaka-kaka-kow]]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS fox/male]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "echo "][VarSub what_does_the_fox_say][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS fox/male]}) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS male]} {[LIT_CHARS fox/male_relative]}) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS /fox/male]} {[LIT_CHARS fox/male_absolute]}) (Com {[LIT_CHARS dd]} {[LIT_VAR_LIKE "if="] [LIT_CHARS /dev/zero] =} {[LIT_VAR_LIKE "of="] [LIT_CHARS fox/padding] =} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 1024] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 10240] =} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('repo2_zip', {[DQ [VarSub TEST_TMPDIR][LIT_CHARS /fox.zip]]})]) (Com {[LIT_CHARS zip]} {[LIT_CHARS -0]} {[LIT_CHARS -ry]} {[DQ [VarSub repo2_zip]]} {[LIT_CHARS WORKSPACE]} {[LIT_CHARS fox]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('repo2_name', {[ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub repo2_zip]]})]})]) (= scope= flags=0 words=[] bindings=[('sha256', {[ComSub (Pipeline (Com {[LIT_CHARS sha256sum]} {[DQ [VarSub repo2_zip]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f]} {[LIT_CHARS 1]} {[LIT_CHARS -d]} {[SQ ]}) )]})]) ) ) (Com {[LIT_CHARS serve_file]} {[DQ [VarSub repo2_zip]]}) (Com {[LIT_CHARS cd]} {[VarSub WORKSPACE_DIR]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS zoo]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub write_workspace]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS WORKSPACE]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "http_archive(\n"][LIT_CHARS " name = 'endangered',\n"][LIT_CHARS " url = 'http://localhost:"][VarSub nc_port][LIT_CHARS /][VarSub repo2_name][LIT_CHARS "',\n"][LIT_CHARS " sha256 = '"][VarSub sha256][LIT_CHARS "'\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS zoo/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 breeding-program][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = ["][RIGHT_D_QUOTE "\""][LIT_CHARS female.sh][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS " data = ["][RIGHT_D_QUOTE "\""][LIT_CHARS "@endangered//fox"][RIGHT_D_QUOTE "\""][LIT_CHARS "],\n"][LIT_CHARS ")\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS zoo/female.sh]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "../endangered/fox/male\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS zoo/female.sh]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} {[LIT_CHARS --show_progress_rate_limit] [LIT_OTHER "="] [LIT_CHARS 0]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected build/run to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS expect_log]} {[DQ [VarSub what_does_the_fox_say]]}) (= scope= flags=0 words=[] bindings=[('base_external_path', {[LIT_CHARS bazel-out/../external/endangered/fox]})]) (Com {[LIT_CHARS assert_files_same]} {[VarSub base_external_path] [LIT_CHARS /male]} {[VarSub base_external_path] [LIT_CHARS /male_relative]}) (Com {[LIT_CHARS assert_files_same]} {[VarSub base_external_path] [LIT_CHARS /male]} {[VarSub base_external_path] [LIT_CHARS /male_absolute]}) ) ) (FunctionDef assert_files_same [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS assert_contains]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub 1]})]]} {[VarSub 2]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected these to be the same:"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS ---------------------------]]}) (Com {[LIT_CHARS cat]} {[VarSub 1]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "==========================="]]}) (Com {[LIT_CHARS cat]} {[VarSub 2]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS ---------------------------]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (FunctionDef test_build [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected build/run to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[VarSub what_does_the_fox_say]}) ) ) (FunctionDef test_fetch [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_directory_structure [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[VarSub repo_cache_dir] [LIT_CHARS /content_addressable/sha256/]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "repository cache directories were not created"]]}) ) ) ) (FunctionDef test_cache_entry_exists [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub repo_cache_dir] [LIT_CHARS /content_addressable/sha256/] [VarSub sha256] [LIT_CHARS /file]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "the file was not cached successfully"]]}) ) ) ) (FunctionDef test_fetch_value_with_existing_cache_and_no_network [] (List (Com {[LIT_CHARS setup_repository]}) (= scope= flags=0 words=[] bindings=[('cache_entry', {[DQ [VarSub repo_cache_dir][LIT_CHARS /content_addressable/sha256/][VarSub sha256]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub cache_entry]]}) (Com {[LIT_CHARS cp]} {[DQ [VarSub repo2_zip]]} {[DQ [VarSub cache_entry][LIT_CHARS /file]]}) (Com {[LIT_CHARS shutdown_server]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_load_cached_value [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_failed_fetch_without_cache [] (List (Com {[LIT_CHARS setup_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo_cache_dir]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS breeding-program]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to fail"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Error downloading"]]}) ) ) (FunctionDef test_skylark_download_file_exists_in_cache [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub repo_cache_dir] [LIT_CHARS /content_addressable/sha256/] [VarSub zip_sha256] [LIT_CHARS /file]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "the file was not cached successfully"]]}) ) ) ) (FunctionDef test_skylark_download_and_extract_file_exists_in_cache [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download_and_extract(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub repo_cache_dir] [LIT_CHARS /content_addressable/sha256/] [VarSub zip_sha256] [LIT_CHARS /file]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "the file was not cached successfully"]]}) ) ) ) (FunctionDef test_load_cached_value_skylark_download [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_skylark_download_fail_without_cache [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo_cache_dir]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to fail"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Error downloading"]]}) ) ) (FunctionDef test_load_cached_value_skylark_download_and_extract [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download_and_extract(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_skylark_download_and_extract_fail_without_cache [] (List (Com {[LIT_CHARS setup_skylark_repository]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS test.bzl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "def _impl(repository_ctx):\n"][LIT_CHARS " repository_ctx.download_and_extract(\n"][LIT_CHARS " "][RIGHT_D_QUOTE "\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][LIT_CHARS zip_file.zip][RIGHT_D_QUOTE "\""][LIT_CHARS ", "][RIGHT_D_QUOTE "\""][VarSub zip_sha256][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS " repository_ctx.file("][RIGHT_D_QUOTE "\""][LIT_CHARS BUILD][RIGHT_D_QUOTE "\""][LIT_CHARS ")\n"][LIT_CHARS "repo = repository_rule(implementation=_impl, local=False)\n"]]} 0), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo_cache_dir]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_OTHER "@"] [LIT_CHARS foo//] [LIT_OTHER ":"] [LIT_CHARS all]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to fail"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Error downloading"]]}) ) ) (FunctionDef test_maven_jar_exists_in_cache [] (List (Com {[LIT_CHARS setup_maven_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS ball-pit]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub repo_cache_dir] [LIT_CHARS /content_addressable/sha1/] [VarSub sha1] [LIT_CHARS /file]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "the file was not cached successfully"]]}) ) ) ) (FunctionDef test_load_cached_value_maven_jar [] (List (Com {[LIT_CHARS setup_maven_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS ball-pit]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS ball-pit]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "All external dependencies fetched successfully"]]}) ) ) (FunctionDef test_maven_jar_fail_without_cache [] (List (Com {[LIT_CHARS setup_maven_repository]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS ball-pit]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to succeed"]]}) ) (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub repo_cache_dir]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS fetch]} {[LIT_CHARS --experimental_repository_cache] [LIT_OTHER "="] [DQ [VarSub repo_cache_dir]]} {[LIT_CHARS //zoo] [LIT_OTHER ":"] [LIT_CHARS ball-pit]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Expected fetch to fail"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Failed to fetch Maven dependency"]]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "repository cache tests"]]}) )