check / check (push) Successful in 4m19s
New table-driven tests in test/unit/main.test.js: humanDuration, the figure and sparkline colours either side of each latency boundary, a target's min, max, average and median over empty, all-unreachable and mixed histories, and the four health states either side of their thresholds. src/main.js exports the four names they need. package.json gains a test script, which script/frontend-test runs with the dot reporter and, if a test fails, again with the spec reporter before failing. NODE_OPTIONS picks the reporter, since yarn appends its arguments after the test files. Model: opus-5-5
24 lines
833 B
Bash
Executable File
24 lines
833 B
Bash
Executable File
#!/bin/sh
|
|
# script/frontend-test: run the frontend test suite: the unit tests in
|
|
# test/unit/, through the test script in package.json, then the
|
|
# production build, which fails on broken code. The tests print a dot
|
|
# each; if any fails, they run again with every test listed, and the
|
|
# script fails even if that run passes. NODE_OPTIONS chooses the
|
|
# reporter because yarn adds its arguments after the test files, where
|
|
# node would take a reporter option for one more file.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
NODE_OPTIONS=--test-reporter=dot timeout 30 yarn --silent run test || {
|
|
echo "--- Rerunning with every test listed for details ---"
|
|
NODE_OPTIONS=--test-reporter=spec timeout 30 yarn --silent run test
|
|
exit 1
|
|
}
|
|
timeout 30 yarn build
|
|
}
|
|
|
|
main "$@"
|