From 04d211effa8d65020887112ee30c7b3b0fc28ad3 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 9 Apr 2017 20:42:01 -0400 Subject: add --overwrite option to ignore file conflicts Allows for safer, more fine-grained control for overwriting files than --force's all-or-nothing approach. Implements FS#31549. Signed-off-by: Andrew Gregory Signed-off-by: Allan McRae --- test/pacman/tests/TESTS | 3 +++ test/pacman/tests/overwrite-files-match-negated.py | 13 +++++++++++++ test/pacman/tests/overwrite-files-match.py | 13 +++++++++++++ test/pacman/tests/overwrite-files-nonmatch.py | 13 +++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 test/pacman/tests/overwrite-files-match-negated.py create mode 100644 test/pacman/tests/overwrite-files-match.py create mode 100644 test/pacman/tests/overwrite-files-nonmatch.py (limited to 'test') diff --git a/test/pacman/tests/TESTS b/test/pacman/tests/TESTS index 11d1c38c..eadb63b4 100644 --- a/test/pacman/tests/TESTS +++ b/test/pacman/tests/TESTS @@ -80,6 +80,9 @@ TESTS += test/pacman/tests/mode001.py TESTS += test/pacman/tests/mode002.py TESTS += test/pacman/tests/mode003.py TESTS += test/pacman/tests/noupgrade-inverted.py +TESTS += test/pacman/tests/overwrite-files-match-negated.py +TESTS += test/pacman/tests/overwrite-files-match.py +TESTS += test/pacman/tests/overwrite-files-nonmatch.py TESTS += test/pacman/tests/pacman001.py TESTS += test/pacman/tests/pacman002.py TESTS += test/pacman/tests/pacman003.py diff --git a/test/pacman/tests/overwrite-files-match-negated.py b/test/pacman/tests/overwrite-files-match-negated.py new file mode 100644 index 00000000..42b1be2d --- /dev/null +++ b/test/pacman/tests/overwrite-files-match-negated.py @@ -0,0 +1,13 @@ +self.description = "Install a package with an existing file matching a negated --overwrite pattern" + +p = pmpkg("dummy") +p.files = ["foobar"] +self.addpkg(p) + +self.filesystem = ["foobar*"] + +self.args = "-U --overwrite=foobar --overwrite=!foo* %s" % p.filename() + +self.addrule("!PACMAN_RETCODE=0") +self.addrule("!PKG_EXIST=dummy") +self.addrule("!FILE_MODIFIED=foobar") diff --git a/test/pacman/tests/overwrite-files-match.py b/test/pacman/tests/overwrite-files-match.py new file mode 100644 index 00000000..004155c3 --- /dev/null +++ b/test/pacman/tests/overwrite-files-match.py @@ -0,0 +1,13 @@ +self.description = "Install a package with an existing file matching an --overwrite pattern" + +p = pmpkg("dummy") +p.files = ["foobar"] +self.addpkg(p) + +self.filesystem = ["foobar*"] + +self.args = "-U --overwrite=foobar %s" % p.filename() + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=dummy") +self.addrule("FILE_MODIFIED=foobar") diff --git a/test/pacman/tests/overwrite-files-nonmatch.py b/test/pacman/tests/overwrite-files-nonmatch.py new file mode 100644 index 00000000..38932d5f --- /dev/null +++ b/test/pacman/tests/overwrite-files-nonmatch.py @@ -0,0 +1,13 @@ +self.description = "Install a package with an existing file not matching --overwrite patterns" + +p = pmpkg("dummy") +p.files = ["foobar"] +self.addpkg(p) + +self.filesystem = ["foobar*"] + +self.args = "-U --overwrite=foo %s" % p.filename() + +self.addrule("!PACMAN_RETCODE=0") +self.addrule("!PKG_EXIST=dummy") +self.addrule("!FILE_MODIFIED=foobar") -- cgit v1.2.3-70-g09d2