-
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.
file_test, rule_test: now as sh_test rules
This commit rolls forward commit 76583ee, which was rolled back by commit 28f8af7. Differences: - test_rules.bzl:success_target and failure_target no longer dump 'msg' into a file and print that. Instead, they print it as a heredoc. - The same functions no longer need runfiles.bash. The breakage the original commit caused was that some Starlark rule used success_target but itself didn't depend on the Bash runfiles library, and success_target returns a DefaultInfo without the runfiles library in it. To keep existing success_target and failure_target calls intact, I opted to remove the dependency on runfiles.bash - marked all "_impl" rules as testonly=1 Original commit message follows. All test rules in @bazel_tools//tools/build_rule:test_rules.bzl are now macros around sh_test. This allows running them on Windows with the Windows-native test wrapper. Fixes #8203 Unblocks #6622 Closes #8352. PiperOrigin-RevId: 248691640
- Loading branch information
1 parent
d824cb0
commit 77b9875
Showing
4 changed files
with
179 additions
and
60 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Copyright 2019 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. | ||
|
||
"""Bash runfiles library init code for test_rules.bzl.""" | ||
|
||
# Init code to load the runfiles.bash file. | ||
# The runfiles library itself defines rlocation which you would need to look | ||
# up the library's runtime location, thus we have a chicken-and-egg problem. | ||
INIT_BASH_RUNFILES = [ | ||
"# --- begin runfiles.bash initialization ---", | ||
"# Copy-pasted from Bazel Bash runfiles library (tools/bash/runfiles/runfiles.bash).", | ||
"set -euo pipefail", | ||
'if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then', | ||
' if [[ -f "$0.runfiles_manifest" ]]; then', | ||
' export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"', | ||
' elif [[ -f "$0.runfiles/MANIFEST" ]]; then', | ||
' export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST"', | ||
' elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then', | ||
' export RUNFILES_DIR="$0.runfiles"', | ||
" fi", | ||
"fi", | ||
'if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then', | ||
' source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash"', | ||
'elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then', | ||
' source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \\', | ||
' "$RUNFILES_MANIFEST_FILE" | cut -d " " -f 2-)"', | ||
"else", | ||
' echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"', | ||
" exit 1", | ||
"fi", | ||
"# --- end runfiles.bash initialization ---", | ||
] | ||
|
||
# Label of the runfiles library. | ||
BASH_RUNFILES_DEP = "@bazel_tools//tools/bash/runfiles" |
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