mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
The step summary renders every junit report under build/test-reports, so the three suites were absent from it for want of a report file. They now write one under the same name the python runner derives from INFINITO_TEST_TYPE. minitest ships no junit reporter, and a gem for one file would be a dependency the otherwise stdlib-only suite does not need, so it gets a small plugin instead. The runners also provision their own toolchain now that the host-side make prerequisites are gone.
31 lines
848 B
Bash
Executable File
31 lines
848 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# shellcheck shell=bash
|
|
#
|
|
# Runs the JavaScript unit suite through node:test, Node's built-in runner.
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../../.." && pwd)"
|
|
|
|
cd "${REPO_ROOT}"
|
|
|
|
bash scripts/install/node.sh
|
|
|
|
suite="tests/unit/javascript"
|
|
|
|
mapfile -t tests < <(find "${suite}" -name '*.test.js' | sort)
|
|
|
|
if ((${#tests[@]} == 0)); then
|
|
printf 'ERROR test-unit-javascript: no JavaScript unit tests in %s\n' "${suite}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
junit_report="build/test-reports/${INFINITO_TEST_TYPE:?INFINITO_TEST_TYPE must be set}.xml" # nocheck: makefile-supplied
|
|
mkdir -p build/test-reports
|
|
|
|
exec node --test \
|
|
--test-reporter=spec --test-reporter-destination=stdout \
|
|
--test-reporter=junit --test-reporter-destination="${junit_report}" \
|
|
"${tests[@]}"
|