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"