#!/usr/bin/env bash # # Description: # Runs Spack unit tests. # # Usage: # run-unit-tests [test ...] # # Options: # Optionally add one or more unit tests # to only run these tests. # # Notes: # Requires coverage, git, mercurial, and subversion. # QA_DIR="$(dirname "$0")" SPACK_ROOT="$QA_DIR/../../.." # Array of dependencies deps=( coverage git hg svn ) # Check for dependencies "$QA_DIR/check_dependencies" "${deps[@]}" || exit 1 # Add Spack to the PATH. export PATH="$SPACK_ROOT/bin:$PATH" # Move to root directory of Spack # Allows script to be run from anywhere cd "$SPACK_ROOT" # Run integration tests # TODO: should these be separated into a different test suite? source "$SPACK_ROOT/share/spack/setup-env.sh" spack compilers spack config get compilers # Run unit tests with code coverage if [[ "$TRAVIS_PYTHON_VERSION" == 2.7 ]]; then coverage run bin/spack install -v libdwarf coverage run bin/spack test "$@" coverage combine else spack install -v libdwarf spack test "$@" fi