diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2013-02-15 18:13:51 -0500 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-02-24 13:11:54 +1000 |
commit | 4a1d93b92c76bde58193083812dda94c0fa5d373 (patch) | |
tree | d2fced5db32e277d8df19e0b80adaf91adde277d | |
parent | 0bbc406ee8773ed646393cee175280c33fea8dff (diff) | |
download | pacman-4a1d93b92c76bde58193083812dda94c0fa5d373.tar.xz |
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>
-rw-r--r-- | test/pacman/tests/fileconflict022.py | 21 | ||||
-rw-r--r-- | test/pacman/tests/fileconflict023.py | 20 | ||||
-rw-r--r-- | test/pacman/tests/fileconflict024.py | 19 | ||||
-rw-r--r-- | test/pacman/tests/fileconflict025.py | 20 |
4 files changed, 80 insertions, 0 deletions
diff --git a/test/pacman/tests/fileconflict022.py b/test/pacman/tests/fileconflict022.py new file mode 100644 index 00000000..6f9aec93 --- /dev/null +++ b/test/pacman/tests/fileconflict022.py @@ -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 diff --git a/test/pacman/tests/fileconflict023.py b/test/pacman/tests/fileconflict023.py new file mode 100644 index 00000000..1310b680 --- /dev/null +++ b/test/pacman/tests/fileconflict023.py @@ -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 diff --git a/test/pacman/tests/fileconflict024.py b/test/pacman/tests/fileconflict024.py new file mode 100644 index 00000000..1dcb5ade --- /dev/null +++ b/test/pacman/tests/fileconflict024.py @@ -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 diff --git a/test/pacman/tests/fileconflict025.py b/test/pacman/tests/fileconflict025.py new file mode 100644 index 00000000..efd027e1 --- /dev/null +++ b/test/pacman/tests/fileconflict025.py @@ -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 |