fune/taskcluster/docker/diffoscope/test_diffoscope
Mike Hommey 7269200e75 Bug 1713225 - Fix diffoscope error reporting after bug 1694785. r=firefox-build-system-reviewers,andi
Bug 1694785 upgraded diffoscope, and the new version had differences in
its output format that just made our error reporting miss everything. So
we fix the error reporting to work with the new version, as well as add
a test case to ensure that we don't upgrade diffoscope to a version that
would break out reporting again without noticing.

Differential Revision: https://phabricator.services.mozilla.com/D118137
2021-06-17 09:08:28 +00:00

47 lines
1.2 KiB
Bash

#!/bin/bash
set -e
WORKDIR=$(mktemp -d)
cd $WORKDIR
mkdir -p a/foo/bar/bar
mkdir -p a/foo/bar/baz
mkdir -p b/foo/bar/bar
mkdir -p b/foo/bar/baz
# A file that is modified
echo qux > a/foo/bar/qux
echo quz > b/foo/bar/qux
# A binary file that is modified
cp $(which ls) a/foo/bin
cp $(which cat) b/foo/bin
# A file that is removed
echo hoge > a/foo/bar/bar/hoge
# A file that is created
echo fuga > b/foo/bar/baz/fuga
# Also add a zip file with the same contents
(cd a/foo; zip -r bar.zip bar)
(cd b/foo; zip -r bar.zip bar)
if TERM=linux diffoscope --no-progress --text diff.txt a b; then
echo "diffoscope didn't find differences?"
exit 1
fi
cat > expected.txt <<EOF
TEST-UNEXPECTED-FAIL | foo/bar.zip differs. See the diff.html or diff.txt artifact
TEST-UNEXPECTED-FAIL | foo/bar/bar differs. See the diff.html or diff.txt artifact
TEST-UNEXPECTED-FAIL | foo/bar/baz differs. See the diff.html or diff.txt artifact
TEST-UNEXPECTED-FAIL | foo/bar/qux differs. See the diff.html or diff.txt artifact
TEST-UNEXPECTED-FAIL | foo/bin differs. See the diff.html or diff.txt artifact
EOF
$(dirname $0)/report_error diff | diff -u - expected.txt || exit 1
cd $OLDPWD
rm -rf $WORKDIR