This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch main in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=ef9d366feadb0b6ea5d0a77a10bdedf1262a8cd9 commit ef9d366feadb0b6ea5d0a77a10bdedf1262a8cd9 Author: Guillem Jover <[email protected]> AuthorDate: Sat Jul 6 14:08:42 2024 +0200 test: Add new DPKG_CHECK_DIFF macro to abstract file comparisons On some systems, such as ones based on SunOS/illumos, the diff tool does not honor the -q option and outputs «No differences encountered» when there are no file differences. Instead of requiring GNU diff, abstract the check into a new macro that uses the internal autotest machinery to compare the files for us via the expout mechanism. --- src/at/divert.at | 26 +++++++++++++------------- src/at/local.at | 6 ++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/at/divert.at b/src/at/divert.at index 667ccafb1..031728af7 100644 --- a/src/at/divert.at +++ b/src/at/divert.at @@ -171,7 +171,7 @@ AT_CHECK([DPKG_DIVERT --rename --add /testdir/foo], [], [stdout]) AT_CHECK([$GREP -q "Adding.*local.*diversion.* /testdir/foo.* /testdir/foo.distrib" stdout]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -189,7 +189,7 @@ AT_CHECK([DPKG_DIVERT --no-rename --add /testdir/foo], [], [stdout]) AT_CHECK([$GREP -q "Adding.*local.*diversion.* /testdir/foo.* /testdir/foo.distrib" stdout]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -206,7 +206,7 @@ AT_DATA([ref-diversions], [/testdir/foo AT_CHECK([DPKG_DIVERT --quiet --rename --add /testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -236,7 +236,7 @@ AT_DATA([ref-diversions], [/testdir/foo AT_CHECK([DPKG_DIVERT --quiet --rename /testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -253,7 +253,7 @@ AT_DATA([ref-diversions], [/testdir/foo AT_CHECK([DPKG_DIVERT --quiet --local --rename /testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -267,7 +267,7 @@ bash ]) AT_CHECK([DPKG_DIVERT --quiet --rename --package bash /testdir/foo]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -285,7 +285,7 @@ AT_DATA([ref-diversions], [/testdir/foo AT_CHECK([DPKG_DIVERT --quiet --rename /testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -312,7 +312,7 @@ AT_DATA([ref-diversions], [/testdir/zoo/foo ]) AT_CHECK([DPKG_DIVERT --quiet --rename --add /testdir/zoo/foo]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -440,7 +440,7 @@ coreutils AT_CHECK([DPKG_DIVERT --quiet --rename --package coreutils --add /testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -487,7 +487,7 @@ AT_CHECK([DPKG_DIVERT --rename --divert /testdir/foo.distrib --remove /testdir/f [], [stdout]) AT_CHECK([$EGREP -q 'Removing .*/testdir/foo' stdout]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -510,7 +510,7 @@ AT_CHECK([DPKG_DIVERT --quiet --no-rename --add /testdir/baz]) AT_CHECK([DPKG_DIVERT --no-rename --remove /testdir/bar], [], [stdout]) AT_CHECK([$EGREP -q 'Removing .* /testdir/bar' stdout]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -532,7 +532,7 @@ AT_CHECK([DPKG_DIVERT --quiet --no-rename --package bash /testdir/baz]) AT_CHECK([DPKG_DIVERT --no-rename --quiet --package bash --remove /testdir/baz]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CLEANUP @@ -552,7 +552,7 @@ AT_CHECK([DPKG_DIVERT --test --rename --remove /testdir/foo], [], [stdout]) AT_CHECK([$GREP -q 'Removing .*/testdir/foo' stdout]) DPKG_CHECK_FSYS_PATH_MISSING([/testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo.distrib]) -AT_CHECK([diff -u ref-diversions DPKG_DIR_ADMIN/diversions]) +DPKG_CHECK_DIFF([DPKG_DIR_ADMIN/diversions], [ref-diversions]) AT_CHECK([DPKG_DIVERT --quiet --rename --remove /testdir/foo]) DPKG_CHECK_FSYS_PATH_EXISTS([/testdir/foo]) diff --git a/src/at/local.at b/src/at/local.at index a49311cb5..26ba70c5b 100644 --- a/src/at/local.at +++ b/src/at/local.at @@ -52,6 +52,12 @@ m4_define([DPKG_FILE_SIZE], [ $PERL -E 'say -s shift' "$1" dnl ]) +# DPKG_CHECK_DIFF($file_out, $file_exp) +m4_define([DPKG_CHECK_DIFF], [ + cp "$2" expout + AT_CHECK([cat "$1"], [], [expout]) +]) + # DPKG_GEN_FSYS() m4_define([DPKG_GEN_DB], [ mkdir -p DPKG_DIR_INST -- Dpkg.Org's dpkg

