summaryrefslogtreecommitdiff
path: root/test/end-to-end/remote-execution/upload-test.sh
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-07-05 10:46:42 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-07-11 11:56:33 +0200
commitbec3322cfff305f13735c5f72febfd752b49fa10 (patch)
tree3d730607194508cca566873f1d06cee02bb8aa44 /test/end-to-end/remote-execution/upload-test.sh
parentcc5636adb95d6e0de1ff7858b317d7ed319c0ee8 (diff)
downloadjustbuild-bec3322cfff305f13735c5f72febfd752b49fa10.tar.gz
test: Extend coverage for symlinks and ignore_special roots
Diffstat (limited to 'test/end-to-end/remote-execution/upload-test.sh')
-rw-r--r--test/end-to-end/remote-execution/upload-test.sh40
1 files changed, 35 insertions, 5 deletions
diff --git a/test/end-to-end/remote-execution/upload-test.sh b/test/end-to-end/remote-execution/upload-test.sh
index 5ab88955..f4fbfac7 100644
--- a/test/end-to-end/remote-execution/upload-test.sh
+++ b/test/end-to-end/remote-execution/upload-test.sh
@@ -18,7 +18,8 @@ set -eu
readonly JUST="${PWD}/bin/tool-under-test"
readonly GITDIR="${TEST_TMPDIR}/src"
-readonly LBRDIR="${TEST_TMPDIR}/local-build-root"
+readonly LBRDIR_1="${TEST_TMPDIR}/local-build-root-1"
+readonly LBRDIR_2="${TEST_TMPDIR}/local-build-root-2"
mkdir -p ${GITDIR}
cd ${GITDIR}
@@ -27,11 +28,12 @@ git config user.name "Nobody"
git config user.email "nobody@example.org"
mkdir -p foo/bar/baz
echo `hostname`.`date +%s`.$$ > foo/bar/baz/data.txt
+ln -s dummy foo/bar/baz/link
cat > TARGETS <<'EOF'
{ "":
{ "type": "generic"
- , "outs": ["out.txt"]
- , "cmds": ["find . > out.txt"]
+ , "outs": ["out.txt", "newlink"]
+ , "cmds": ["find . > out.txt", "ln -s dummy newlink"]
, "deps": [["TREE", null, "."]]
}
}
@@ -41,6 +43,9 @@ git commit -m 'Generated new data'
readonly TREE=$(git log --pretty=%T)
cd ${TEST_TMPDIR}
+
+echo === regular root ===
+
cat > repos.json <<EOF
{ "repositories":
{"": {"workspace_root": ["git tree", "${TREE}", "${GITDIR}"]}}
@@ -54,7 +59,32 @@ fi
# Build locally
export CONF="$(realpath repos.json)"
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR}" ${ARGS} 2>&1
+"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} 2>&1
+
+# Build remotely
+REMOTE_EXECUTION_ARGS="-r ${REMOTE_EXECUTION_ADDRESS}"
+if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
+ REMOTE_EXECUTION_ARGS="${REMOTE_EXECUTION_ARGS} --remote-execution-property ${REMOTE_EXECUTION_PROPERTIES}"
+fi
+
+"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
+
+echo === ignore_special root ===
+
+cat > repos.json <<EOF
+{ "repositories":
+ {"": {"workspace_root": ["git tree ignore-special", "${TREE}", "${GITDIR}"]}}
+}
+EOF
+
+ARGS=""
+if [ "${COMPATIBLE:-}" = "YES" ]; then
+ ARGS="--compatible"
+fi
+
+# Build locally
+export CONF="$(realpath repos.json)"
+"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} 2>&1
# Build remotely
REMOTE_EXECUTION_ARGS="-r ${REMOTE_EXECUTION_ADDRESS}"
@@ -62,4 +92,4 @@ if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
REMOTE_EXECUTION_ARGS="${REMOTE_EXECUTION_ARGS} --remote-execution-property ${REMOTE_EXECUTION_PROPERTIES}"
fi
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
+"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1