diff --git a/lib/core/dsl.sh b/lib/core/dsl.sh index 4a9f7912..85a1f859 100644 --- a/lib/core/dsl.sh +++ b/lib/core/dsl.sh @@ -64,28 +64,6 @@ shellspec_begin() { shellspec_output BEGIN } -shellspec_execdir() { - case $1 in - @project | @project/*) set -- "${1#@project}" ;; - @basedir | @basedir/*) - set -- "$1" "/${SHELLSPEC_SPECFILE%/*}" - while [ "$2" ]; do - [ -e "${SHELLSPEC_PROJECT_ROOT%/}/$2/.shellspec" ] && break - [ -e "${SHELLSPEC_PROJECT_ROOT%/}/$2/.shellspec-basedir" ] && break - set -- "$1" "${2%/*}" - done - set -- "${2#/}${1#@basedir}" - ;; - @specfile | @specfile/*) set -- "${SHELLSPEC_SPECFILE%/*}${1#@specfile}" ;; - *) set -- "" - esac - case $1 in - /*) set -- "$1" ;; - ?*) set -- "/$1" ;; - esac - cd "${SHELLSPEC_PROJECT_ROOT%/}$1" -} - shellspec_perform() { SHELLSPEC_ENABLED=$1 SHELLSPEC_FILTER=$2 } diff --git a/lib/general.sh b/lib/general.sh index 0d5732c2..dd2b5749 100644 --- a/lib/general.sh +++ b/lib/general.sh @@ -942,6 +942,28 @@ shellspec_abspath_win() { eval "$1=\"\${$1#/}\"" } +shellspec_execdir() { + case $1 in + @project | @project/*) set -- "${1#@project}" ;; + @basedir | @basedir/*) + set -- "$1" "/${SHELLSPEC_SPECFILE%/*}" + while [ "$2" ]; do + [ -e "${SHELLSPEC_PROJECT_ROOT%/}/$2/.shellspec" ] && break + [ -e "${SHELLSPEC_PROJECT_ROOT%/}/$2/.shellspec-basedir" ] && break + set -- "$1" "${2%/*}" + done + set -- "${2#/}${1#@basedir}" + ;; + @specfile | @specfile/*) set -- "${SHELLSPEC_SPECFILE%/*}${1#@specfile}" ;; + *) set -- "" + esac + case $1 in + /*) set -- "$1" ;; + ?*) set -- "/$1" ;; + esac + cd "${SHELLSPEC_PROJECT_ROOT%/}$1" +} + shellspec_mv() { "$SHELLSPEC_MV" "$@"; } shellspec_rm() { "$SHELLSPEC_RM" "$@"; } shellspec_chmod() { "$SHELLSPEC_CHMOD" "$@"; } diff --git a/lib/libexec/kcov-executor.sh b/lib/libexec/kcov-executor.sh index 62e1e2d5..3db577b9 100644 --- a/lib/libexec/kcov-executor.sh +++ b/lib/libexec/kcov-executor.sh @@ -25,6 +25,8 @@ executor() { #shellcheck disable=SC2039,SC2086 ( + shellspec_execdir "${SHELLSPEC_EXECDIR}" + "$SHELLSPEC_KCOV_PATH" \ $SHELLSPEC_KCOV_COMMON_OPTS \ $SHELLSPEC_KCOV_OPTS \