Files
scylladb/tests/mutation_diff
Benny Halevy 3b3611b57a mutation_diff: standard input support
Also, not that the file name is properly quoted
it may contain space characters.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2019-10-23 08:29:58 +03:00

36 lines
719 B
Bash
Executable File

#!/usr/bin/env bash
#
# Converts assertion failure text involving two mutations to a diff.
#
cmd="colordiff -u"
while getopts ":d:" opt; do
case $opt in
d)
cmd="$OPTARG";;
*)
echo "Usage: $0 [-d diff_command] [<path-to-test-output-file>]" 1>&2
exit 1;;
esac
done
shift $((OPTIND-1))
file="$1"
if [ -z "$file" -o "$file" = "-" ]; then
tmpfile=$(mktemp)
cat > "$tmpfile"
file="$tmpfile"
fi
function filter {
sed 's/@0x[0-9a-f]*//g'
}
$cmd <(sed -n '/expected/,/got:/p' "$file" | head -n-1 | sed 's/.*expected /&\n/' | filter) \
<(sed -n '/got:/,/^$/p' "$file" | sed 's/.*got: /&\n/' | filter) | less -R
if [ -n "$tmpfile" ]; then
rm -f "$tmpfile"
fi