| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- declare -a vitest_args=("$@")
- has_mocha_test=0
- has_sequential_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 "*.sequential.test.mjs" -type f -print -quit 2>/dev/null)" ]; then
- has_sequential_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: $*"
- npm run test:unit:esm:parallel -- "${vitest_args[@]}"
- vitest_parallel_status=$?
- if (( has_sequential_test == 0 )); then
- echo "No sequential vitest tests found, skipping sequential vitest step."
- vitest_sequential_status=0
- else
- npm run test:unit:esm:sequential -- "${vitest_args[@]}"
- vitest_sequential_status=$?
- 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, skipping mocha step."
- mocha_status=0
- fi
- if [ "$mocha_status" -eq 0 ] && [ "$vitest_sequential_status" -eq 0 ] && [ "$vitest_parallel_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_parallel_status" -ne 0 ]; then
- echo "Vitest parallel tests failed with status: $vitest_parallel_status"
- fi
- if [ "$vitest_sequential_status" -ne 0 ]; then
- echo "Vitest sequential tests failed with status: $vitest_sequential_status"
- fi
- exit 1
|