Skip to content
Merged
4 changes: 2 additions & 2 deletions .github/workflows/test-smokes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,9 @@ jobs:
path: |
${{ env.RENV_PATHS_ROOT }}
renv/library
key: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-1-${{ hashFiles('tests/renv.lock') }}
key: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-2-${{ hashFiles('tests/renv.lock') }}
restore-keys: |
${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-1-
${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-2-

- name: Install missing system deps
if: runner.os == 'Linux'
Expand Down
6 changes: 6 additions & 0 deletions configure.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ if "%QUARTO_VENDOR_BINARIES%" == "true" (
POPD
)

IF NOT DEFINED QUARTO_DENO_DIR (
SET "DENO_DIR=!QUARTO_BIN_PATH!\deno_cache"
) ELSE (
SET "DENO_DIR=!QUARTO_DENO_DIR!"
)

PUSHD !QUARTO_PACKAGE_PATH!\src
ECHO Configuring Quarto from !cd!
CALL quarto-bld.cmd configure --log-level info
Expand Down
33 changes: 29 additions & 4 deletions package/scripts/windows/quarto.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,27 @@ IF EXIST "!QUARTO_TS_PATH!" (
set QUARTO_DEV_MODE=true

IF "%1"=="--version" (
IF DEFINED QUARTO_FORCE_VERSION (
ECHO !QUARTO_FORCE_VERSION!
GOTO end
)
ECHO 99.9.9
GOTO end
)

IF "%1"=="-v" (
IF DEFINED QUARTO_FORCE_VERSION (
ECHO !QUARTO_FORCE_VERSION!
GOTO end
)
ECHO 99.9.9
GOTO end
)

call !QUARTO_ROOT!\win_configuration.bat
REM overrride share path to point to our dev folder instead of dist
set QUARTO_SHARE_PATH=!QUARTO_ROOT!\src\resources
set "DENO_DIR=!QUARTO_BIN_PATH!\deno_cache"

IF NOT DEFINED QUARTO_ACTION (
SET QUARTO_ACTION=run
Expand All @@ -51,17 +60,20 @@ IF EXIST "!QUARTO_TS_PATH!" (
cd !QUARTO_ROOT!
call configure.cmd
echo
echo.
echo Quarto required reconfiguration to install Deno !DENO!. Please try command again.
GOTO end
exit /b 1
)
) else (
echo !DENO!>"!DENO_VERSION_FILE!"
)

SET QUARTO_CACHE_OPTIONS=
SET QUARTO_CACHE_OPTIONS=--cached-only

REM Turn on type checking for dev version
SET QUARTO_DENO_OPTIONS=--check
IF NOT DEFINED QUARTO_NO_TYPECHECK (
SET QUARTO_DENO_OPTIONS=--check
)

) ELSE (

Expand All @@ -70,11 +82,19 @@ IF EXIST "!QUARTO_TS_PATH!" (
)

IF "%1"=="-v" (
IF DEFINED QUARTO_FORCE_VERSION (
ECHO !QUARTO_FORCE_VERSION!
GOTO end
)
TYPE "!QUARTO_SHARE_PATH!\version"
GOTO end
)

IF "%1"=="--version" (
IF DEFINED QUARTO_FORCE_VERSION (
ECHO !QUARTO_FORCE_VERSION!
GOTO end
)
TYPE "!QUARTO_SHARE_PATH!\version"
GOTO end
)
Expand All @@ -84,7 +104,7 @@ IF EXIST "!QUARTO_TS_PATH!" (
SET "QUARTO_TARGET=%SCRIPT_PATH%\quarto.js"
SET "QUARTO_BIN_PATH=%SCRIPT_PATH%"
SET "QUARTO_IMPORT_MAP_ARG=--importmap=""%SCRIPT_PATH%\vendor\import_map.json"""
SET QUARTO_CACHE_OPTIONS="--cached-only"
SET QUARTO_CACHE_OPTIONS=--cached-only
)

IF "%1"=="--paths" (
Expand Down Expand Up @@ -137,6 +157,11 @@ IF NOT DEFINED QUARTO_DENO_EXTRA_OPTIONS (
)
)

IF DEFINED QUARTO_TS_PROFILE (
SET "QUARTO_DENO_EXTRA_OPTIONS=--inspect-brk !QUARTO_DENO_EXTRA_OPTIONS!"
SET "QUARTO_TS_PROFILE=true"
)

IF DEFINED QUARTO_DEV_MODE (
!QUARTO_DENO! !QUARTO_ACTION! !QUARTO_CACHE_OPTIONS! !QUARTO_DENO_OPTIONS! !QUARTO_DENO_EXTRA_OPTIONS! !QUARTO_IMPORT_MAP_ARG! !QUARTO_TARGET! %*
) ELSE (
Expand Down
9 changes: 8 additions & 1 deletion tests/run-tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,14 @@ $Env:QUARTO_BIN_PATH = $QUARTO_BIN_PATH
$Env:QUARTO_SHARE_PATH = $QUARTO_SHARE_PATH

# Activated debug mode by default for stack trace
$Env:QUARTO_DEBUG = "true"
$Env:QUARTO_DEBUG = "true"

# Set DENO_DIR to cache location (respects QUARTO_DENO_DIR override)
If ($null -eq $Env:QUARTO_DENO_DIR) {
$Env:DENO_DIR = Join-Path $QUARTO_BIN_PATH "deno_cache"
} Else {
$Env:DENO_DIR = $Env:QUARTO_DENO_DIR
}

# Preparing running Deno with default arguments

Expand Down
25 changes: 18 additions & 7 deletions tests/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,26 @@ fi

source $SCRIPT_PATH/../package/scripts/common/utils.sh

export QUARTO_ROOT="`cd "$SCRIPT_PATH/.." > /dev/null 2>&1 && pwd`"
export QUARTO_ROOT="$(cd "$SCRIPT_PATH/.." > /dev/null 2>&1 && pwd)"
QUARTO_SRC_DIR="$QUARTO_ROOT/src"

# Architecture detection (preserve original DENO_DIR from environment)
DENO_ARCH_DIR=$DENO_DIR
DENO_DIR="$QUARTO_ROOT/package/dist/bin/"

# Set bin path explicitly (not derived from DENO_DIR)
QUARTO_BIN_PATH="$QUARTO_ROOT/package/dist/bin"

# Set DENO_DIR to cache location (respects QUARTO_DENO_DIR override)
if [ "$QUARTO_DENO_DIR" == "" ]; then
export DENO_DIR="$QUARTO_BIN_PATH/deno_cache"
else
export DENO_DIR="$QUARTO_DENO_DIR"
fi

# Local import map
QUARTO_IMPORT_MAP_ARG=--importmap=$QUARTO_SRC_DIR/import_map.json

export QUARTO_BIN_PATH=$DENO_DIR
export QUARTO_BIN_PATH
export QUARTO_SHARE_PATH="`cd "$QUARTO_ROOT/src/resources/";pwd`"
export QUARTO_DEBUG=true

Expand Down Expand Up @@ -83,13 +94,13 @@ if [ "$QUARTO_TEST_TIMING" != "" ] && [ "$QUARTO_TEST_TIMING" != "false" ]; then
SMOKE_ALL_FILES=`find docs/smoke-all/ -type f -regextype "posix-extended" -regex ".*/[^_][^/]*[.]qmd" -o -regex ".*/[^_][^/]*[.]md" -o -regex ".*/[^_][^/]*[.]ipynb"`
for j in $SMOKE_ALL_FILES; do
echo "${SMOKE_ALL_TEST_FILE} -- ${j}" >> "$QUARTO_TEST_TIMING"
/usr/bin/time -f " %e real %U user %S sys" -a -o ${QUARTO_TEST_TIMING} "${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" ${SMOKE_ALL_TEST_FILE} -- ${j}
/usr/bin/time -f " %e real %U user %S sys" -a -o ${QUARTO_TEST_TIMING} "${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" ${SMOKE_ALL_TEST_FILE} -- ${j}
done
continue
fi
# Otherwise we time the individual test.ts test
echo $i >> "$QUARTO_TEST_TIMING"
/usr/bin/time -f " %e real %U user %S sys" -a -o "$QUARTO_TEST_TIMING" "${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $i
/usr/bin/time -f " %e real %U user %S sys" -a -o "$QUARTO_TEST_TIMING" "${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $i
done
# exit the script with an error code if the timing file shows error
grep -q 'Command exited with non-zero status' $QUARTO_TEST_TIMING && SUCCESS=1 || SUCCESS=0
Expand Down Expand Up @@ -132,7 +143,7 @@ else
TESTS_TO_RUN="${SMOKE_ALL_TEST_FILE} -- ${SMOKE_ALL_FILES}"
fi
fi
"${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $TESTS_TO_RUN
"${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $TESTS_TO_RUN
SUCCESS=$?
fi

Expand Down Expand Up @@ -168,7 +179,7 @@ if [[ $@ == *"--coverage"* ]]; then
[[ $@ =~ .*--coverage=(.+) ]] && export COV="${BASH_REMATCH[1]}"

echo Generating coverage report...
${DENO_DIR}/deno coverage --unstable-kv --unstable-ffi ${COV} --lcov > ${COV}.lcov
${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno coverage --unstable-kv --unstable-ffi ${COV} --lcov > ${COV}.lcov
genhtml -o ${COV}/html ${COV}.lcov
open ${COV}/html/index.html
fi
Expand Down
Loading