Blame


1 3b0f3d61 2020-01-22 neels #!/bin/sh
2 3b0f3d61 2020-01-22 neels
3 3b0f3d61 2020-01-22 neels diff_prog="../diff/diff"
4 3b0f3d61 2020-01-22 neels
5 81b40973 2020-01-22 neels diff_type=unidiff
6 3b0f3d61 2020-01-22 neels
7 3b0f3d61 2020-01-22 neels verify_diff_script() {
8 3b0f3d61 2020-01-22 neels orig_left="$1"
9 3b0f3d61 2020-01-22 neels orig_right="$2"
10 3b0f3d61 2020-01-22 neels the_diff="$3"
11 732e8ee0 2020-09-20 stsp diff_opts="$4"
12 732e8ee0 2020-09-20 stsp expected_diff="$5"
13 3b0f3d61 2020-01-22 neels
14 3b0f3d61 2020-01-22 neels verify_left="verify.$orig_left"
15 3b0f3d61 2020-01-22 neels verify_right="verify.$orig_right"
16 3b0f3d61 2020-01-22 neels
17 732e8ee0 2020-09-20 stsp if [ -n "$diff_opts" ]; then
18 732e8ee0 2020-09-20 stsp if ! cmp "$got_diff" "$expected_diff" ; then
19 732e8ee0 2020-09-20 stsp echo "FAIL: $got_diff != $expected_diff"
20 732e8ee0 2020-09-20 stsp return 1
21 732e8ee0 2020-09-20 stsp fi
22 732e8ee0 2020-09-20 stsp elif [ "x$diff_type" = "xunidiff" ]; then
23 3b0f3d61 2020-01-22 neels cp "$orig_left" "$verify_right"
24 3b0f3d61 2020-01-22 neels patch --quiet -u "$verify_right" "$the_diff"
25 3b0f3d61 2020-01-22 neels if ! cmp "$orig_right" "$verify_right" ; then
26 3b0f3d61 2020-01-22 neels echo "FAIL: $orig_right != $verify_right"
27 3b0f3d61 2020-01-22 neels return 1
28 3b0f3d61 2020-01-22 neels fi
29 3b0f3d61 2020-01-22 neels
30 3b0f3d61 2020-01-22 neels cp "$orig_right" "$verify_left"
31 3b0f3d61 2020-01-22 neels patch --quiet -u -R "$verify_left" "$the_diff"
32 3b0f3d61 2020-01-22 neels if ! cmp "$orig_left" "$verify_left" ; then
33 3b0f3d61 2020-01-22 neels echo "FAIL: $orig_left != $verify_left"
34 3b0f3d61 2020-01-22 neels return 1
35 3b0f3d61 2020-01-22 neels fi
36 3b0f3d61 2020-01-22 neels else
37 3b0f3d61 2020-01-22 neels tail -n +3 "$the_diff" | grep -v "^+" | sed 's/^.//' > "$verify_left"
38 3b0f3d61 2020-01-22 neels tail -n +3 "$the_diff" | grep -v "^-" | sed 's/^.//' > "$verify_right"
39 3b0f3d61 2020-01-22 neels
40 3b0f3d61 2020-01-22 neels if ! cmp "$orig_left" "$verify_left" ; then
41 3b0f3d61 2020-01-22 neels echo "FAIL: $orig_left != $verify_left"
42 3b0f3d61 2020-01-22 neels return 1
43 3b0f3d61 2020-01-22 neels fi
44 3b0f3d61 2020-01-22 neels if ! cmp "$orig_right" "$verify_right" ; then
45 3b0f3d61 2020-01-22 neels echo "FAIL: $orig_right != $verify_right"
46 3b0f3d61 2020-01-22 neels return 1
47 3b0f3d61 2020-01-22 neels fi
48 3b0f3d61 2020-01-22 neels fi
49 3b0f3d61 2020-01-22 neels echo "OK: $diff_prog $orig_left $orig_right"
50 3b0f3d61 2020-01-22 neels return 0
51 3b0f3d61 2020-01-22 neels }
52 3b0f3d61 2020-01-22 neels
53 732e8ee0 2020-09-20 stsp for left in test*.left* ; do
54 732e8ee0 2020-09-20 stsp right="$(echo "$left" | sed 's/\.left/\.right/')"
55 732e8ee0 2020-09-20 stsp diff_opts="$(echo "$left" | sed 's/test[0-9]*\.left\([-a-zA-Z]*\).txt/\1/')"
56 732e8ee0 2020-09-20 stsp expected_diff="$(echo "$left" | sed 's/test\([-0-9a-zA-Z]*\)\..*/expect\1.diff/')"
57 3b0f3d61 2020-01-22 neels got_diff="verify.$expected_diff"
58 3b0f3d61 2020-01-22 neels
59 732e8ee0 2020-09-20 stsp "$diff_prog" $diff_opts "$left" "$right" > "$got_diff"
60 3b0f3d61 2020-01-22 neels
61 3b0f3d61 2020-01-22 neels set -e
62 732e8ee0 2020-09-20 stsp verify_diff_script "$left" "$right" "$got_diff" "$diff_opts" "$expected_diff"
63 3b0f3d61 2020-01-22 neels set +e
64 3b0f3d61 2020-01-22 neels done