2 # This would malfunction in diff-3.4
4 .
"${srcdir=.}/init.sh"; path_prepend_ ..
/src
6 # Some systems lack seq.
7 # A limited replacement for seq: handle 1 or 2 args; increment must be 1
12 2) start
=$1 final
=$2;;
13 *) echo you lose
1>&2; exit 1;;
15 awk 'BEGIN{for(i='$start';i<='$final';i++) print i}' < /dev
/null
18 echo a
> a || framework_failure_
19 echo b
> b || framework_failure_
20 echo c
> c || framework_failure_
21 cat <<'EOF' > exp || framework_failure_
33 # Use --diff-program=diff since --program-transform-name and similar are
34 # applied after 'make install'.
35 diff3 --diff-program=diff a b c
> out
2> err || fail
=1
36 compare exp out || fail
=1
37 compare
/dev
/null err || fail
=1
39 # Repeat, but with all three files the same:
40 diff3 --diff-program=diff a a a
> out
2> err || fail
=1
41 compare
/dev
/null out || fail
=1
42 compare
/dev
/null err || fail
=1
44 # This would have provoked a nontrivial leak prior to diffutils-3.5,
45 # due to the nontrivial list of diff_block structs.
46 seq 10 40|
sed 's/1$/x/' > d || framework_failure_
47 seq 10 40|
sed 's/5$/y/' > e || framework_failure_
48 seq 10 40|
sed 's/8$/z/' > f || framework_failure_
49 cat <<'EOF' > exp40 || framework_failure_
106 diff3 --diff-program=diff d e f
> out
2> err
107 compare exp40 out || fail
=1
108 compare
/dev
/null err || fail
=1