]> git.saurik.com Git - apt.git/blame - test/integration/test-apt-ftparchive-cachedb-lp1274466
Fix segfault and out-of-bounds read in Binary fields
[apt.git] / test / integration / test-apt-ftparchive-cachedb-lp1274466
CommitLineData
243b2a38
MV
1#!/bin/sh
2set -e
3
4
5#
6# main()
7#
3abb6a6a
DK
8TESTDIR="$(readlink -f "$(dirname "$0")")"
9. "$TESTDIR/framework"
243b2a38
MV
10setupenvironment
11configarchitecture "i386"
c5ede4ca 12confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512'
243b2a38 13
4aa8cc91
JAK
14db_dump=db_dump
15if command -v db_dump-5 >/dev/null 2>&1; then
16 db_dump=db_dump-5
17fi
18
243b2a38 19# gather the db and the deb, ensure mtime is not modfied as its saved in the DB
3abb6a6a
DK
20cp -p "$TESTDIR/deb-lp1274466-cachedb.deb" foo_1_i386.deb
21cp -p "$TESTDIR/cachedb-lp1274466-old-format.db" old-format.db
243b2a38
MV
22
23# verify that the format is different
24testsuccess aptftparchive --db new-format.db packages .
4aa8cc91
JAK
25$db_dump new-format.db > new-format.dump
26$db_dump old-format.db > old-format.dump
243b2a38
MV
27testfailure diff -u old-format.dump new-format.dump
28
29# ensure the new format as the sha512
30testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c new-format.dump
31# but the old format does not
32testfailure grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump
33
34# regression test for corruption with previous generation of cachedb
25b86db1 35testsuccessequal "Package: foo
e8fb1cdf
DK
36Architecture: i386
37Version: 1
243b2a38
MV
38Priority: optional
39Section: others
243b2a38 40Maintainer: Joe Sixpack <joe@example.org>
e8fb1cdf 41Installed-Size: 29
243b2a38
MV
42Filename: ./foo_1_i386.deb
43Size: 1270
44MD5sum: 85d0e908c1a897700e2c5dea72d7e3c0
45SHA1: 858b09169032b7925a0e463f46b6634243fc40ce
46SHA256: 3750a2c9c6b5beee7f307564be3d51d3ec7cbb78fa4f0b47f84a7c41477bff59
47SHA512: 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c
48Description: an autogenerated dummy foo=1/test
49 If you find such a package installed on your system,
50 something went horribly wrong! They are autogenerated
51 und used only by testcases and surf no other proposeā€¦
52" aptftparchive --db old-format.db packages .
53
ea606ec4 54# ensure that the db is updated and contains the new sha512
4aa8cc91 55$db_dump old-format.db > old-format.dump
3082603f 56
ea606ec4
MV
57testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump
58
243b2a38 59