summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2017-04-20 13:11:47 +0200
committerLuke Shumaker <lukeshu@parabola.nu>2018-04-06 13:51:50 -0400
commit6b4e779a671893f1894c43596c6da5eea3a6344a (patch)
tree45cb75e2bfad60b1f03515b8b3d4788a7c98619c
parentec7dc92896c7f11aef1cc9666de642700160ec01 (diff)
Move common checks to functions
(cherry picked from commit a53b874b6ed85097382d8d4889dc50cc98fbfdc6)
-rwxr-xr-xtest/cases/db-repo-add.bats35
-rwxr-xr-xtest/cases/db-update.bats11
-rwxr-xr-xtest/cases/ftpdir-cleanup.bats24
-rwxr-xr-xtest/cases/sourceballs.bats20
-rw-r--r--test/lib/common.bash22
5 files changed, 67 insertions, 45 deletions
diff --git a/test/cases/db-repo-add.bats b/test/cases/db-repo-add.bats
index d76b245..869796a 100755
--- a/test/cases/db-repo-add.bats
+++ b/test/cases/db-repo-add.bats
@@ -1,5 +1,26 @@
load ../lib/common
+__movePackageToRepo() {
+ local repo=$1
+ local pkgbase=$2
+ local arch=$3
+ local tarch
+ local tarches
+
+ if [[ $arch == any ]]; then
+ tarches=(${ARCHES[@]})
+ else
+ tarches=(${arch})
+ fi
+
+ # FIXME: pkgbase might not be part of the package filename
+ mv -v "${STAGING}"/${repo}/${pkgbase}-*-*-${arch}${PKGEXT}{,.sig} "${FTP_BASE}/${PKGPOOL}/"
+ for tarch in ${tarches[@]}; do
+ ln -sv ${FTP_BASE}/${PKGPOOL}/${pkgbase}-*-*-${arch}${PKGEXT} "${FTP_BASE}/${repo}/os/${tarch}/"
+ ln -sv ${FTP_BASE}/${PKGPOOL}/${pkgbase}-*-*-${arch}${PKGEXT}.sig "${FTP_BASE}/${repo}/os/${tarch}/"
+ done
+}
+
@test "add simple packages" {
local pkgs=('pkg-simple-a' 'pkg-simple-b')
local pkgbase
@@ -8,9 +29,7 @@ load ../lib/common
for pkgbase in "${pkgs[@]}"; do
for arch in "${ARCH_BUILD[@]}"; do
releasePackage extra "$pkgbase" "$arch"
- mv "${STAGING}"/extra/* "${FTP_BASE}/${PKGPOOL}/"
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz" "${FTP_BASE}/extra/os/${arch}/"
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz.sig" "${FTP_BASE}/extra/os/${arch}/"
+ __movePackageToRepo extra ${pkgbase} ${arch}
db-repo-add extra "${arch}" "${pkgbase}-1-1-${arch}.pkg.tar.xz"
done
done
@@ -31,9 +50,7 @@ load ../lib/common
add_pkgs=()
for pkgbase in "${pkgs[@]}"; do
releasePackage extra "$pkgbase" "$arch"
- mv "${STAGING}"/extra/* "${FTP_BASE}/${PKGPOOL}/"
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz" "${FTP_BASE}/extra/os/${arch}/"
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz.sig" "${FTP_BASE}/extra/os/${arch}/"
+ __movePackageToRepo extra ${pkgbase} ${arch}
add_pkgs+=("${pkgbase}-1-1-${arch}.pkg.tar.xz")
done
db-repo-add extra "${arch}" "${add_pkgs[@]}"
@@ -53,11 +70,7 @@ load ../lib/common
for pkgbase in ${pkgs[@]}; do
releasePackage extra ${pkgbase} any
- mv "${STAGING}"/extra/* "${FTP_BASE}/${PKGPOOL}/"
- for arch in "${ARCH_BUILD[@]}"; do
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-any.pkg.tar.xz" "${FTP_BASE}/extra/os/${arch}/"
- ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-any.pkg.tar.xz.sig" "${FTP_BASE}/extra/os/${arch}/"
- done
+ __movePackageToRepo extra ${pkgbase} any
db-repo-add extra any ${pkgbase}-1-1-any.pkg.tar.xz
done
diff --git a/test/cases/db-update.bats b/test/cases/db-update.bats
index f648456..cf60fcd 100755
--- a/test/cases/db-update.bats
+++ b/test/cases/db-update.bats
@@ -114,12 +114,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- local arch
- for arch in "${ARCH_BUILD[@]}"; do
- if [ -r "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" ]; then
- ! bsdtar -xf "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
- fi
- done
+ checkRemovedPackageDB testing pkg-any-a any
}
@test "add incomplete split package" {
@@ -139,9 +134,7 @@ load ../lib/common
[ "$status" -ne 0 ]
for arch in "${ARCH_BUILD[@]}"; do
- if [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" ]; then
- ! bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
- fi
+ checkRemovedPackageDB ${repo} ${pkgbase} ${arch}
done
}
diff --git a/test/cases/ftpdir-cleanup.bats b/test/cases/ftpdir-cleanup.bats
index 5f6b680..2cb2e59 100755
--- a/test/cases/ftpdir-cleanup.bats
+++ b/test/cases/ftpdir-cleanup.bats
@@ -1,5 +1,15 @@
load ../lib/common
+__checkRepoRemovedPackage() {
+ local repo=$1
+ local pkgbase=$2
+ local arch=$3
+
+ # FIXME: pkgbase might not be part of the package filename
+ [[ ! -f ${FTP_BASE}/${PKGPOOL}/${pkgbase}*${PKGEXT} ]]
+ [[ ! -f ${FTP_BASE}/${repo}/os/${arch}/${pkgbase}*${PKGEXT} ]]
+}
+
@test "cleanup simple packages" {
local pkgs=('pkg-simple-a' 'pkg-simple-b')
local pkgbase
@@ -20,10 +30,8 @@ load ../lib/common
ftpdir-cleanup
for arch in "${ARCH_BUILD[@]}"; do
- local pkg1="pkg-simple-a-1-1-${arch}.pkg.tar.xz"
checkRemovedPackage extra 'pkg-simple-a' "${arch}"
- [ ! -f "${FTP_BASE}/${PKGPOOL}/${pkg1}" ]
- [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ]
+ __checkRepoRemovedPackage extra 'pkg-simple-a' ${arch}
local pkg2="pkg-simple-b-1-1-${arch}.pkg.tar.xz"
checkPackage extra "${pkg2}" "${arch}"
@@ -50,10 +58,8 @@ load ../lib/common
ftpdir-cleanup
for arch in "${ARCH_BUILD[@]}"; do
- local pkg1="pkg-simple-epoch-1:1-1-${arch}.pkg.tar.xz"
checkRemovedPackage extra 'pkg-simple-epoch' "${arch}"
- [ ! -f "${FTP_BASE}/${PKGPOOL}/${pkg1}" ]
- [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ]
+ __checkRepoRemovedPackage extra 'pkg-simple-epoch' ${arch}
done
}
@@ -72,8 +78,7 @@ load ../lib/common
local pkg1='pkg-any-a-1-1-any.pkg.tar.xz'
checkRemovedPackage extra 'pkg-any-a' any
- [ ! -f "${FTP_BASE}/${PKGPOOL}/${pkg1}" ]
- [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ]
+ __checkRepoRemovedPackage extra 'pkg-any-a' any
local pkg2="pkg-any-b-1-1-${arch}.pkg.tar.xz"
checkPackage extra "${pkg2}" any
@@ -102,8 +107,7 @@ load ../lib/common
for arch in "${ARCH_BUILD[@]}"; do
for pkg in $(getPackageNamesFromPackageBase "${pkgs[0]}"); do
checkRemovedPackage extra "${pkg}" "${arch}"
- [ ! -f "${FTP_BASE}/${PKGPOOL}/${pkg}" ]
- [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ]
+ __checkRepoRemovedPackage extra ${pkg} ${arch}
done
for pkg in $(getPackageNamesFromPackageBase "${pkgs[1]}"); do
diff --git a/test/cases/sourceballs.bats b/test/cases/sourceballs.bats
index cf80658..ba06b8d 100755
--- a/test/cases/sourceballs.bats
+++ b/test/cases/sourceballs.bats
@@ -1,5 +1,15 @@
load ../lib/common
+__checkSourcePackage() {
+ local pkgbase=$1
+ [ -r ${FTP_BASE}/${SRCPOOL}/${pkgbase}-*${SRCEXT} ]
+}
+
+__checkRemovedSourcePackage() {
+ local pkgbase=$1
+ [ ! -r ${FTP_BASE}/${SRCPOOL}/${pkgbase}-*${SRCEXT} ]
+}
+
@test "sourceballs" {
local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-simple-epoch')
local pkgbase
@@ -14,7 +24,7 @@ load ../lib/common
sourceballs
for pkgbase in "${pkgs[@]}"; do
- [ -r "${FTP_BASE}/${SRCPOOL}/${pkgbase}"-*"${SRCEXT}" ]
+ __checkSourcePackage ${pkgbase}
done
}
@@ -29,7 +39,7 @@ load ../lib/common
sourceballs
for pkgbase in "${pkgs[@]}"; do
- [ -r "${FTP_BASE}/${SRCPOOL}/${pkgbase}"-*"${SRCEXT}" ]
+ __checkSourcePackage ${pkgbase}
done
}
@@ -49,7 +59,7 @@ load ../lib/common
sourceballs
for pkgbase in "${pkgs[@]}"; do
- [ -r "${FTP_BASE}/${SRCPOOL}/${pkgbase}"-*"${SRCEXT}" ]
+ __checkSourcePackage ${pkgbase}
done
}
@@ -71,6 +81,6 @@ load ../lib/common
done
sourceballs
- [ ! -r "${FTP_BASE}/${SRCPOOL}/pkg-simple-a"-*"${SRCEXT}" ]
- [ -r "${FTP_BASE}/${SRCPOOL}/pkg-simple-b"-*"${SRCEXT}" ]
+ __checkRemovedSourcePackage pkg-simple-a
+ __checkSourcePackage pkg-simple-b
}
diff --git a/test/lib/common.bash b/test/lib/common.bash
index d8a01ca..dab16a5 100644
--- a/test/lib/common.bash
+++ b/test/lib/common.bash
@@ -183,6 +183,7 @@ checkPackageDB() {
local pkg=$2
local arch=$3
local db
+ local tarch
local tarches
[ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ]
@@ -196,16 +197,16 @@ checkPackageDB() {
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}")" ]
+ for tarch in "${tarches[@]}"; do
+ [ -L "${FTP_BASE}/${repo}/os/${tarch}/${pkg}" ]
+ [ "$(readlink -e "${FTP_BASE}/${repo}/os/${tarch}/${pkg}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ]
- [ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig" ]
- [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}.sig")" ]
+ [ -L "${FTP_BASE}/${repo}/os/${tarch}/${pkg}.sig" ]
+ [ "$(readlink -e "${FTP_BASE}/${repo}/os/${tarch}/${pkg}.sig")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}.sig")" ]
for db in "${DBEXT}" "${FILESEXT}"; do
- [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ]
- bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null
+ [ -r "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" ]
+ bsdtar -xf "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null
done
done
}
@@ -238,6 +239,7 @@ checkRemovedPackageDB() {
local pkgbase=$2
local arch=$3
local db
+ local tarch
local tarches
if [[ $arch == any ]]; then
@@ -247,9 +249,9 @@ checkRemovedPackageDB() {
fi
for db in "${DBEXT}" "${FILESEXT}"; 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
+ for tarch in "${tarches[@]}"; do
+ if [ -r "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" ]; then
+ ! bsdtar -xf "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
fi
done
done