-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Persistent tests: fix NPE for most test rules
Only the java_test rule currently supports the persistent test runner, and all other test rules throw NPE. Instead, automatically fall back to the non-persistent test runner for rules that don't support it, avoiding the NPE. This requires updating the infrastructure to *not* just check the test config, but also whether an individual test *action* has the persistent runner enabled. This allows enabling this feature by default, but having it only apply to rules that support it. Note that I am not sure if the persistent test runner works in Bazel since there are no public tests for it. Fixes #11519. Change-Id: I321e7497267e77e668209a541600908b38a32464 Closes #11527. Change-Id: I321e7497267e77e668209a541600908b38a32464 PiperOrigin-RevId: 319499062
- Loading branch information
1 parent
336835c
commit 243c945
Showing
7 changed files
with
91 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright 2020 The Bazel Authors. All rights reserved. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Tests the persistent test runner | ||
# | ||
|
||
# Load test environment | ||
# Load the test setup defined in the parent directory | ||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||
source "${CURRENT_DIR}/../integration_test_setup.sh" \ | ||
|| { echo "integration_test_setup.sh not found!" >&2; exit 1; } | ||
|
||
cat >>$TEST_TMPDIR/bazelrc <<'EOF' | ||
build --strategy=TestRunner=worker,local | ||
build --experimental_persistent_test_runner | ||
EOF | ||
|
||
function test_simple_sh_test() { | ||
mkdir -p examples/tests/ | ||
cat << 'EOF' > examples/tests/BUILD | ||
sh_test( | ||
name = "shell", | ||
srcs = [ "shell.sh" ], | ||
) | ||
EOF | ||
cat << 'EOF' > examples/tests/shell.sh | ||
EOF | ||
chmod +x examples/tests/shell.sh | ||
bazel test examples/tests:shell &> $TEST_log || fail "Shell test failed" | ||
} | ||
|
||
run_suite "persistent_test_runner" |