#
# main()
#
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
setupenvironment
configarchitecture "i386"
+confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512'
+
+db_dump=db_dump
+if command -v db_dump-5 >/dev/null 2>&1; then
+ db_dump=db_dump-5
+fi
# gather the db and the deb, ensure mtime is not modfied as its saved in the DB
-cp -p $TESTDIR/deb-lp1274466-cachedb.deb foo_1_i386.deb
-cp $TESTDIR/cachedb-lp1274466-old-format.db old-format.db
+cp -p "$TESTDIR/deb-lp1274466-cachedb.deb" foo_1_i386.deb
+cp -p "$TESTDIR/cachedb-lp1274466-old-format.db" old-format.db
# verify that the format is different
testsuccess aptftparchive --db new-format.db packages .
-db_dump new-format.db > new-format.dump
-db_dump old-format.db > old-format.dump
+$db_dump new-format.db > new-format.dump
+$db_dump old-format.db > old-format.dump
testfailure diff -u old-format.dump new-format.dump
# ensure the new format as the sha512
testfailure grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump
# regression test for corruption with previous generation of cachedb
-testequal "Package: foo
+testsuccessequal "Package: foo
+Architecture: i386
+Version: 1
Priority: optional
Section: others
-Installed-Size: 29
Maintainer: Joe Sixpack <joe@example.org>
-Architecture: i386
-Version: 1
+Installed-Size: 29
Filename: ./foo_1_i386.deb
Size: 1270
MD5sum: 85d0e908c1a897700e2c5dea72d7e3c0
und used only by testcases and surf no other proposeā¦
" aptftparchive --db old-format.db packages .
-# ensure that the db is updated
-db_dump old-format.db > old-format.dump
-testsuccess diff -u old-format.dump new-format.dump
+# ensure that the db is updated and contains the new sha512
+$db_dump old-format.db > old-format.dump
+
+testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump
+