#!/usr/bin/env bash test_directory="$(cd "$(dirname "$0")" && pwd)" bats_executable="${test_directory}/../test_lib/bats-core/bin/bats" git submodule init && git submodule update if [ -z "${BASH_IT}" ]; then declare BASH_IT BASH_IT=$(cd ${test_directory} && dirname "$(pwd)") export BASH_IT fi if [ -z "$1" ]; then test_dirs=( ${test_directory}/{bash_it,completion,install,lib,plugins,themes} ) else test_dirs=( "$1" ) fi if command -v parallel &> /dev/null then # Expect to run at least on a dual-core CPU; slightly degraded performance # shouldn't matter otherwise. declare -i -r test_jobs_default=2 declare -i -r test_jobs_effective="$( if [ "${TEST_JOBS:-detect}" = "detect" ] \ && command -v nproc &> /dev/null then nproc elif [ -n "${TEST_JOBS}" ] \ && [ "${TEST_JOBS}" != "detect" ] then echo "${TEST_JOBS}" else echo ${test_jobs_default} fi )" exec "$bats_executable" ${CI:+--tap} --jobs ${test_jobs_effective} \ "${test_dirs[@]}" else exec "$bats_executable" ${CI:+--tap} "${test_dirs[@]}" fi