summaryrefslogtreecommitdiff
path: root/test/end-to-end/serve-service
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-11-15 15:37:10 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-11-16 15:19:07 +0100
commit04486312bdba9b610edbd71d23b5f4a428e04a40 (patch)
tree45b71484b077f9c9aad7a83901061bf664225265 /test/end-to-end/serve-service
parent4a7517b4c638118abcff6bc406171bf9566be2fc (diff)
downloadjustbuild-04486312bdba9b610edbd71d23b5f4a428e04a40.tar.gz
test: Check that serve service works in compatible mode
Added compatibility envariable to the with_serve rule, guarded tests using --fetch-absent such that they run only in native mode, and made all serve-service tests aware of the compatibility flag.
Diffstat (limited to 'test/end-to-end/serve-service')
-rw-r--r--test/end-to-end/serve-service/serve_export_deps.sh17
-rw-r--r--test/end-to-end/serve-service/serve_start_execute.sh16
-rw-r--r--test/end-to-end/serve-service/serve_target_cache_hit.sh8
-rw-r--r--test/end-to-end/serve-service/serve_target_remote_build.sh9
4 files changed, 42 insertions, 8 deletions
diff --git a/test/end-to-end/serve-service/serve_export_deps.sh b/test/end-to-end/serve-service/serve_export_deps.sh
index 6c21734d..64886a4c 100644
--- a/test/end-to-end/serve-service/serve_export_deps.sh
+++ b/test/end-to-end/serve-service/serve_export_deps.sh
@@ -31,6 +31,11 @@ readonly LBR="${TEST_TMPDIR}/local-build-root"
readonly LOCAL_DIR="${TEST_TMPDIR}/local"
readonly ABSENT_DIR="${TEST_TMPDIR}/absent"
+COMPAT=""
+if [ "${COMPATIBLE:-}" = "YES" ]; then
+ COMPAT="--compatible"
+fi
+
# Set up sample repository
readonly GENERATOR="${TEST_TMPDIR}/generate.sh"
readonly GEN_DIR="{TEST_TMPDIR}/gen-dir"
@@ -81,7 +86,7 @@ cat repos.json
CONF=$("${JUST_MR}" --norc --local-build-root "${SERVE_LBR}" setup)
cat "${CONF}"
-"${JUST}" build --local-build-root "${SERVE_LBR}" -C "${CONF}" -r ${REMOTE_EXECUTION_ADDRESS} main
+"${JUST}" build --local-build-root "${SERVE_LBR}" -C "${CONF}" -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
)
# Set up local repository
@@ -149,11 +154,15 @@ echo
rm "${GENERATOR}"
-CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" setup --all)
+CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" ${COMPAT} setup --all)
cat "${CONF}"
echo
# test that we can successfully compile using just serve
-"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" --remote-serve-address ${SERVE} -r ${REMOTE_EXECUTION_ADDRESS} main
-"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" --remote-serve-address ${SERVE} -r ${REMOTE_EXECUTION_ADDRESS} main
+"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" \
+ --remote-serve-address ${SERVE} \
+ -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
+"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" \
+ --remote-serve-address ${SERVE} \
+ -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
)
diff --git a/test/end-to-end/serve-service/serve_start_execute.sh b/test/end-to-end/serve-service/serve_start_execute.sh
index 5cad0400..d15d14eb 100644
--- a/test/end-to-end/serve-service/serve_start_execute.sh
+++ b/test/end-to-end/serve-service/serve_start_execute.sh
@@ -31,10 +31,20 @@ readonly PIDFILE="${PWD}/pid.txt"
# test that, if no remote endpoint is passed to just-serve, it will spawn a
# just-execute instance
+COMPAT=""
cat > .just-servec <<EOF
{ "repositories": []
, "remote service": {"info file": "${INFOFILE}", "pid file": "${PIDFILE}"}
, "local build root": "${LBR}"
+EOF
+if [ "${COMPATIBLE:-}" = "YES" ]
+then
+ COMPAT="--compatible"
+ cat >> .just-servec <<EOF
+, "execution endpoint": {"compatible": true}
+EOF
+fi
+cat >> .just-servec <<EOF
}
EOF
echo "Serve service configuration:"
@@ -75,12 +85,14 @@ cat > TARGETS <<ENDTARGETS
ENDTARGETS
-"${JUST}" install --local-build-root "${LBR}" -r localhost:${PORT} -o .
+"${JUST}" install --local-build-root "${LBR}" \
+ -r localhost:${PORT} ${COMPAT} -o .
grep 'just-serve-just-execute' out.txt
# test that if we only pass --remote-serve-address it is also used as remote
# execution endpoint
rm -rf "${LBR}"
-"${JUST}" install --local-build-root "${LBR}" --remote-serve-address localhost:${PORT} -o .
+"${JUST}" install --local-build-root "${LBR}" \
+ --remote-serve-address localhost:${PORT} ${COMPAT} -o .
grep 'just-serve-just-execute' out.txt
diff --git a/test/end-to-end/serve-service/serve_target_cache_hit.sh b/test/end-to-end/serve-service/serve_target_cache_hit.sh
index 6b57625f..51ced326 100644
--- a/test/end-to-end/serve-service/serve_target_cache_hit.sh
+++ b/test/end-to-end/serve-service/serve_target_cache_hit.sh
@@ -43,6 +43,11 @@ EOF
readonly REMOTE_PROPERTIES="--remote-execution-property foo:bar"
readonly DISPATCH="--endpoint-configuration ${DISPATCH_FILE}"
+COMPAT=""
+if [ "${COMPATIBLE:-}" = "YES" ]; then
+ COMPAT="--compatible"
+fi
+
# Set up sample repository
readonly GENERATOR="${TEST_TMPDIR}/generate.sh"
readonly GEN_DIR="{TEST_TMPDIR}/gen-dir"
@@ -104,6 +109,7 @@ echo
--local-build-root "${SERVE_LBR}" \
-C "${CONF}" \
-r "${REMOTE_EXECUTION_ADDRESS}" \
+ ${COMPAT} \
${REMOTE_PROPERTIES} \
${DISPATCH} \
main
@@ -148,6 +154,7 @@ echo "failed as expected"
--remote-serve-address "${SERVE}" \
-C "${CONF}" \
-r "${SERVE}" \
+ ${COMPAT} \
${REMOTE_PROPERTIES} \
${DISPATCH} \
main && echo "this should fail" >&2 && exit 1
@@ -158,6 +165,7 @@ echo "failed as expected"
--remote-serve-address "${SERVE}" \
-C "${CONF}" \
-r "${REMOTE_EXECUTION_ADDRESS}" \
+ ${COMPAT} \
${REMOTE_PROPERTIES} \
${DISPATCH} \
main
diff --git a/test/end-to-end/serve-service/serve_target_remote_build.sh b/test/end-to-end/serve-service/serve_target_remote_build.sh
index 66138476..660e9460 100644
--- a/test/end-to-end/serve-service/serve_target_remote_build.sh
+++ b/test/end-to-end/serve-service/serve_target_remote_build.sh
@@ -27,6 +27,11 @@ readonly JUST="${PWD}/bin/tool-under-test"
readonly JUST_MR="${PWD}/bin/mr-tool-under-test"
readonly LBR="${TEST_TMPDIR}/local-build-root"
+COMPAT=""
+if [ "${COMPATIBLE:-}" = "YES" ]; then
+ COMPAT="--compatible"
+fi
+
mkdir work
cd work
touch ROOT
@@ -48,7 +53,7 @@ EOF
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
--remote-serve-address ${SERVE} \
- -r ${REMOTE_EXECUTION_ADDRESS} \
+ -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} \
setup)
cat $CONF
@@ -57,7 +62,7 @@ cat $CONF
${JUST} build --local-build-root "${LBR}" -C "${CONF}" \
--remote-serve-address ${SERVE} \
--log-limit 8 \
- -r "${REMOTE_EXECUTION_ADDRESS}" greet 2>&1 && \
+ -r "${REMOTE_EXECUTION_ADDRESS}" ${COMPAT} greet 2>&1 && \
echo "This test should fail" && exit 1
echo OK