summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-07-20 14:25:18 +0200
committerAllan McRae <allan@archlinux.org>2012-12-14 03:35:34 +0100
commit88e7ea421ebbef86daa20ee0f9aff768a445b467 (patch)
treed81396c992d4282273e6243dc6d33fe835f10458 /test
parent28d404f16aca8ae1b7640b32c221c8b8860f8ce0 (diff)
downloadpacman-88e7ea421ebbef86daa20ee0f9aff768a445b467.tar.gz
pacman-88e7ea421ebbef86daa20ee0f9aff768a445b467.tar.xz
Resolve file paths during inter-package conflict check
File paths are resolved if necessary during inter-package conflict checks so that packages carrying the same effective file due to directory symlinks on the filesystem are flagged as conflicting. Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'test')
-rw-r--r--test/pacman/tests/fileconflict001.py2
-rw-r--r--test/pacman/tests/fileconflict016.py2
-rw-r--r--test/pacman/tests/fileconflict017.py26
3 files changed, 26 insertions, 4 deletions
diff --git a/test/pacman/tests/fileconflict001.py b/test/pacman/tests/fileconflict001.py
index e1371f88..b1ad5e18 100644
--- a/test/pacman/tests/fileconflict001.py
+++ b/test/pacman/tests/fileconflict001.py
@@ -25,5 +25,3 @@ self.addrule("!PKG_EXIST=pkg1")
self.addrule("!PKG_EXIST=pkg2")
self.addrule("FILE_EXIST=dir/realdir/realfile")
self.addrule("!FILE_EXIST=dir/realdir/file")
-
-self.expectfailure = True
diff --git a/test/pacman/tests/fileconflict016.py b/test/pacman/tests/fileconflict016.py
index 56259846..c5daf484 100644
--- a/test/pacman/tests/fileconflict016.py
+++ b/test/pacman/tests/fileconflict016.py
@@ -22,5 +22,3 @@ self.args = "-S pkg1 pkg2"
self.addrule("PACMAN_RETCODE=1")
self.addrule("!PKG_EXIST=pkg1")
self.addrule("!PKG_EXIST=pkg2")
-
-self.expectfailure = True
diff --git a/test/pacman/tests/fileconflict017.py b/test/pacman/tests/fileconflict017.py
new file mode 100644
index 00000000..3855a938
--- /dev/null
+++ b/test/pacman/tests/fileconflict017.py
@@ -0,0 +1,26 @@
+self.description = "file conflict with same effective path across packages (directory symlink - deep)"
+
+lp1 = pmpkg("filesystem", "1.0-1")
+lp1.files = ["usr/",
+ "usr/lib/",
+ "lib -> usr/lib/"]
+self.addpkg2db("local", lp1)
+
+p1 = pmpkg("pkg1")
+p1.files = ["lib/",
+ "lib/foo/",
+ "lib/foo/bar"]
+self.addpkg2db("sync", p1)
+
+p2 = pmpkg("pkg2")
+p2.files = ["usr/",
+ "usr/lib/",
+ "usr/lib/foo/",
+ "usr/lib/foo/bar"]
+self.addpkg2db("sync", p2)
+
+self.args = "-S pkg1 pkg2"
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("!PKG_EXIST=pkg2")