mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-08 21:34:22 +03:00
Fix --extract option in ledger api test tool (#9029)
This broke in #8894 changelog_begin changelog_end windows is great changelog_begin changelog_end
This commit is contained in:
parent
0281b442b8
commit
41e049339b
@ -30,6 +30,7 @@ load(
|
||||
":conformance.bzl",
|
||||
"conformance_test",
|
||||
)
|
||||
load("@os_info//:os_info.bzl", "is_windows")
|
||||
|
||||
# we release ledger-api-test-tool-stable as ledger-api-test-tool
|
||||
da_scala_binary(
|
||||
@ -270,3 +271,23 @@ conformance_test(
|
||||
],
|
||||
test_tool_args = ["--verbose"],
|
||||
)
|
||||
|
||||
# This deliberately uses the deploy.jar since that’s what we ship
|
||||
# and we want to test that the extract option works there.
|
||||
# Given subleties in classpaths, it could potentially work
|
||||
# in the non-deploy jar.
|
||||
sh_test(
|
||||
name = "test-extract",
|
||||
srcs = ["test-extract.sh"],
|
||||
args = [
|
||||
"$(location @local_jdk//:bin/java.exe)" if is_windows else "$(location @local_jdk//:bin/java)",
|
||||
"$(location :ledger-api-test-tool_deploy.jar)",
|
||||
],
|
||||
data = [
|
||||
":ledger-api-test-tool_deploy.jar",
|
||||
"@local_jdk//:bin/java.exe" if is_windows else "@local_jdk//:bin/java",
|
||||
],
|
||||
deps = [
|
||||
"@bazel_tools//tools/bash/runfiles",
|
||||
],
|
||||
)
|
||||
|
@ -70,7 +70,7 @@ object LedgerApiTestTool {
|
||||
val pwd = Paths.get(".").toAbsolutePath
|
||||
println(s"Extracting all DAML resources necessary to run the tests into $pwd.")
|
||||
for (resource <- resources) {
|
||||
val is = getClass.getResourceAsStream(resource)
|
||||
val is = getClass.getClassLoader.getResourceAsStream(resource)
|
||||
if (is == null) sys.error(s"Could not find $resource in classpath")
|
||||
val targetFile = new File(new File(resource).getName)
|
||||
Files.copy(is, targetFile.toPath, StandardCopyOption.REPLACE_EXISTING)
|
||||
|
47
ledger/ledger-api-test-tool/test-extract.sh
Executable file
47
ledger/ledger-api-test-tool/test-extract.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
#
|
||||
# Golden scenario tests
|
||||
#
|
||||
|
||||
set -eu
|
||||
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
# --- begin runfiles.bash initialization ---
|
||||
# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
|
||||
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 ---
|
||||
|
||||
JAVA=$(rlocation "$TEST_WORKSPACE/$1")
|
||||
TEST_TOOL=$(rlocation "$TEST_WORKSPACE/$2")
|
||||
|
||||
DIR=$(mktemp -d)
|
||||
trap "rm -rf $$DIR" EXIT
|
||||
|
||||
cd $DIR
|
||||
$JAVA -jar $TEST_TOOL --extract
|
||||
if [[ $(ls | wc -l) != 4 ]]; then
|
||||
echo "Expected 4 DARs but got:"
|
||||
ls
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user