
* unit tests: mark slow tests as "maybeslow" This commit also removes the "network" marker and marks every "network" test as "maybeslow". Tests marked as db are maintained, but they're not slow anymore. * GA: require style tests to pass before running unit-tests * GA: make MacOS unit tests fail fast * GA: move all unit tests into the same workflow, run style tests as a prerequisite All the unit tests have been moved into the same workflow so that a single run of the dorny/paths-filter action can be used to ask for coverage based on the files that have been changed in a PR. The basic idea is that for PRs that introduce only changes to packages coverage is not necessary, this resulting in a faster execution of the tests. Also, for package only PRs slow unit tests are skipped. Finally, MacOS and linux unit tests are now conditional on style tests passing meaning that e.g. we won't waste a MacOS worker if we know that the PR has flake8 issues. * Addressed review comments * Skipping slow tests on MacOS for package only recipes * QA: make tests on changes correct before merging
59 lines
1.6 KiB
Bash
Executable File
59 lines
1.6 KiB
Bash
Executable File
#!/bin/bash -e
|
|
#
|
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
|
#
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
#
|
|
# Description:
|
|
# Runs Spack shell tests.
|
|
#
|
|
# Usage:
|
|
# run-shell-tests
|
|
|
|
#-----------------------------------------------------------
|
|
# Run a few initial commands and set up test environment
|
|
#-----------------------------------------------------------
|
|
ORIGINAL_PATH="$PATH"
|
|
|
|
. "$(dirname $0)/setup.sh"
|
|
if [ "$COVERAGE" = true ]; then
|
|
check_dependencies $coverage kcov git hg svn
|
|
else
|
|
echo "COVERAGE not set to 'true' [skipping coverage]"
|
|
fi
|
|
|
|
# Clean the environment by removing Spack from the path and getting rid of
|
|
# the spack shell function
|
|
export PATH="$ORIGINAL_PATH"
|
|
unset spack
|
|
|
|
# Convert QA_DIR to absolute path before changing directory
|
|
export QA_DIR=$(realpath $QA_DIR)
|
|
|
|
# Start in the spack root directory
|
|
cd "$SPACK_ROOT"
|
|
|
|
# Run bash tests with coverage enabled, but pipe output to /dev/null
|
|
# because it seems that kcov seems to undo the script's redirection
|
|
if [ "$COVERAGE" = true ]; then
|
|
"$QA_DIR/bashcov" "$QA_DIR/setup-env-test.sh" &> /dev/null
|
|
"$QA_DIR/bashcov" "$QA_DIR/completion-test.sh" &> /dev/null
|
|
else
|
|
bash "$QA_DIR/setup-env-test.sh"
|
|
bash "$QA_DIR/completion-test.sh"
|
|
fi
|
|
|
|
# Run the test scripts for their output (these will print nicely)
|
|
zsh "$QA_DIR/setup-env-test.sh"
|
|
zsh "$QA_DIR/completion-test.sh"
|
|
dash "$QA_DIR/setup-env-test.sh"
|
|
|
|
# Run fish tests
|
|
fish "$QA_DIR/setup-env-test.fish"
|
|
|
|
# run csh and tcsh tests
|
|
csh "$QA_DIR/setup-env-test.csh"
|
|
tcsh "$QA_DIR/setup-env-test.csh"
|