mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-05 17:15:02 -05:00
add fileconflict tests for cases with symlinks
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
0bbc406ee8
commit
4a1d93b92c
21
test/pacman/tests/fileconflict022.py
Normal file
21
test/pacman/tests/fileconflict022.py
Normal file
@ -0,0 +1,21 @@
|
||||
self.description = "File conflict between package with symlink and package with real path"
|
||||
|
||||
self.filesystem = ["usr/lib/", "lib -> usr/lib/"]
|
||||
|
||||
sp1 = pmpkg("foo")
|
||||
# share/ causes the entries to be reordered after path resolution
|
||||
sp1.files = ["lib/", "lib/file", "share/"]
|
||||
self.addpkg2db("sync", sp1)
|
||||
|
||||
sp2 = pmpkg("bar")
|
||||
sp2.files = ["usr/", "usr/lib/", "usr/lib/file"]
|
||||
self.addpkg2db("sync", sp2)
|
||||
|
||||
self.args = "-S %s %s" % (sp1.name, sp2.name)
|
||||
|
||||
self.addrule("PACMAN_RETCODE=1")
|
||||
self.addrule("PACMAN_OUTPUT=.*/usr/lib/file exists in both 'foo' and 'bar'")
|
||||
self.addrule("!PKG_EXIST=foo")
|
||||
self.addrule("!PKG_EXIST=bar")
|
||||
|
||||
self.expectfailure = True
|
20
test/pacman/tests/fileconflict023.py
Normal file
20
test/pacman/tests/fileconflict023.py
Normal file
@ -0,0 +1,20 @@
|
||||
self.description = "File conflict between package with symlink and package with real path resolved by removal"
|
||||
|
||||
self.filesystem = ["usr/", "usr/lib/", "lib -> usr/lib/"]
|
||||
|
||||
lp1 = pmpkg("foo")
|
||||
lp1.files = ["lib/", "lib/file"]
|
||||
self.addpkg2db("local", lp1)
|
||||
|
||||
sp1 = pmpkg("bar")
|
||||
sp1.conflicts = ["foo"]
|
||||
sp1.files = ["usr/", "usr/lib/", "usr/lib/file"]
|
||||
self.addpkg2db("sync", sp1)
|
||||
|
||||
self.args = "-S %s --ask=4" % sp1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
self.addrule("!PKG_EXIST=foo")
|
||||
self.addrule("PKG_EXIST=bar")
|
||||
|
||||
self.expectfailure = True
|
19
test/pacman/tests/fileconflict024.py
Normal file
19
test/pacman/tests/fileconflict024.py
Normal file
@ -0,0 +1,19 @@
|
||||
self.description = "Filesystem conflict on upgrade with symlinks"
|
||||
|
||||
self.filesystem = ["share", "usr/lib/", "lib -> usr/lib/"]
|
||||
|
||||
lp1 = pmpkg("foo", "1-1")
|
||||
lp1.files = ["lib/"]
|
||||
self.addpkg2db("local", lp1)
|
||||
|
||||
sp1 = pmpkg("foo", "1-2")
|
||||
# share/ causes the file order to change upon path resolution
|
||||
sp1.files = ["lib/", "share"]
|
||||
self.addpkg2db("sync", sp1)
|
||||
|
||||
self.args = "-S %s" % sp1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=1")
|
||||
self.addrule("PKG_EXIST=foo|1-1")
|
||||
|
||||
self.expectfailure = True
|
20
test/pacman/tests/fileconflict025.py
Normal file
20
test/pacman/tests/fileconflict025.py
Normal file
@ -0,0 +1,20 @@
|
||||
self.description = "File conflict between package with symlink and package with real path resolved by removal (reversed)"
|
||||
|
||||
self.filesystem = ["usr/lib/", "lib -> usr/lib/"]
|
||||
|
||||
lp1 = pmpkg("foo")
|
||||
lp1.files = ["usr/", "usr/lib/", "usr/lib/file"]
|
||||
self.addpkg2db("local", lp1)
|
||||
|
||||
sp1 = pmpkg("bar")
|
||||
sp1.conflicts = ["foo"]
|
||||
sp1.files = ["lib/", "lib/file"]
|
||||
self.addpkg2db("sync", sp1)
|
||||
|
||||
self.args = "-S %s --ask=4" % sp1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
self.addrule("!PKG_EXIST=foo")
|
||||
self.addrule("PKG_EXIST=bar")
|
||||
|
||||
self.expectfailure = True
|
Loading…
Reference in New Issue
Block a user