summaryrefslogtreecommitdiff
path: root/test/end-to-end/target-cache
diff options
context:
space:
mode:
authorAlberto Sartori <alberto.sartori@huawei.com>2023-01-18 14:26:14 +0100
committerAlberto Sartori <alberto.sartori@huawei.com>2023-01-20 11:58:07 +0100
commit3d95b0adc81d155ad9020e9efbc50799c89953ff (patch)
treef7b391ff47439a4d09b1309326b9d6bbcef13654 /test/end-to-end/target-cache
parentfe8983f3444ca0f287d54d673ddda3aa9fb1a17c (diff)
downloadjustbuild-3d95b0adc81d155ad9020e9efbc50799c89953ff.tar.gz
tests: pass tls certificates and key
Diffstat (limited to 'test/end-to-end/target-cache')
-rw-r--r--test/end-to-end/target-cache/TARGETS2
-rw-r--r--test/end-to-end/target-cache/artifacts-sync.sh22
-rw-r--r--test/end-to-end/target-cache/target-cache-hit.sh19
3 files changed, 34 insertions, 9 deletions
diff --git a/test/end-to-end/target-cache/TARGETS b/test/end-to-end/target-cache/TARGETS
index 09057dd2..83af5993 100644
--- a/test/end-to-end/target-cache/TARGETS
+++ b/test/end-to-end/target-cache/TARGETS
@@ -5,6 +5,7 @@
, "deps":
[ ["test/end-to-end", "tool-under-test"]
, ["test/end-to-end", "mr-tool-under-test"]
+ , ["@", "credentials", "", ""]
]
}
, "artifacts-sync":
@@ -16,6 +17,7 @@
, ["./", "test-data-artifacts-sync", "greetlib"]
, ["./", "test-data-artifacts-sync", "pydicts"]
, "bootstrap-src-staged"
+ , ["@", "credentials", "", ""]
]
}
, "bootstrap-src-staged":
diff --git a/test/end-to-end/target-cache/artifacts-sync.sh b/test/end-to-end/target-cache/artifacts-sync.sh
index c4f75f51..552e04aa 100644
--- a/test/end-to-end/target-cache/artifacts-sync.sh
+++ b/test/end-to-end/target-cache/artifacts-sync.sh
@@ -57,6 +57,7 @@ readonly JUST_MR="$ROOT/foo/bin/just-mr.py"
readonly JUST_RULES="$ROOT/foo/rules"
readonly LBRDIR="$TEST_TMPDIR/local-build-root"
readonly TESTDIR="$TEST_TMPDIR/test-root"
+readonly CREDENTIALS_DIR="${PWD}/credentials"
if [ "${REMOTE_EXECUTION_ADDRESS:-}" = "" ]; then
echo
@@ -70,6 +71,17 @@ if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
REMOTE_EXECUTION_ARGS="$REMOTE_EXECUTION_ARGS --remote-execution-property $REMOTE_EXECUTION_PROPERTIES"
fi
+AUTH_ARGS=""
+if [ -f "${CREDENTIALS_DIR}/ca.crt" ]; then
+ AUTH_ARGS=" --tls-ca-cert ${CREDENTIALS_DIR}/ca.crt "
+ if [ -f "${CREDENTIALS_DIR}/client.crt" ]; then
+ AUTH_ARGS=" --tls-client-cert ${CREDENTIALS_DIR}/client.crt "${AUTH_ARGS}
+ fi
+ if [ -f "${CREDENTIALS_DIR}/client.key" ]; then
+ AUTH_ARGS=" --tls-client-key ${CREDENTIALS_DIR}/client.key "${AUTH_ARGS}
+ fi
+fi
+
if [ "${COMPATIBLE:-}" = "YES" ]; then
ARGS="--compatible"
HASH_TYPE="compatible-sha256"
@@ -121,7 +133,7 @@ echo "Local execution ID: $LOCAL_EXECUTION_ID"
rm -rf "$TCDIR"
# Determine remote execution ID
-"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build main $ARGS $REMOTE_EXECUTION_ARGS
+"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build main $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS}
readonly REMOTE_EXECUTION_ID=$(ls -1 "$TCDIR" | head -n1)
echo "Remote execution ID: $REMOTE_EXECUTION_ID"
rm -rf "$TCDIR"
@@ -155,7 +167,7 @@ sed -i "s|RANDOM_STRING_1 \".*\"|RANDOM_STRING_1 \"$RANDOM_STRING\"|" greet/incl
sed -i "s|RANDOM_STRING_2 \".*\"|RANDOM_STRING_2 \"$RANDOM_STRING\"|" greet/src/greet.cpp
# Build greetlib remotely
-"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" --main main build main $ARGS $REMOTE_EXECUTION_ARGS
+"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" --main main build main $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS}
# Check if file and tree artifacts have been downloaded correctly
readonly TC_HASH=$(get_tc_hash $REMOTE_EXECUTION_ID)
@@ -181,7 +193,7 @@ sed -i "s|RANDOM_STRING_2 \".*\"|RANDOM_STRING_2 \"$RANDOM_STRING\"|" greet/src/
mv "$TCDIR/$LOCAL_EXECUTION_ID" "$TCDIR/$REMOTE_EXECUTION_ID"
# Check if greetlib successfully builds remotely
-"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" --main main build main $ARGS $REMOTE_EXECUTION_ARGS
+"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" --main main build main $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS}
# Clean up test files
rm -rf "$TESTDIR" "$LBRDIR"
@@ -209,7 +221,7 @@ sed -i "s|\"foo\": \"[^\"]*\"|\"foo\": \"$RANDOM_STRING\"|" foo.py
sed -i "s|\"foo\": \"[^\"]*\"|\"foo\": \"$RANDOM_STRING\"|" bar.py
# Build pydicts remotely
-"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build json_from_py $ARGS $REMOTE_EXECUTION_ARGS
+"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build json_from_py $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS}
# 'exported_py' target contains a provides map,
# which contains an abstract node (type 'convert'),
@@ -244,7 +256,7 @@ sed -i "s|\"foo\": \"[^\"]*\"|\"foo\": \"$RANDOM_STRING\"|" bar.py
mv "$TCDIR/$LOCAL_EXECUTION_ID" "$TCDIR/$REMOTE_EXECUTION_ID"
# Check if pydicts successfully builds remotely
-"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build json_from_py $ARGS $REMOTE_EXECUTION_ARGS
+"$JUST_MR" --norc --just "$JUST" --local-build-root "$LBRDIR" build json_from_py $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS}
# Clean up test files
rm -rf "$TESTDIR" "$LBRDIR"
diff --git a/test/end-to-end/target-cache/target-cache-hit.sh b/test/end-to-end/target-cache/target-cache-hit.sh
index e4776f2f..0b7252ae 100644
--- a/test/end-to-end/target-cache/target-cache-hit.sh
+++ b/test/end-to-end/target-cache/target-cache-hit.sh
@@ -20,6 +20,7 @@ readonly JUST="$PWD/bin/tool-under-test"
readonly JUST_MR="$PWD/bin/mr-tool-under-test"
readonly LBRDIR="$TEST_TMPDIR/local-build-root"
readonly TESTDIR="$TEST_TMPDIR/test-root"
+readonly CREDENTIALS_DIR="${PWD}/credentials"
# create project files including an exported target
mkdir -p "$TESTDIR"
@@ -60,13 +61,23 @@ export CONF="$("$JUST_MR" -C repos.json --local-build-root="$LBRDIR" setup main)
"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS 2>&1
REMOTE_EXECUTION_ARGS=""
+AUTH_ARGS=""
if [ "${REMOTE_EXECUTION_ADDRESS:-}" != "" ]; then
- REMOTE_EXECUTION_ARGS="-r $REMOTE_EXECUTION_ADDRESS"
+ REMOTE_EXECUTION_ARGS="-r ${REMOTE_EXECUTION_ADDRESS}"
if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
- REMOTE_EXECUTION_ARGS="$REMOTE_EXECUTION_ARGS --remote-execution-property $REMOTE_EXECUTION_PROPERTIES"
+ REMOTE_EXECUTION_ARGS="${REMOTE_EXECUTION_ARGS} --remote-execution-property ${REMOTE_EXECUTION_PROPERTIES}"
+ fi
+ if [ -f "${CREDENTIALS_DIR}/ca.crt" ]; then
+ AUTH_ARGS=" --tls-ca-cert ${CREDENTIALS_DIR}/ca.crt "
+ if [ -f "${CREDENTIALS_DIR}/client.crt" ]; then
+ AUTH_ARGS=" --tls-client-cert ${CREDENTIALS_DIR}/client.crt "${AUTH_ARGS}
+ fi
+ if [ -f "${CREDENTIALS_DIR}/client.key" ]; then
+ AUTH_ARGS=" --tls-client-key ${CREDENTIALS_DIR}/client.key "${AUTH_ARGS}
+ fi
fi
fi
# build project twice remotely to trigger a target cache hit
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
+"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS} 2>&1
+"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS ${AUTH_ARGS} 2>&1