[Dev] [dbscripts] [PATCH 13/31] db-update: Test package validation

Luke Shumaker lukeshu at lukeshu.com
Fri Apr 6 18:43:46 GMT 2018


From: Pierre Schmitz <pierre at archlinux.de>

(cherry picked from commit c33e9409cbec408222875f8a71d324362b9cb043)
---
 test/cases/db-update.bats | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/test/cases/db-update.bats b/test/cases/db-update.bats
index 855ba6d..99c30e0 100755
--- a/test/cases/db-update.bats
+++ b/test/cases/db-update.bats
@@ -225,5 +225,36 @@ load ../lib/common
 	popd >/dev/null
 
 	! db-update >/dev/null 2>&1
-	checkRemovedPackage extra 'foo-pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686'
+	checkRemovedPackage extra 'pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686'
+}
+
+ at test "add package with insufficient permissions fails" {
+	releasePackage core 'pkg-simple-a' 'i686'
+	releasePackage extra 'pkg-simple-b' 'i686'
+
+	chmod -xwr ${FTP_BASE}/core/os/i686
+	! db-update >/dev/null 2>&1
+	chmod +xwr ${FTP_BASE}/core/os/i686
+
+	checkRemovedPackage core 'pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686'
+	checkRemovedPackage extra 'pkg-simple-b-1-1-i686.pkg.tar.xz' 'i686'
+}
+
+ at test "package has to be a regular file" {
+	local p
+	local target=$(mktemp -d)
+
+	for arch in "${ARCH_BUILD[@]}"; do
+		releasePackage extra 'pkg-simple-a' $arch
+	done
+
+	for p in "${STAGING}"/extra/*i686*; do
+		mv "${p}" "${target}"
+		ln -s "${target}/${p##*/}" "${p}"
+	done
+
+	! db-update >/dev/null 2>&1
+	for arch in "${ARCH_BUILD[@]}"; do
+		checkRemovedPackage extra "pkg-simple-a-1-1-${arch}.pkg.tar.xz" $arch
+	done
 }
-- 
2.16.2




More information about the Dev mailing list