#! /bin/sh # Shows the difference for a failed test # if [ -n "$1" ] ; then case "$1" in -h|--help|--usage) fn=$(basename $0) echo "Usage: $fn [TEST [LANG]]" echo echo " TEST : the test number pattern, may contain wildcards" echo " LANG : the language folder name: c, cpp, cs, d, java, oc, pawn, sql" echo echo "The script will find all matching tests in the output folder and diff them against the same" echo "file in the results folder. The language is only required if the same test number is used" echo "for multiple languages and you only want to see one of them." echo echo "Examples:" echo "$fn # show all test failures" echo "$fn 30014 # show test failure 30014" echo "$fn '*' cpp # show all CPP test failure" exit 1 ;; esac fi # Use '*' as the pattern if one wasn't defined patt=$1 if [ -z "$patt" ] ; then patt="*" fi path="output" if [ -n "$2" ] ; then path="$path/$2" fi # Find the tests that match, remove the .svn folders files=$(find $path -name "$patt-*" -type f | sed "/\.svn/d") did1='' for t in $files ; do other=$(echo $t | sed "s/^output/results/") diff -u $t $other if [ "$?" = "1" ] ; then did1='yup' fi done if [ -z "$did1" ] ; then echo "No differences" fi