diff options
Diffstat (limited to 'test/end-to-end/remote-execution/upload-test.sh')
-rw-r--r-- | test/end-to-end/remote-execution/upload-test.sh | 40 |
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 |