From 13072ef86ca8d9b3eb5b06c21211dc98d5a21732 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 1 Sep 2011 12:06:32 -0500 Subject: 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 --- test/pacman/tests/query002.py | 4 ++-- test/pacman/tests/query005.py | 4 ++-- test/pacman/tests/query006.py | 27 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 test/pacman/tests/query006.py 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 -- cgit v1.2.3-2-g168b