summaryrefslogtreecommitdiffstats
path: root/pactest
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2008-01-06 00:34:10 +0100
committerDan McGee <dan@archlinux.org>2008-01-06 00:35:43 +0100
commit5aa873edb696bbf678cbb57df43d90e23d562179 (patch)
treef58346db23f2f08063a8a7ee50132b4e2612fb8b /pactest
parent85a8b150edb7d1fca67f7f0abee3400bd57e7d5a (diff)
downloadpacman-5aa873edb696bbf678cbb57df43d90e23d562179.tar.gz
pacman-5aa873edb696bbf678cbb57df43d90e23d562179.tar.xz
sync.c: add sanity check so we don't dereference a null pointer
Originally noticed in FS#9024, but was fixed in previous changes anyway. However, it doesn't hurt to still check it. Also add a pactest from Chantry Xavier for the original problem to ensure we can't reproduce it. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'pactest')
-rw-r--r--pactest/tests/sync404.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/pactest/tests/sync404.py b/pactest/tests/sync404.py
new file mode 100644
index 00000000..118f9e9d
--- /dev/null
+++ b/pactest/tests/sync404.py
@@ -0,0 +1,26 @@
+self.description = "FS#9024"
+
+sp = pmpkg("xorg-server")
+sp.depends = [ "libgl" ]
+self.addpkg2db("sync", sp)
+
+sp1 = pmpkg("nvidia-utils")
+sp1.provides = [ "libgl" ]
+sp1.conflicts = [ "libgl", "libgl-dri" ]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("libgl")
+sp2.provides = [ "libgl-dri" ]
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("nvidia")
+sp3.depends = [ "nvidia-utils" ]
+self.addpkg2db("sync", sp3)
+
+self.args = "-S xorg-server nvidia"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=xorg-server")
+self.addrule("PKG_EXIST=nvidia")
+self.addrule("PKG_EXIST=nvidia-utils")
+self.addrule("!PKG_EXIST=libgl")