[pacman-dev] [PATCH 1/8] update tests for symlink support removal
Andrew Gregory
andrew.gregory.8 at gmail.com
Fri Apr 26 20:00:22 EDT 2013
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
test/pacman/tests/fileconflict007.py | 1 +
test/pacman/tests/fileconflict013.py | 7 +++++--
test/pacman/tests/fileconflict022.py | 1 -
test/pacman/tests/fileconflict023.py | 9 ++++++---
test/pacman/tests/fileconflict025.py | 10 ++++++----
test/pacman/tests/symlink001.py | 11 ++++++-----
test/pacman/tests/sync700.py | 12 ++++++------
test/pacman/tests/sync701.py | 11 +++++------
test/pacman/tests/sync702.py | 9 +++++----
9 files changed, 40 insertions(+), 31 deletions(-)
diff --git a/test/pacman/tests/fileconflict007.py b/test/pacman/tests/fileconflict007.py
index 4ee4624..7fe65ed 100644
--- a/test/pacman/tests/fileconflict007.py
+++ b/test/pacman/tests/fileconflict007.py
@@ -1,17 +1,18 @@
self.description = "Fileconflict with symlinks (klibc case)"
lp = pmpkg("pkg")
lp.files = ["dir/realdir/",
"dir/symdir -> realdir",
"dir/realdir/file"]
self.addpkg2db("local", lp)
p = pmpkg("pkg", "1.0-2")
p.files = ["dir/symdir/file"]
self.addpkg(p)
self.args = "-U %s" % p.filename()
self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg")
self.addrule("PKG_VERSION=pkg|1.0-2")
+self.addrule("FILE_TYPE=dir/symdir/|dir")
diff --git a/test/pacman/tests/fileconflict013.py b/test/pacman/tests/fileconflict013.py
index a83923c..5c3a43b 100644
--- a/test/pacman/tests/fileconflict013.py
+++ b/test/pacman/tests/fileconflict013.py
@@ -1,20 +1,23 @@
self.description = "file->file path change with same effective path (/lib as symlink)"
+# Note: this situation means the filesystem and local db are out of sync
lp1 = pmpkg("filesystem", "1.0-1")
lp1.files = ["usr/",
"usr/lib/",
"lib -> usr/lib/"]
self.addpkg2db("local", lp1)
lp2 = pmpkg("pkg1", "1.0-1")
lp2.files = ["lib/libfoo.so"]
self.addpkg2db("local", lp2)
sp1 = pmpkg("pkg1", "1.0-2")
sp1.files = ["usr/lib/libfoo.so"]
self.addpkg2db("sync", sp1)
self.args = "-Su"
-self.addrule("PACMAN_RETCODE=0")
-self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=pkg1|1.0-1")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/fileconflict022.py b/test/pacman/tests/fileconflict022.py
index 5759d4c..5ff0b53 100644
--- a/test/pacman/tests/fileconflict022.py
+++ b/test/pacman/tests/fileconflict022.py
@@ -1,19 +1,18 @@
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")
diff --git a/test/pacman/tests/fileconflict023.py b/test/pacman/tests/fileconflict023.py
index ce72087..9685c0d 100644
--- a/test/pacman/tests/fileconflict023.py
+++ b/test/pacman/tests/fileconflict023.py
@@ -1,18 +1,21 @@
self.description = "File conflict between package with symlink and package with real path resolved by removal"
+# Note: this situation means the filesystem and local db are out of sync
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.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_EXIST=foo")
+self.addrule("!PKG_EXIST=bar")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/fileconflict025.py b/test/pacman/tests/fileconflict025.py
index 3c6f063..195badb 100644
--- a/test/pacman/tests/fileconflict025.py
+++ b/test/pacman/tests/fileconflict025.py
@@ -1,18 +1,20 @@
-self.description = "File conflict between package with symlink and package with real path resolved by removal (reversed)"
+self.description = "File conflict between package with symlink and package with real path and filesystem (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.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_EXIST=foo")
+self.addrule("!PKG_EXIST=bar")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/symlink001.py b/test/pacman/tests/symlink001.py
index cbf71cc..f88d0ae 100644
--- a/test/pacman/tests/symlink001.py
+++ b/test/pacman/tests/symlink001.py
@@ -1,20 +1,21 @@
self.description = "Dir symlinks overwritten on install (the perl/git bug)"
lp = pmpkg("dummy")
lp.files = ["dir/realdir/",
"dir/symdir -> realdir"]
self.addpkg2db("local", lp)
p = pmpkg("pkg1")
p.files = ["dir/symdir/tmp"]
self.addpkg(p)
self.args = "-U %s" % p.filename()
-self.addrule("PACMAN_RETCODE=0")
-self.addrule("PKG_EXIST=pkg1")
-self.addrule("FILE_EXIST=dir/symdir/tmp")
-self.addrule("FILE_EXIST=dir/realdir/tmp")
-self.addrule("FILE_TYPE=dir/symdir/tmp|file")
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("!FILE_EXIST=dir/symdir/tmp")
+self.addrule("!FILE_EXIST=dir/realdir/tmp")
self.addrule("FILE_TYPE=dir/symdir|link")
self.addrule("FILE_TYPE=dir/realdir|dir")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/sync700.py b/test/pacman/tests/sync700.py
index 9748c81..3948b00 100644
--- a/test/pacman/tests/sync700.py
+++ b/test/pacman/tests/sync700.py
@@ -1,22 +1,22 @@
-self.description = "do not remove directory symlink if another package has file in its path"
+self.description = "removal of directory symlink when another package has file in its path"
+# Note: this situation means that the filesystem and local db are out of sync
lp1 = pmpkg("pkg1")
lp1.files = ["usr/lib/foo",
"lib -> usr/lib"]
self.addpkg2db("local", lp1)
lp2 = pmpkg("pkg2")
lp2.files = ["lib/bar"]
self.addpkg2db("local", lp2)
p = pmpkg("pkg1", "1.0-2")
p.files = ["usr/lib/foo"]
self.addpkg2db("sync", p)
self.args = "-S pkg1"
-self.addrule("PACMAN_RETCODE=1")
-self.addrule("PKG_VERSION=pkg1|1.0-1")
-self.addrule("FILE_EXIST=lib/bar")
-
-self.expectfailure = True
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("FILE_EXIST=usr/lib/bar")
+self.addrule("!FILE_EXIST=lib/bar")
diff --git a/test/pacman/tests/sync701.py b/test/pacman/tests/sync701.py
index 201f602..590845f 100644
--- a/test/pacman/tests/sync701.py
+++ b/test/pacman/tests/sync701.py
@@ -1,22 +1,21 @@
-self.description = "do not remove directory symlink if incoming package has file in its path (order 1)"
+self.description = "incoming package replaces symlink with directory (order 1)"
lp = pmpkg("pkg1")
lp.files = ["usr/lib/foo",
"lib -> usr/lib"]
self.addpkg2db("local", lp)
p1 = pmpkg("pkg1", "1.0-2")
p1.files = ["usr/lib/foo"]
self.addpkg2db("sync", p1)
p2 = pmpkg("pkg2")
p2.files = ["lib/bar"]
self.addpkg2db("sync", p2)
self.args = "-S pkg1 pkg2"
-self.addrule("PACMAN_RETCODE=1")
-self.addrule("PKG_VERSION=pkg1|1.0-1")
-self.addrule("!PKG_EXIST=pkg2")
-
-self.expectfailure = True
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("FILE_TYPE=lib|dir")
diff --git a/test/pacman/tests/sync702.py b/test/pacman/tests/sync702.py
index ee4eef9..8f4c0ad 100644
--- a/test/pacman/tests/sync702.py
+++ b/test/pacman/tests/sync702.py
@@ -1,22 +1,23 @@
-self.description = "do not remove directory symlink if incoming package has file in its path (order 2)"
+self.description = "incoming package replaces symlink with directory (order 2)"
lp = pmpkg("pkg2")
lp.files = ["usr/lib/foo",
"lib -> usr/lib"]
self.addpkg2db("local", lp)
p1 = pmpkg("pkg1")
p1.files = ["lib/bar"]
self.addpkg2db("sync", p1)
p2 = pmpkg("pkg2", "1.0-2")
p2.files = ["usr/lib/foo"]
self.addpkg2db("sync", p2)
self.args = "-S pkg1 pkg2"
-self.addrule("PACMAN_RETCODE=1")
-self.addrule("PKG_VERSION=pkg2|1.0-1")
-self.addrule("!PKG_EXIST=pkg1")
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("FILE_TYPE=lib|dir")
self.expectfailure = True
--
1.8.2.1
More information about the pacman-dev
mailing list