lib/cov/kcov.sh
#shellcheck shell=bash disable=SC2016
shellspec_coverage_setup() {
SHELLSPEC_ENV_FILE="$SHELLSPEC_LIB/cov/kcov/.$1env"
[ -e "$SHELLSPEC_ENV_FILE" ] || return 0
shellspec_coverage=0
shellspec_coverage_start() {
echo 'shellspec_coverage_start() {'
echo 'shellspec_coverage=$((shellspec_coverage + 1))'
echo '[ "$shellspec_coverage" -eq 1 ] || return 0'
while IFS= read -r line; do
echo "$line"
done
echo '}'
}
eval "$(shellspec_coverage_start < "$SHELLSPEC_ENV_FILE")"
shellspec_coverage_stop() {
if [ "$shellspec_coverage" -gt 0 ]; then
shellspec_coverage=$((shellspec_coverage - 1))
[ "$shellspec_coverage" -eq 0 ] || return 0
fi
trap - DEBUG
}
shellspec_coverage_env() {
echo 'shellspec_coverage_env() {'
while IFS= read -r line; do
case $line in ("#ENV "*)
echo "${line#* }"
esac
done
echo '}'
}
eval "$(shellspec_coverage_env < "$SHELLSPEC_ENV_FILE")"
}