diff options
author | Allan McRae <allan@archlinux.org> | 2012-07-17 13:22:08 +1000 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-08-02 09:38:37 -0500 |
commit | fa2eadcec75e8e54a4bb3cf1f38a07ec71784032 (patch) | |
tree | dbf85fc5dfe112180b91d7fcc7236881e00b60fd /test | |
parent | eb871553912f5cf4ab3cb8aade73cf2a24dcb82c (diff) | |
download | pacman-fa2eadcec75e8e54a4bb3cf1f38a07ec71784032.tar.xz |
pactest: Do not remove symlink to directory if local package uses that path
If we have a symlink to a directory (e.g. /lib -> usr/lib), then
we can not remove it if a local package thinks it has files in the
symlink directory (e.g. /lib/foo), because this will invalidate the
local file database.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/pacman/tests/sync700.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/pacman/tests/sync700.py b/test/pacman/tests/sync700.py new file mode 100644 index 00000000..0002b643 --- /dev/null +++ b/test/pacman/tests/sync700.py @@ -0,0 +1,22 @@ +self.description = "do not remove directory symlink if another package has file in its path" + +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 |