github.com/tych0/umoci@v0.4.2/hack/test-integration.sh (about) 1 #!/bin/bash 2 # umoci: Umoci Modifies Open Containers' Images 3 # Copyright (C) 2016, 2017, 2018 SUSE LLC. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -ex 18 19 export COVER="${COVER:-0}" 20 21 # Set up the root and coverage directories. 22 export ROOT="$(readlink -f "$(dirname "$(readlink -f "$BASH_SOURCE")")/..")" 23 if [ "$COVER" -eq 1 ]; then 24 export COVERAGE_DIR=$(mktemp --tmpdir -d umoci-coverage.XXXXXX) 25 fi 26 27 if [ "$COVER" -eq 1 ]; then 28 # Create a temporary symlink for umoci, since the --help tests require the 29 # binary have the name "umoci". This is all just to make the Makefile nicer. 30 UMOCI_DIR="$(mktemp --tmpdir -d umoci.XXXXXX)" 31 export UMOCI="$UMOCI_DIR/umoci" 32 ln -s "$ROOT/umoci.cover" "$UMOCI" 33 fi 34 35 # Run the tests and collate the results. 36 tests=() 37 if [[ -z "$TESTS" ]]; then 38 tests=($ROOT/test/*.bats) 39 else 40 for f in $TESTS; do 41 tests+=("$ROOT/test/$f.bats") 42 done 43 fi 44 bats -t ${tests[*]} 45 if [ "$COVER" -eq 1 ]; then 46 [ "$COVERAGE" ] && $ROOT/hack/collate.awk $COVERAGE_DIR/* $COVERAGE | sponge $COVERAGE 47 fi 48 49 # Clean up the coverage directory. 50 rm -rf "$COVERAGE_DIR"