1#!/bin/sh 2 3execdir="$PWD" 4 5# valgrind tests memory usage. 6# wine allow for windows testing on linux 7if [ -n "${PARVALGRINDOPTS+set}" ] 8then 9 PARBINARY="valgrind $PARVALGRINDOPTS $execdir/par2" 10elif [ `which wine` != "" ] && [ -f "$execdir/par2.exe" ] 11then 12 PARBINARY="wine $execdir/par2.exe" 13else 14 PARBINARY="$execdir/par2" 15fi 16 17 18if [ -z "$srcdir" ] || [ "." = "$srcdir" ]; then 19 srcdir="$PWD" 20 TESTDATA="$srcdir/tests" 21else 22 srcdir="$PWD/$srcdir" 23 TESTDATA="$srcdir/tests" 24fi 25 26TESTROOT="$PWD" 27 28testname=$(basename $0) 29rm -f "$testname.log" 30rm -rf "run$testname" 31 32mkdir "run$testname" && cd "run$testname" || { echo "ERROR: Could not change to test directory" ; exit 1; } >&2 33 34tar -xzf "$TESTDATA/readbeyondeof.tar.gz" || { echo "ERROR: Could not extract data test files" ; exit 1; } >&2 35 36banner="repair files where the filesize got changed" 37dashes=`echo "$banner" | sed s/./-/g` 38 39echo $dashes 40echo $banner 41echo $dashes 42 43mv test.data test.data-correct 44dd if=test.data-correct bs=113579 count=1 of=test.data 45 46$PARBINARY r test.par2 || { echo "ERROR: repair files using PAR 2.0 failed" ; exit 1; } >&2 47 48cd "$TESTROOT" 49rm -rf "run$testname" 50 51exit 0; 52 53