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