| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/bash
- declare -a vitest_args=("$@")
- has_mocha_test=0
- has_vitest_test=0
- for dir_path in "$@"; do
- if [ -n "$(find "$dir_path" -name "*.js" -type f -print -quit 2>/dev/null)" ]; then
- has_mocha_test=1
- fi
- if [ -n "$(find "$dir_path" -name "*.test.mjs" -type f -print -quit 2>/dev/null)" ]; then
- has_vitest_test=1
- fi
- done
- if [[ -n "$MOCHA_GREP" ]]; then
- vitest_args+=("--testNamePattern" "$MOCHA_GREP")
- fi
- if [[ -n "$VITEST_NO_CACHE" ]]; then
- echo "Disabling cache for vitest."
- vitest_args+=("--no-cache")
- fi
- echo "Running unit tests in directory: $*"
- # Remove this if/else when we have converted all module tests to vitest.
- if (( has_vitest_test == 1 )); then
- npm run test:unit:esm -- "${vitest_args[@]}"
- vitest_status=$?
- else
- echo "No vitest tests found in $*, skipping vitest step."
- vitest_status=0
- fi
- if (( has_mocha_test == 1 )); then
- mocha --recursive --timeout 25000 --exit --grep="$MOCHA_GREP" --require test/unit/bootstrap.js --extension=js "$@"
- mocha_status=$?
- else
- echo "No mocha tests found in $TARGET_DIR, skipping mocha step."
- mocha_status=0
- fi
- if [ "$mocha_status" -eq 0 ] && [ "$vitest_status" -eq 0 ]; then
- exit 0
- fi
- # Report status briefly at the end for failures
- if [ "$mocha_status" -ne 0 ]; then
- echo "Mocha tests failed with status: $mocha_status"
- fi
- if [ "$vitest_status" -ne 0 ]; then
- echo "Vitest tests failed with status: $vitest_status"
- fi
- exit 1
|