diff options
author | Dan McGee <dan@archlinux.org> | 2011-09-01 19:06:32 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-09-01 19:18:48 +0200 |
commit | 13072ef86ca8d9b3eb5b06c21211dc98d5a21732 (patch) | |
tree | 1c2d7d134bd6b635e3872860d8c97c72770a7aac | |
parent | 11873b70ae346d06da8590f6bd4bfc19577a8840 (diff) | |
download | pacman-13072ef86ca8d9b3eb5b06c21211dc98d5a21732.tar.gz pacman-13072ef86ca8d9b3eb5b06c21211dc98d5a21732.tar.xz |
Add pactest for overflowing date (year 2038 problem)
This will work fine on x86_64 (or any platform that has a 64 bit long),
but currently fails on i686. This test also stresses the recent changes
to accommodate package size values greater than a 32 bit UINT_MAX.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | test/pacman/tests/query002.py | 4 | ||||
-rw-r--r-- | test/pacman/tests/query005.py | 4 | ||||
-rw-r--r-- | test/pacman/tests/query006.py | 27 |
3 files changed, 31 insertions, 4 deletions
diff --git a/test/pacman/tests/query002.py b/test/pacman/tests/query002.py index 72fd7c1e..ccf18f44 100644 --- a/test/pacman/tests/query002.py +++ b/test/pacman/tests/query002.py @@ -1,4 +1,4 @@ -self.description = "Query info on a package" +self.description = "Query info on a package (old date)" p = pmpkg("foobar") p.files = ["bin/foobar"] @@ -18,4 +18,4 @@ self.args = "-Qi %s" % p.name self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_OUTPUT=^Name.*%s" % p.name) self.addrule("PACMAN_OUTPUT=^Description.*%s" % p.desc) -self.addrule("PACMAN_OUTPUT=^Build Date.*2007") +self.addrule("PACMAN_OUTPUT=^Build Date.* 2007") diff --git a/test/pacman/tests/query005.py b/test/pacman/tests/query005.py index 23a78fcb..06768b3c 100644 --- a/test/pacman/tests/query005.py +++ b/test/pacman/tests/query005.py @@ -1,4 +1,4 @@ -self.description = "Query info on a package" +self.description = "Query info on a package (new date)" p = pmpkg("foobar") p.files = ["bin/foobar"] @@ -18,4 +18,4 @@ self.args = "-Qi %s" % p.name self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_OUTPUT=^Name.*%s" % p.name) self.addrule("PACMAN_OUTPUT=^Description.*%s" % p.desc) -self.addrule("PACMAN_OUTPUT=^Build Date.*2007") +self.addrule("PACMAN_OUTPUT=^Build Date.* 2007") diff --git a/test/pacman/tests/query006.py b/test/pacman/tests/query006.py new file mode 100644 index 00000000..36684785 --- /dev/null +++ b/test/pacman/tests/query006.py @@ -0,0 +1,27 @@ +self.description = "Query info on a package (overflow long values)" + +p = pmpkg("overflow") +p.desc = "Overflow size and date values if possible" +p.url = "http://www.archlinux.org" +p.license = "GPL2" +p.arch = "i686" +p.packager = "Arch Linux" +# size is greater than 4294967295, aka UINT_MAX +p.size = "10000000000" +# build date is greater than 2147483647, aka INT_MAX +p.builddate = "3000000000" +# install date is greater than UINT_MAX +p.installdate = "10000000000" + +self.addpkg2db("local", p) + +self.args = "-Qi %s" % p.name + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PACMAN_OUTPUT=^Name.*%s" % p.name) +self.addrule("PACMAN_OUTPUT=^Description.*%s" % p.desc) +self.addrule("PACMAN_OUTPUT=^Installed Size.*9765625.00 KiB") +self.addrule("PACMAN_OUTPUT=^Build Date.* 2065") +self.addrule("PACMAN_OUTPUT=^Install Date.* 2286") + +self.expectfailure = True |