aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2018-08-09 07:52:41 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-09 07:53:52 -0700
commit3e0ede46812771ad0b4545af78d9ae9dd7bf71c9 (patch)
tree43df80a4b6b46cdf79d2fde9ac9c8b2ef08abb99 /src/test
parent319157b3d77f7fd1fcd811815328d73d65a8d694 (diff)
Windows,tests: port aquery_test
//src/test/shell/integration:aquery_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: If2eb13ef03b9cfde0d0d61c163ef8ac3c6004877 Closes #5846. Change-Id: If2eb13ef03b9cfde0d0d61c163ef8ac3c6004877 PiperOrigin-RevId: 208048005
Diffstat (limited to 'src/test')
-rw-r--r--src/test/shell/integration/BUILD6
-rwxr-xr-xsrc/test/shell/integration/aquery_test.sh47
2 files changed, 47 insertions, 6 deletions
diff --git a/src/test/shell/integration/BUILD b/src/test/shell/integration/BUILD
index d31cd32635..15855c6586 100644
--- a/src/test/shell/integration/BUILD
+++ b/src/test/shell/integration/BUILD
@@ -183,8 +183,10 @@ sh_test(
name = "aquery_test",
size = "large",
srcs = ["aquery_test.sh"],
- data = [":test-deps"],
- tags = ["no_windows"],
+ data = [
+ ":test-deps",
+ "@bazel_tools//tools/bash/runfiles",
+ ],
)
sh_test(
diff --git a/src/test/shell/integration/aquery_test.sh b/src/test/shell/integration/aquery_test.sh
index e21f0c48fe..4b7bfe10e0 100755
--- a/src/test/shell/integration/aquery_test.sh
+++ b/src/test/shell/integration/aquery_test.sh
@@ -14,11 +14,46 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Load the test setup defined in the parent directory
-CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-source "${CURRENT_DIR}/../integration_test_setup.sh" \
+# --- begin runfiles.bash initialization ---
+# Copy-pasted from Bazel's 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 ---
+
+source "$(rlocation "io_bazel/src/test/shell/integration_test_setup.sh")" \
|| { echo "integration_test_setup.sh not found!" >&2; exit 1; }
+case "$(uname -s | tr [:upper:] [:lower:])" in
+msys*|mingw*|cygwin*)
+ declare -r is_windows=true
+ ;;
+*)
+ declare -r is_windows=false
+ ;;
+esac
+
+if "$is_windows"; then
+ export MSYS_NO_PATHCONV=1
+ export MSYS2_ARG_CONV_EXCL="*"
+fi
+
add_to_bazelrc "build --package_path=%workspace%"
function test_basic_aquery() {
@@ -75,7 +110,11 @@ EOF
# their actual contents since that would be too much.
assert_contains "Inputs: \[" output
assert_contains "Outputs: \[" output
- assert_contains "Command Line: (" output
+ if is_windows; then
+ assert_contains "Command Line: .*bash\.exe" output
+ else
+ assert_contains "Command Line: (" output
+ fi
assert_contains "Environment: \[" output
}