- examples/subst-chain.tex: substitution walkthrough with \sdbox/\sdsubst/\sdstep - examples/antipatterns.tex: four compile-clean-but-teach-false figures - tests/invalid/step-outside-row.tex, empty-row.tex, undeclared-role.tex, two-contrast-pkg.tex: negative fixtures for package-level warnings - test.sh: add tests/invalid/ loop - build.sh: allow superderive-build: allow directive to suppress intentional warnings in antipatterns galleries - superderive.sty: \sdcol respects [en] option for illegal/legal labels - references/api.md: complete rewrite, all ~12 macros documented
40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -uo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
fail=0
|
|
for f in "$ROOT"/tests/*.tex "$ROOT"/examples/*.tex; do
|
|
[[ -e "$f" ]] || continue
|
|
name="$(basename "$f")"
|
|
if "$ROOT/scripts/build.sh" "$f" >/dev/null 2>&1; then
|
|
echo " ok $name"
|
|
else
|
|
echo " FAIL $name"
|
|
fail=$((fail+1))
|
|
fi
|
|
done
|
|
for f in "$ROOT"/tests/lint-invalid/*.tex; do
|
|
[[ -e "$f" ]] || continue
|
|
name="$(basename "$f")"
|
|
if python3 "$ROOT/scripts/lint.py" "$f" >/dev/null 2>&1; then
|
|
echo " FAIL $name (invalid fixture passed lint)"
|
|
fail=$((fail+1))
|
|
else
|
|
echo " ok $name (rejected by lint)"
|
|
fi
|
|
done
|
|
for f in "$ROOT"/tests/invalid/*.tex; do
|
|
[[ -e "$f" ]] || continue
|
|
name="$(basename "$f")"
|
|
if "$ROOT/scripts/build.sh" "$f" >/dev/null 2>&1; then
|
|
echo " FAIL $name (invalid fixture built)"
|
|
fail=$((fail+1))
|
|
else
|
|
echo " ok $name (rejected by package/build)"
|
|
fi
|
|
done
|
|
if [[ $fail -gt 0 ]]; then
|
|
echo "$fail failing check(s)" >&2
|
|
exit 1
|
|
fi
|
|
echo "all superderive checks passed"
|