[pacman-dev] [PATCH 2/3] Add some unowned symlink replacement tests

Dan McGee dan at archlinux.org
Wed Oct 26 18:42:09 EDT 2011


These should all prevent installation, and yet two of the three tests
currently fail. Not good.

The best way to see what is going on here is to diff the three new tests
side by side- there is only a small difference between the three tests,
and that is in the destination of the symlink in question that should
never be overwritten.

  symlink010.py: myprogsuffix -> myprog
  symlink011.py: myprogsuffix -> broken
  symlink012.py: myprogsuffix -> otherprog

Signed-off-by: Dan McGee <dan at archlinux.org>
---

For maint.

 test/pacman/tests/fileconflict007.py |    2 +-
 test/pacman/tests/symlink010.py      |   26 ++++++++++++++++++++++++++
 test/pacman/tests/symlink011.py      |   26 ++++++++++++++++++++++++++
 test/pacman/tests/symlink012.py      |   24 ++++++++++++++++++++++++
 4 files changed, 77 insertions(+), 1 deletions(-)
 create mode 100644 test/pacman/tests/symlink010.py
 create mode 100644 test/pacman/tests/symlink011.py
 create mode 100644 test/pacman/tests/symlink012.py

diff --git a/test/pacman/tests/fileconflict007.py b/test/pacman/tests/fileconflict007.py
index 7e6d85e..4ee4624 100644
--- a/test/pacman/tests/fileconflict007.py
+++ b/test/pacman/tests/fileconflict007.py
@@ -3,7 +3,7 @@
 lp = pmpkg("pkg")
 lp.files = ["dir/realdir/",
             "dir/symdir -> realdir",
-	    "dir/realdir/file"]
+            "dir/realdir/file"]
 self.addpkg2db("local", lp)
 
 p = pmpkg("pkg", "1.0-2")
diff --git a/test/pacman/tests/symlink010.py b/test/pacman/tests/symlink010.py
new file mode 100644
index 0000000..8c80dbc
--- /dev/null
+++ b/test/pacman/tests/symlink010.py
@@ -0,0 +1,26 @@
+self.description = "Unowned identical symlink pointing to file in package"
+
+lp = pmpkg("dummy")
+lp.files = ["usr/bin/myprog"]
+self.addpkg2db("local", lp)
+
+self.filesystem = ["usr/bin/otherprog",
+                   "usr/bin/myprogsuffix -> myprog"]
+
+p = pmpkg("dummy", "1.0-2")
+p.files = ["usr/bin/myprog",
+           "usr/bin/myprogsuffix -> myprog"]
+self.addpkg(p)
+
+self.args = "-U %s" % p.filename()
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=dummy|1.0-1")
+self.addrule("FILE_EXIST=usr/bin/myprog")
+self.addrule("LINK_EXIST=usr/bin/myprogsuffix")
+self.addrule("FILE_EXIST=usr/bin/otherprog")
+self.addrule("FILE_TYPE=usr/bin/myprog|file")
+self.addrule("FILE_TYPE=usr/bin/myprogsuffix|link")
+self.addrule("FILE_TYPE=usr/bin/otherprog|file")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/symlink011.py b/test/pacman/tests/symlink011.py
new file mode 100644
index 0000000..8510172
--- /dev/null
+++ b/test/pacman/tests/symlink011.py
@@ -0,0 +1,26 @@
+self.description = "Unowned broken symlink replaced by one in package"
+
+lp = pmpkg("dummy")
+lp.files = ["usr/bin/myprog"]
+self.addpkg2db("local", lp)
+
+self.filesystem = ["usr/bin/otherprog",
+                   "usr/bin/myprogsuffix -> broken"]
+
+p = pmpkg("dummy", "1.0-2")
+p.files = ["usr/bin/myprog",
+           "usr/bin/myprogsuffix -> myprog"]
+self.addpkg(p)
+
+self.args = "-U %s" % p.filename()
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=dummy|1.0-1")
+self.addrule("FILE_EXIST=usr/bin/myprog")
+self.addrule("LINK_EXIST=usr/bin/myprogsuffix")
+self.addrule("FILE_EXIST=usr/bin/otherprog")
+self.addrule("FILE_TYPE=usr/bin/myprog|file")
+self.addrule("FILE_TYPE=usr/bin/myprogsuffix|link")
+self.addrule("FILE_TYPE=usr/bin/otherprog|file")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/symlink012.py b/test/pacman/tests/symlink012.py
new file mode 100644
index 0000000..6a73bbb
--- /dev/null
+++ b/test/pacman/tests/symlink012.py
@@ -0,0 +1,24 @@
+self.description = "Unowned symlink when pointing to different file"
+
+lp = pmpkg("dummy")
+lp.files = ["usr/bin/myprog"]
+self.addpkg2db("local", lp)
+
+self.filesystem = ["usr/bin/otherprog",
+                   "usr/bin/myprogsuffix -> otherprog"]
+
+p = pmpkg("dummy", "1.0-2")
+p.files = ["usr/bin/myprog",
+           "usr/bin/myprogsuffix -> myprog"]
+self.addpkg(p)
+
+self.args = "-U %s" % p.filename()
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=dummy|1.0-1")
+self.addrule("FILE_EXIST=usr/bin/myprog")
+self.addrule("LINK_EXIST=usr/bin/myprogsuffix")
+self.addrule("FILE_EXIST=usr/bin/otherprog")
+self.addrule("FILE_TYPE=usr/bin/myprog|file")
+self.addrule("FILE_TYPE=usr/bin/myprogsuffix|link")
+self.addrule("FILE_TYPE=usr/bin/otherprog|file")
-- 
1.7.7



More information about the pacman-dev mailing list