commit:     61fdfd4d8cc40da77455c6f8b36a3ec36aa5b146
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  3 11:26:49 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Jan  3 11:26:49 2020 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=61fdfd4d

tests/qmerge: add case for INSTALL_MASK

This tests INSTALL_MASK on a simple and a inversed path, with one level
difference.

Bug: https://bugs.gentoo.org/699376
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 tests/qmerge/dotest | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/tests/qmerge/dotest b/tests/qmerge/dotest
index 1563595..23f3ca7 100755
--- a/tests/qmerge/dotest
+++ b/tests/qmerge/dotest
@@ -79,6 +79,32 @@ tend $? "qmerge-test: [C] pkg_* order of execution" || die 
"$(printf '%s\n' "${o
    ! -d ${ROOT}/var/db/pkg/sys-devel ]]
 tend $? "qmerge-test: [C] uninstalled expected files" || die "$(treedir 
"${ROOT}")"
 
+# cleanup
+rm -Rf "${ROOT}"/etc
+
+# check if INSTALL_MASK is applied well
+export INSTALL_MASK="/etc"
+out=$(yes | qmerge -F qmerge-test)
+tend $? "qmerge-test: [M] install no /etc" || die "${out}"
+[[ ! -e ${ROOT}/etc ]]
+tend $? "qmerge-test: [M] found no /etc" || die "$(treedir "${ROOT}")"
+
+out=$(yes | qmerge -FU qmerge-test)
+tend $? "qmerge-test: [M] uninstall" || die "${out}"
+[[ ! -e ${ROOT}/etc ]]
+tend $? "qmerge-test: [M] /etc removed" || die "$(treedir "${ROOT}")"
+
+export INSTALL_MASK="/etc -/etc/some.conf"
+out=$(yes | qmerge -F qmerge-test)
+tend $? "qmerge-test: [M] install only /etc/some.conf" || die "${out}"
+[[ ! -e ${ROOT}/etc/another.conf ]]
+tend $? "qmerge-test: [M] found /etc/another.conf" || die "$(treedir 
"${ROOT}")"
+
+out=$(yes | qmerge -FU qmerge-test)
+tend $? "qmerge-test: [M] uninstall" || die "${out}"
+[[ ! -e ${ROOT}/etc ]]
+tend $? "qmerge-test: [M] /etc removed" || die "$(treedir "${ROOT}")"
+
 set -e
 
 cleantmpdir

Reply via email to