#!/bin/sh
# Before diff-3.7, this would provoke a UMR

. "${srcdir=.}/init.sh"; path_prepend_ ../src

fail=0

require_valgrind_

printf '\r' > r || framework_failure_
echo b > b || framework_failure_

# Use valgrind only when no Sanitizer is in use:
ASAN_OPTIONS=help=true diff --help 2>&1 |grep Sanitizer > /dev/null \
  && eval 'valgrind() { "$@"; }' \
  || eval 'valgrind() { env valgrind --quiet --error-exitcode=3 "$@"; }'

for opt in '' u c Dfoo; do
  returns_ 1 valgrind \
    diff -a$opt --strip-trailing-cr r b > out 2> err || fail=1
done

compare /dev/null err || fail=1

Exit $fail
