From ad44470d3f2fa72bb36acf2eef9053920dd18ece Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Tue, 20 Feb 2024 16:41:06 +0100 Subject: test just-mr and serve: Check file repository to_git root creation Extends test coverage for the interaction between 'just-mr setup' and the serve endpoint for file repositories with to_git pragma. --- test/end-to-end/serve-service/TARGETS | 1 + .../serve-service/serve-file-root/TARGETS | 12 ++ .../serve-service/serve-file-root/upload.sh | 126 +++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 test/end-to-end/serve-service/serve-file-root/TARGETS create mode 100644 test/end-to-end/serve-service/serve-file-root/upload.sh (limited to 'test') diff --git a/test/end-to-end/serve-service/TARGETS b/test/end-to-end/serve-service/TARGETS index 9b0325cb..9d29a9ca 100644 --- a/test/end-to-end/serve-service/TARGETS +++ b/test/end-to-end/serve-service/TARGETS @@ -139,6 +139,7 @@ , "dirs": [ [["./", "serve-archive-root", "TESTS"], "serve-archive-root"] , [["./", "serve-git-root", "TESTS"], "serve-git-root"] + , [["./", "serve-file-root", "TESTS"], "serve-file-root"] ] } } diff --git a/test/end-to-end/serve-service/serve-file-root/TARGETS b/test/end-to-end/serve-service/serve-file-root/TARGETS new file mode 100644 index 00000000..b4d686e5 --- /dev/null +++ b/test/end-to-end/serve-service/serve-file-root/TARGETS @@ -0,0 +1,12 @@ +{ "upload": + { "type": ["end-to-end", "with serve"] + , "name": ["upload"] + , "test": ["upload.sh"] + , "deps": + [ ["end-to-end", "mr-tool-under-test"] + , ["end-to-end", "tool-under-test"] + , ["end-to-end/serve-service", "serve-tree (archive)"] + ] + } +, "TESTS": {"type": "install", "tainted": ["test"], "deps": ["upload"]} +} diff --git a/test/end-to-end/serve-service/serve-file-root/upload.sh b/test/end-to-end/serve-service/serve-file-root/upload.sh new file mode 100644 index 00000000..5f7ed7e8 --- /dev/null +++ b/test/end-to-end/serve-service/serve-file-root/upload.sh @@ -0,0 +1,126 @@ +#!/bin/sh +# Copyright 2024 Huawei Cloud Computing Technology Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +### +# This test checks that the root for a file repository marked to_git is being +# uploaded to the serve endpoint. +# +# Also checks the upload of locally known absent roots for Git-tree +# repositories. +## + +set -eu + +readonly JUST="${PWD}/bin/tool-under-test" +readonly JUST_MR="${PWD}/bin/mr-tool-under-test" +readonly LOCAL_REPO="${TEST_TMPDIR}/repo_root" +readonly LBR="${TEST_TMPDIR}/local-build-root" + +COMPAT="" +if [ "${COMPATIBLE:-}" = "YES" ]; then + COMPAT="--compatible" +fi + +ENDPOINT_ARGS="-r ${REMOTE_EXECUTION_ADDRESS} -R ${SERVE} ${COMPAT}" + +### +# Setup sample repos config with present and absent repos +## + +mkdir -p "${LOCAL_REPO}" +tar xf src.tar -C "${LOCAL_REPO}" + +cd "${LOCAL_REPO}" +git init -b trunk +git config user.name 'N.O.Body' +git config user.email 'nobody@example.org' +git add -f . +git commit -m 'Test repo' 2>&1 +TREE=$(git log -n 1 --format="%T") +cd - + +mkdir work +cd work + +touch ROOT +cat > repos.json <&1 && exit 1 || : + echo Failed as expected +fi + +echo OK -- cgit v1.2.3