[Dev] [dbscripts] [PATCH 21/31] Extend check functions to handle 'any' packages as well

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


From: Pierre Schmitz <pierre at archlinux.de>

(cherry picked from commit 4751408429ba67625d8a54c6758e979cd20b4c5f)
---
 test/cases/db-move.bats        |  9 +++--
 test/cases/db-remove.bats      |  2 +-
 test/cases/db-repo-remove.bats |  2 +-
 test/cases/db-update.bats      | 12 +++---
 test/cases/ftpdir-cleanup.bats |  4 +-
 test/lib/common.bash           | 89 +++++++++++-------------------------------
 6 files changed, 37 insertions(+), 81 deletions(-)

diff --git a/test/cases/db-move.bats b/test/cases/db-move.bats
index b23a5b7..a3a41c8 100755
--- a/test/cases/db-move.bats
+++ b/test/cases/db-move.bats
@@ -78,9 +78,9 @@ load ../lib/common
 	db-update
 	db-move testing extra pkg-any-a
 
-	checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz
-	checkRemovedAnyPackage testing pkg-any-a
-	checkAnyPackage testing pkg-any-b-1-1-any.pkg.tar.xz
+	checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+	checkRemovedPackage testing pkg-any-a any
+	checkPackage testing pkg-any-b-1-1-any.pkg.tar.xz any
 }
 
 @test "move split packages" {
@@ -109,5 +109,6 @@ load ../lib/common
 		done
 	done
 
-	checkRemovedAnyPackage testing pkg-split-a
+	# FIXME: Why any?
+	checkRemovedPackage testing pkg-split-a any
 }
diff --git a/test/cases/db-remove.bats b/test/cases/db-remove.bats
index 99b31f7..5201440 100755
--- a/test/cases/db-remove.bats
+++ b/test/cases/db-remove.bats
@@ -65,6 +65,6 @@ load ../lib/common
 	done
 
 	for pkgbase in "${pkgs[@]}"; do
-		checkRemovedAnyPackage extra "${pkgbase}"
+		checkRemovedPackage extra "${pkgbase}" any
 	done
 }
diff --git a/test/cases/db-repo-remove.bats b/test/cases/db-repo-remove.bats
index 0e38ad5..165b759 100755
--- a/test/cases/db-repo-remove.bats
+++ b/test/cases/db-repo-remove.bats
@@ -65,6 +65,6 @@ load ../lib/common
 	done
 
 	for pkgbase in ${pkgs[@]}; do
-		checkRemovedAnyPackageDB extra ${pkgbase}
+		checkRemovedPackageDB extra ${pkgbase} any
 	done
 }
diff --git a/test/cases/db-update.bats b/test/cases/db-update.bats
index 9c1226e..f648456 100755
--- a/test/cases/db-update.bats
+++ b/test/cases/db-update.bats
@@ -43,7 +43,7 @@ load ../lib/common
 	db-update
 
 	for pkgbase in "${pkgs[@]}"; do
-		checkAnyPackage extra "${pkgbase}-1-1-any.pkg.tar.xz"
+		checkPackage extra "${pkgbase}-1-1-any.pkg.tar.xz" any
 	done
 }
 
@@ -79,7 +79,7 @@ load ../lib/common
 	releasePackage extra pkg-any-a any
 	db-update
 
-	checkAnyPackage extra pkg-any-a-1-2-any.pkg.tar.xz any
+	checkPackage extra pkg-any-a-1-2-any.pkg.tar.xz any
 }
 
 @test "update any package to different repositories at once" {
@@ -91,14 +91,14 @@ load ../lib/common
 
 	db-update
 
-	checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
-	checkAnyPackage testing pkg-any-a-1-2-any.pkg.tar.xz any
+	checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+	checkPackage testing pkg-any-a-1-2-any.pkg.tar.xz any
 }
 
 @test "update same any package to same repository" {
 	releasePackage extra pkg-any-a any
 	db-update
-	checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+	checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
 
 	releasePackage extra pkg-any-a any
 	run db-update
@@ -108,7 +108,7 @@ load ../lib/common
 @test "update same any package to different repositories" {
 	releasePackage extra pkg-any-a any
 	db-update
-	checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+	checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
 
 	releasePackage testing pkg-any-a any
 	run db-update
diff --git a/test/cases/ftpdir-cleanup.bats b/test/cases/ftpdir-cleanup.bats
index f1fd7e4..5f6b680 100755
--- a/test/cases/ftpdir-cleanup.bats
+++ b/test/cases/ftpdir-cleanup.bats
@@ -71,12 +71,12 @@ load ../lib/common
 	ftpdir-cleanup
 
 	local pkg1='pkg-any-a-1-1-any.pkg.tar.xz'
-	checkRemovedAnyPackage extra 'pkg-any-a'
+	checkRemovedPackage extra 'pkg-any-a' any
 	[ ! -f "${FTP_BASE}/${PKGPOOL}/${pkg1}" ]
 	[ ! -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ]
 
 	local pkg2="pkg-any-b-1-1-${arch}.pkg.tar.xz"
-	checkAnyPackage extra "${pkg2}"
+	checkPackage extra "${pkg2}" any
 }
 
 @test "cleanup split packages" {
diff --git a/test/lib/common.bash b/test/lib/common.bash
index 39ceeb4..d8a01ca 100644
--- a/test/lib/common.bash
+++ b/test/lib/common.bash
@@ -178,16 +178,25 @@ getPackageNamesFromPackageBase() {
 	$(. "packages/${pkgbase}/PKGBUILD"; echo ${pkgname[@]})
 }
 
-checkAnyPackageDB() {
+checkPackageDB() {
 	local repo=$1
 	local pkg=$2
-	local arch
+	local arch=$3
 	local db
+	local tarches
 
 	[ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ]
 	[ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ]
+	[ ! -r "${STAGING}/${repo}/${pkg}" ]
+	[ ! -r "${STAGING}/${repo}/${pkg}.sig" ]
 
-	for arch in "${ARCH_BUILD[@]}"; do
+	if [[ $arch == any ]]; then
+		tarches=("${ARCHES[@]}")
+	else
+		tarches=("${arch}")
+	fi
+
+	for arch in "${tarches[@]}"; do
 		[ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ]
 		[ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ]
 
@@ -199,44 +208,6 @@ checkAnyPackageDB() {
 			bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null
 		done
 	done
-	[ ! -r "${STAGING}/${repo}/${pkg}" ]
-	[ ! -r "${STAGING}/${repo}/${pkg}".sig ]
-}
-
-checkAnyPackage() {
-	local repo=$1
-	local pkg=$2
-
-	checkAnyPackageDB "$repo" "$pkg"
-
-	local pkgbase=$(__getPackageBaseFromPackage "${FTP_BASE}/${PKGPOOL}/${pkg}")
-	svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
-	[ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-any" ]
-}
-
-checkPackageDB() {
-	local repo=$1
-	local pkg=$2
-	local arch=$3
-	local db
-
-	[ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ]
-	[ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ]
-	[ ! -r "${STAGING}/${repo}/${pkg}" ]
-
-	[ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ]
-
-	[ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ]
-	[ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig" ]
-	[ ! -r "${STAGING}/${repo}/${pkg}.sig" ]
-
-	[ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}.sig")" ]
-
-	for db in "${DBEXT}" "${FILESEXT}"; do
-		if [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ]; then
-			bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null
-		fi
-	done
 }
 
 checkPackage() {
@@ -251,19 +222,6 @@ checkPackage() {
 	[ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ]
 }
 
-checkRemovedPackageDB() {
-	local repo=$1
-	local pkgbase=$2
-	local arch=$3
-	local db
-
-	for db in "${DBEXT}" "${FILESEXT}"; do
-		if [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ]; then
-			! bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
-		fi
-	done
-}
-
 checkRemovedPackage() {
 	local repo=$1
 	local pkgbase=$2
@@ -275,27 +233,24 @@ checkRemovedPackage() {
 	[ ! -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ]
 }
 
-checkRemovedAnyPackageDB() {
+checkRemovedPackageDB() {
 	local repo=$1
 	local pkgbase=$2
-	local arch
+	local arch=$3
 	local db
+	local tarches
+
+	if [[ $arch == any ]]; then
+		tarches=(${ARCHES[@]})
+	else
+		tarches=(${arch})
+	fi
 
 	for db in "${DBEXT}" "${FILESEXT}"; do
-		for arch in "${ARCH_BUILD[@]}"; do
+		for arch in "${tarches[@]}"; do
 			if [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ]; then
 				! bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
 			fi
 		done
 	done
 }
-
-checkRemovedAnyPackage() {
-	local repo=$1
-	local pkgbase=$2
-
-	checkRemovedAnyPackageDB "$repo" "$pkgbase"
-
-	svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
-	[ ! -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-any" ]
-}
-- 
2.16.2




More information about the Dev mailing list