#!/bin/sh # Copyright 2023 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. ########################################################################### # # We test that we are able to compile an export target, which depends on an # absent one. # ########################################################################### set -eu env readonly JUST="${PWD}/bin/tool-under-test" readonly JUST_MR="${PWD}/bin/mr-tool-under-test" 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" cat > "${GENERATOR}" < TARGETS < out.txt"] , "outs": ["out.txt"] } , "main": {"type": "export", "target": "main-internal", "flexible_config": ["ENV"]} } ENDTARGETS EOF chmod 755 "${GENERATOR}" mkdir -p "${GEN_DIR}" ( cd "${GEN_DIR}" git init git config user.email "nobody@example.org" git config user.name "Nobody" "${GENERATOR}" git add . git commit -m "first commit" ) readonly TREE_ID=$(cd "${GEN_DIR}" && git log -n 1 --format="%T") # fill the target cache that will be used by just serve mkdir -p ${LOCAL_DIR} ( cd ${LOCAL_DIR} touch ROOT cat > repos.json < "${GENERATOR_LOCAL}" < TARGETS < local.txt"] , "outs": ["local.txt"] , "deps" : [["@", "absent-dep", "", "main"]] } , "main": {"type": "export", "target": "main-internal", "flexible_config": ["ENV"]} } EOFTARGETS EOF chmod 755 "${GENERATOR_LOCAL}" mkdir -p "${GEN_DIR_LOCAL}" ( cd "${GEN_DIR_LOCAL}" git init git config user.email "nobody@example.org" git config user.name "Nobody" "${GENERATOR_LOCAL}" git add . git commit -m "first commit" ) readonly TREE_ID_LOCAL=$(cd "${GEN_DIR_LOCAL}" && git log -n 1 --format="%T") # test with the absent repository mkdir -p "${ABSENT_DIR}" ( cd "${ABSENT_DIR}" touch ROOT cat > repos.json <