(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]}) ) ) (Com {[LIT_CHARS add_to_bazelrc]} {[DQ [LIT_CHARS "test --nocache_test_results"]]}) (FunctionDef create_test_files [] (List (Com {[LIT_CHARS touch]} {[VarSub TEST_TMPDIR] [LIT_CHARS /counter]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS dir]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/sh\n"][LIT_CHARS "# hard link\n"][LIT_CHARS "z="][VarSub TEST_TMPDIR][LIT_CHARS /][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(basename "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(mktemp -u))\n"][LIT_CHARS "ln "][VarSub TEST_TMPDIR][LIT_CHARS "/counter "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{z}\n"][LIT_CHARS "\n"][LIT_CHARS "# Make sure other test runs have started too.\n"][LIT_CHARS "sleep 1\n"][LIT_CHARS "nlink="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(ls -l "][VarSub TEST_TMPDIR][LIT_CHARS "/counter | awk '{print "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "2}')\n"][LIT_CHARS "\n"][LIT_CHARS "# 4 links = 3 jobs + "][VarSub TEST_TMPDIR][LIT_CHARS "/counter\n"][LIT_CHARS "if [[ "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS nlink][RIGHT_D_QUOTE "\""][LIT_CHARS " -gt 4 ]] ; then\n"][LIT_CHARS " echo found "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS nlink][RIGHT_D_QUOTE "\""][LIT_CHARS " hard links to file, want 4 max.\n"][LIT_CHARS " exit 1\n"][LIT_CHARS "fi\n"][LIT_CHARS "\n"][LIT_CHARS "# Ensure that we don't remove before other runs have inspected the file.\n"][LIT_CHARS "sleep 1\n"][LIT_CHARS "rm "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{z}\n"][LIT_CHARS "\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS dir/test.sh]} "> 1), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS dir/test.sh]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "sh_test(\n"][LIT_CHARS " name = "][RIGHT_D_QUOTE "\""][LIT_CHARS test][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " srcs = [ "][RIGHT_D_QUOTE "\""][LIT_CHARS test.sh][RIGHT_D_QUOTE "\""][LIT_CHARS " ],\n"][LIT_CHARS " size = "][RIGHT_D_QUOTE "\""][LIT_CHARS small][RIGHT_D_QUOTE "\""][LIT_CHARS ",\n"][LIT_CHARS " tags = [ "][RIGHT_D_QUOTE "\""][LIT_CHARS local][RIGHT_D_QUOTE "\""][LIT_CHARS " ],\n"][LIT_CHARS ")\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS dir/BUILD]} "> 1), > ) ) ) (FunctionDef test_local_test_jobs_constrains_test_execution [] (List (Com {[LIT_CHARS create_test_files]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS --local_test_jobs] [LIT_OTHER "="] [LIT_CHARS 3]} {[LIT_CHARS --local_resources] [LIT_OTHER "="] [LIT_CHARS 10000] [LIT_COMMA ","] [LIT_CHARS 10] [LIT_COMMA ","] [LIT_CHARS 100]} {[LIT_CHARS --runs_per_test] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]}) ) ) (FunctionDef test_no_local_test_jobs_causes_local_resources_to_constrain_test_execution [] (List (Com {[LIT_CHARS create_test_files]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS --local_resources] [LIT_OTHER "="] [LIT_CHARS 10000] [LIT_COMMA ","] [LIT_CHARS 3] [LIT_COMMA ","] [LIT_CHARS 100]} {[LIT_CHARS --runs_per_test] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]}) ) ) (FunctionDef test_local_test_jobs_exceeds_jobs_causes_warning [] (List (Com {[LIT_CHARS create_test_files]}) (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS --jobs] [LIT_OTHER "="] [LIT_CHARS 3]} {[LIT_CHARS --local_test_jobs] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS --local_resources] [LIT_OTHER "="] [LIT_CHARS 10000] [LIT_COMMA ","] [LIT_CHARS 10] [LIT_COMMA ","] [LIT_CHARS 100]} {[LIT_CHARS --runs_per_test] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS expect_log]} {[SQ ]}) ) ) (FunctionDef test_negative_local_test_jobs_causes_warning [] (List (Com {[LIT_CHARS create_test_files]}) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS test]} {[LIT_CHARS --local_test_jobs] [LIT_OTHER "="] [LIT_CHARS -1]} {[LIT_CHARS --local_resources] [LIT_OTHER "="] [LIT_CHARS 10000] [LIT_COMMA ","] [LIT_CHARS 10] [LIT_COMMA ","] [LIT_CHARS 100]} {[LIT_CHARS --runs_per_test] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS //dir] [LIT_OTHER ":"] [LIT_CHARS test]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected test failure"]]}) ) (Com {[LIT_CHARS expect_log]} {[SQ ]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "Tests for --local_test_jobs option."]]}) )