mediawiki-extensions-Visual.../tests/parser/runtests.sh
Gabriel Wicke 1ce2bc605d Add a small test runner with result archiving in git repo
Supports both -> HTML DOM and round-trip testing. Displays the diff to the
last results using less -r.

Change-Id: Ib3fbadeda3c8f4f7e3d2e6e5236a73ff7a773623
2012-05-25 14:28:53 +02:00

39 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
# Simple test runner with result archival in results git repository
# Usage:
# ./runtests.sh -c # wikitext -> HTML DOM tests and commit results
# ./runtests.sh -r -c # round-trip tests; commit
# ./runtests.sh # wikitext -> HTML DOM; only show diff (no commit)
# ./runtests.sh -r # round-trip tests; only show diff (no commit)
if [ ! -d results ];then
git init results
touch results/html.txt
touch results/roundtrip.txt
( cd results;
git add html.txt
git add roundtrip.txt
git commit -a -m 'init to empty test output' )
fi
if [ "$1" = "-r" ];then
time node parserTests.js --cache --roundtrip \
> results/roundtrip.txt 2>&1 || exit 1
else
time node parserTests.js --cache --printwhitelist \
> results/html.txt 2>&1 || exit 1
fi
cd results || exit 1
if [ "$1" != '-c' -a "$2" != '-c' ];then
git diff | less -r
else
if [ "$1" = '-r' ];then
git commit -a -m "rt: `tail -2 roundtrip.txt`" || exit 1
else
git commit -a -m "html: `tail -2 html.txt`" || exit 1
fi
git diff HEAD~1 | less -r || exit 1
fi