diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-15 15:37:10 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-16 15:19:07 +0100 |
commit | 04486312bdba9b610edbd71d23b5f4a428e04a40 (patch) | |
tree | 45b71484b077f9c9aad7a83901061bf664225265 /test/end-to-end/serve-service | |
parent | 4a7517b4c638118abcff6bc406171bf9566be2fc (diff) | |
download | justbuild-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')
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 |