aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
diff options
context:
space:
mode:
authorGravatar Loo Rong Jie <loorongjie@gmail.com>2018-07-23 07:38:55 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-23 07:40:36 -0700
commita339070e26057c29da8b6435b61772ad09b8584a (patch)
treea637d4e079e2d7130fdd62cc2ada76b9ed30c71b /src/tools
parent8fcc07aebb677566de6c53b5ab57f124a840cf60 (diff)
Windows,tests: port singlejar bash tests
Make these tests run on Windows, but currently does not pass. /cc @laszlocsomor Closes #5652. PiperOrigin-RevId: 205658932
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/singlejar/BUILD13
-rwxr-xr-xsrc/tools/singlejar/output_jar_shell_test.sh46
-rwxr-xr-xsrc/tools/singlejar/zip64_test.sh47
3 files changed, 74 insertions, 32 deletions
diff --git a/src/tools/singlejar/BUILD b/src/tools/singlejar/BUILD
index 5c1da1ff21..edf806bd95 100644
--- a/src/tools/singlejar/BUILD
+++ b/src/tools/singlejar/BUILD
@@ -211,12 +211,10 @@ cc_test(
sh_test(
name = "output_jar_bash_test",
srcs = ["output_jar_shell_test.sh"],
- args = [
- "src/test/shell",
- "$(location :singlejar)",
- ],
data = [
":singlejar",
+ "//src/test/shell:bashunit",
+ "@bazel_tools//tools/bash/runfiles",
],
deps = ["//src/test/shell:bashunit"],
)
@@ -304,13 +302,10 @@ cc_test(
sh_test(
name = "zip64_test",
srcs = ["zip64_test.sh"],
- args = [
- "src/test/shell",
- "$(location :singlejar)",
- "$(location @local_jdk//:jar)",
- ],
data = [
":singlejar",
+ "//src/test/shell:bashunit",
+ "@bazel_tools//tools/bash/runfiles",
"@bazel_tools//tools/jdk:current_java_runtime",
"@local_jdk//:jar",
],
diff --git a/src/tools/singlejar/output_jar_shell_test.sh b/src/tools/singlejar/output_jar_shell_test.sh
index f4b334cb03..961dc10181 100755
--- a/src/tools/singlejar/output_jar_shell_test.sh
+++ b/src/tools/singlejar/output_jar_shell_test.sh
@@ -13,22 +13,46 @@
# 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.
-#
-#
-# Arguments:
-# unittest.bash script
-# singlejar path
-# jar tool path
-(($# >= 2)) || \
- { echo "Usage: $0 <unittest.bash dir> <singlejar>" >&2; exit 1; }
+set -euo pipefail
+# --- begin runfiles.bash initialization ---
+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 ---
# Load test environment
-source $1/unittest.bash \
+source "$(rlocation "io_bazel/src/test/shell/unittest.bash")" \
|| { echo "unittest.bash not found!" >&2; exit 1; }
-set -e
-declare -r singlejar="$2"
+IS_WINDOWS=false
+case "$(uname | tr [:upper:] [:lower:])" in
+msys*|mingw*|cygwin*)
+ IS_WINDOWS=true
+esac
+
+if "$IS_WINDOWS"; then
+ EXE_EXT=".exe"
+else
+ EXE_EXT=""
+fi
+
+singlejar="$(rlocation "io_bazel/src/tools/singlejar/singlejar${EXE_EXT}")"
# Test that the entries single jar creates can be extracted (that is, they do
diff --git a/src/tools/singlejar/zip64_test.sh b/src/tools/singlejar/zip64_test.sh
index 3986ed0f92..c71f37c20f 100755
--- a/src/tools/singlejar/zip64_test.sh
+++ b/src/tools/singlejar/zip64_test.sh
@@ -13,24 +13,47 @@
# 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.
-#
-#
-# Arguments:
-# unittest.bash script
-# singlejar path
-# jar tool path
-(($# >= 3)) || \
- { echo "Usage: $0 <unittest.bash dir> <singlejar> <jartool>" >&2; exit 1; }
+set -euo pipefail
+# --- begin runfiles.bash initialization ---
+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 ---
# Load test environment
-source $1/unittest.bash \
+source "$(rlocation "io_bazel/src/test/shell/unittest.bash")" \
|| { echo "unittest.bash not found!" >&2; exit 1; }
-set -e
-declare -r singlejar="$2"
-declare -r jartool="$3"
+IS_WINDOWS=false
+case "$(uname | tr [:upper:] [:lower:])" in
+msys*|mingw*|cygwin*)
+ IS_WINDOWS=true
+esac
+
+if "$IS_WINDOWS"; then
+ EXE_EXT=".exe"
+else
+ EXE_EXT=""
+fi
+singlejar="$(rlocation "io_bazel/src/tools/singlejar/singlejar${EXE_EXT}")"
+jartool="$(rlocation "local_jdk/bin/jar${EXE_EXT}")"
# Test that an archive with >64K entries can be created.
function test_65Kentries() {