diff options
author | Dan McGee <dan@archlinux.org> | 2010-12-21 19:20:09 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-12-21 21:58:17 +0100 |
commit | e3c19569cfe7cd77674490b30624e71512417e0b (patch) | |
tree | e21857a8cc0b3dbe562cfe015571280c41023729 | |
parent | fbcc42775492e5ba3df1b3235a23f23ad7faa241 (diff) | |
download | pacman-e3c19569cfe7cd77674490b30624e71512417e0b.tar.gz pacman-e3c19569cfe7cd77674490b30624e71512417e0b.tar.xz |
Add pactest to test long archive reads
This creates two packages with extremely long description lines (500KB and
600 KB), causing our archive read code to perform reallocation to store the
whole contents. One of the packages will successfully read while the other
will fail for the time being.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | test/pacman/tests/smoke002.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/pacman/tests/smoke002.py b/test/pacman/tests/smoke002.py new file mode 100644 index 00000000..44f2d0ec --- /dev/null +++ b/test/pacman/tests/smoke002.py @@ -0,0 +1,19 @@ +self.description = "Install packages with huge descriptions" + +p1 = pmpkg("pkg1") +p1.desc = 'A' * 500 * 1024 +self.addpkg(p1) + +p2 = pmpkg("pkg2") +p2.desc = 'A' * 600 * 1024 +self.addpkg(p2) + +self.args = "-U %s %s" % (p1.filename(), p2.filename()) + +# Note that the current cutoff on line length is 512K, so the first package +# will succeed while the second one will fail to record the description. +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=pkg1") +self.addrule("PKG_DESC=pkg1|%s" % p1.desc) +self.addrule("PKG_EXIST=pkg1") +self.addrule("!PKG_DESC=pkg1|%s" % p2.desc) |