summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-01 19:06:32 +0200
committerDan McGee <dan@archlinux.org>2011-09-01 19:18:48 +0200
commit13072ef86ca8d9b3eb5b06c21211dc98d5a21732 (patch)
tree1c2d7d134bd6b635e3872860d8c97c72770a7aac
parent11873b70ae346d06da8590f6bd4bfc19577a8840 (diff)
downloadpacman-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.py4
-rw-r--r--test/pacman/tests/query005.py4
-rw-r--r--test/pacman/tests/query006.py27
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