[arch-projects] [dbscripts] [PATCH v3] test: db-update: @test "update same any package to same repository fails": change PKGEXT

Luke Shumaker lukeshu at lukeshu.com
Mon Feb 19 23:31:56 UTC 2018

From: Luke Shumaker <lukeshu at parabola.nu>

This has the test change PKGEXT the second time it tries to release the
package.  Currently, this causes the tests to fail.  That's a good thing;
it's checking for the regression where db-functions:check_pkgrepos isn't
treating PKGEXT as a glob.

Without this, that regression didn't cause test failure because the checks
right after it were tripping anyway.


v2: Follow Eli's suggestion to simplify it using the check in __buildPackage
v3: Simplify further by assuming __buildPackage checks PKGEXT, not PKGEXTS
 This is written againt Eli's v2 patchset (my concerns there don't
 affect this).  You can verify--applying this patch first makes the
 tests fail, then applying Eli's patches make the tests pass again.

 Dave's objections to the __isGlobfile name and comment apply to this
 patch as well.

 test/cases/db-update.bats | 2 +-
 test/lib/common.bash      | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/test/cases/db-update.bats b/test/cases/db-update.bats
index 1da7eef..2395438 100644
--- a/test/cases/db-update.bats
+++ b/test/cases/db-update.bats
@@ -92,7 +92,7 @@ load ../lib/common
 	checkPackage extra pkg-any-a
-	releasePackage extra pkg-any-a
+	PKGEXT=.pkg.tar.gz releasePackage extra pkg-any-a
 	run db-update
 	[ "$status" -ne 0 ]
diff --git a/test/lib/common.bash b/test/lib/common.bash
index 540e403..d251259 100644
--- a/test/lib/common.bash
+++ b/test/lib/common.bash
@@ -13,6 +13,11 @@ __getCheckSum() {
 	echo ${result[0]}
+# Check if a file exists, even if the file uses wildcards
+__isGlobfile() {
+	[[ -f $1 ]]
 __buildPackage() {
 	local pkgdest=${1:-.}
 	local p
@@ -23,7 +28,7 @@ __buildPackage() {
 	if [[ -n ${BUILDDIR} ]]; then
 		cache=${BUILDDIR}/$(__getCheckSum PKGBUILD)
-		if [[ -d ${cache} ]]; then
+		if __isGlobfile "${cache}"/*"${PKGEXT}"; then
 			cp -Lv ${cache}/*${PKGEXT}{,.sig} ${pkgdest}
 			return 0

More information about the arch-projects mailing list