]> git.cameronkatri.com Git - mandoc.git/commitdiff
Add a basic regression testing script.
authorJoerg Sonnenberger <joerg@netbsd.org>
Sun, 16 May 2010 17:40:09 +0000 (17:40 +0000)
committerJoerg Sonnenberger <joerg@netbsd.org>
Sun, 16 May 2010 17:40:09 +0000 (17:40 +0000)
regress/regress.sh [new file with mode: 0755]

diff --git a/regress/regress.sh b/regress/regress.sh
new file mode 100755 (executable)
index 0000000..baa7e81
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+MANDOC=${MANDOC:-../mandoc}
+NROFF=${NROFF:-nroff}
+OUTPUT=${NROFF_OUTPUT:--Tascii}
+
+check_skip_list() {
+       [ -f skip_list ] || return 1
+       while read file; do
+               [ "$file" != "$1" ] || return 0
+       done < skip_list 
+       return 1
+}
+
+rm -rf output
+
+echo "Starting regression tests..."
+pass=0
+failed=0
+for file in */*.1 */*/*.1; do
+       [ -f "$file" ] || continue
+       check_skip_list "$file" && break
+       printf "%s: " "$file"
+       mandoc "$file" > test.mandoc 2> /dev/null
+       ${NROFF} ${OUTPUT} -mandoc "$file" > test.nroff 2> /dev/null
+       if cmp -s test.mandoc test.nroff; then
+               echo "passed"
+               pass=`expr $pass + 1`
+       else
+               file2="output/$file"
+               mkdir -p `dirname $file2`
+               echo "failed, see $file2"
+               failed=`expr $failed + 1`
+               mv test.nroff "${file2}".nroff
+               mv test.mandoc "${file2}".mandoc
+               diff -u "${file2}".nroff "${file2}".mandoc > "${file2}".diff
+       fi
+done
+echo "Total: $pass passed, $failed failed"