summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@parabola.nu>2018-09-26 12:40:49 -0400
committerLuke Shumaker <lukeshu@parabola.nu>2018-09-26 15:48:21 -0400
commit8dfca42d6f8acd3fbb0719b46d2eb73fab5e93b6 (patch)
tree949766ddee7af3b1bf50167ed3d91088d42cf9ae
parent21b611c05eb7ffaa6dd7fec6d88d844f353650bb (diff)
test: Add tests for db-import-keyring [ci-skip]
-rwxr-xr-xdb-import-keyring4
-rw-r--r--test/cases/db-import-keyring.bats29
-rw-r--r--test/fixtures/archlinux32-keyring/PKGBUILD13
-rw-r--r--test/fixtures/archlinuxarm-keyring/PKGBUILD13
-rw-r--r--test/lib/common.bash2
-rw-r--r--test/lib/import.bash2
6 files changed, 59 insertions, 4 deletions
diff --git a/db-import-keyring b/db-import-keyring
index 28903ab..9273033 100755
--- a/db-import-keyring
+++ b/db-import-keyring
@@ -35,12 +35,12 @@ expac_file() {
# usage: get_repo_rsync_dir <upstream> <tag>
get_repo_rsync_dir() {
- if ! grep -q ARCHMIRROR -- "/etc/dbscripts/config.local.$1"; then
+ if ! grep -q ARCHMIRROR -- "${LOCAL_CONFIG%/*}/config.local.$1"; then
msg "db-import-keyring.conf: Doesn't look like an upstream: %s" "$1" >&2
exit $EXIT_NOTCONFIGURED
fi
(
- source "/etc/dbscripts/config.local.$1" >&2
+ source "${LOCAL_CONFIG%/*}/config.local.$1" >&2
printf '%s\n' "${ARCHMIRROR}/$(repo=${2%-*} arch=${2##*-} envsubst '$repo $arch' <<<"$ARCHPATH")"
)
}
diff --git a/test/cases/db-import-keyring.bats b/test/cases/db-import-keyring.bats
new file mode 100644
index 0000000..76382e6
--- /dev/null
+++ b/test/cases/db-import-keyring.bats
@@ -0,0 +1,29 @@
+load ../lib/import
+
+@test "import keyrings" {
+ echo PKGPOOL='pool/parabola' >>"${TMP}/config.local"
+ mkdir -p "${TMP}/ftp/pool/parabola"
+
+ __releaseImportedPackage archlinux32-keyring i686 "$TMP/rsyncd/archlinux32/i686/core/core.db.tar.gz" "$TMP/rsyncd/archlinux32/pool"
+ __releaseImportedPackage archlinuxarm-keyring armv7h "$TMP/rsyncd/archlinuxarm/armv7h/core/core.db.tar.gz"
+
+ db-import-keyring
+
+ bsdtar tf "$TMP/ftp/libre/os/x86_64/libre.db.tar.gz"
+
+ bsdtar tf "$TMP/ftp/libre/os/x86_64/libre.db.tar.gz" archlinux32-keyring-1-1/desc
+ bsdtar tf "$TMP/ftp/libre/os/i686/libre.db.tar.gz" archlinux32-keyring-1-1/desc
+ bsdtar tf "$TMP/ftp/libre/os/armv7h/libre.db.tar.gz" archlinux32-keyring-1-1/desc
+
+ bsdtar tf "$TMP/ftp/libre/os/x86_64/libre.db.tar.gz" archlinuxarm-keyring-1-1/desc
+ bsdtar tf "$TMP/ftp/libre/os/i686/libre.db.tar.gz" archlinuxarm-keyring-1-1/desc
+ bsdtar tf "$TMP/ftp/libre/os/armv7h/libre.db.tar.gz" archlinuxarm-keyring-1-1/desc
+
+ __isLinkTo "$TMP/ftp/libre/os/x86_64/archlinux32-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinux32-keyring-1-1-any.pkg.tar.xz"
+ __isLinkTo "$TMP/ftp/libre/os/i686/archlinux32-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinux32-keyring-1-1-any.pkg.tar.xz"
+ __isLinkTo "$TMP/ftp/libre/os/armv7h/archlinux32-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinux32-keyring-1-1-any.pkg.tar.xz"
+
+ __isLinkTo "$TMP/ftp/libre/os/x86_64/archlinuxarm-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinuxarm-keyring-1-1-any.pkg.tar.xz"
+ __isLinkTo "$TMP/ftp/libre/os/i686/archlinuxarm-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinuxarm-keyring-1-1-any.pkg.tar.xz"
+ __isLinkTo "$TMP/ftp/libre/os/armv7h/archlinuxarm-keyring-1-1-any.pkg.tar.xz" "$TMP/ftp/pool/parabola/archlinuxarm-keyring-1-1-any.pkg.tar.xz"
+}
diff --git a/test/fixtures/archlinux32-keyring/PKGBUILD b/test/fixtures/archlinux32-keyring/PKGBUILD
new file mode 100644
index 0000000..a045b0b
--- /dev/null
+++ b/test/fixtures/archlinux32-keyring/PKGBUILD
@@ -0,0 +1,13 @@
+pkgname=archlinux32-keyring
+pkgver=1
+pkgrel=1
+pkgdesc="A package called ${pkgname}"
+arch=('any')
+url='http://www.archlinux.org/'
+license=('GPL')
+options=(!strip)
+
+package() {
+ install -d "${pkgdir}"/usr/share/${pkgname}
+ :>"${pkgdir}"/usr/share/${pkgname}/test
+}
diff --git a/test/fixtures/archlinuxarm-keyring/PKGBUILD b/test/fixtures/archlinuxarm-keyring/PKGBUILD
new file mode 100644
index 0000000..bb2bc9d
--- /dev/null
+++ b/test/fixtures/archlinuxarm-keyring/PKGBUILD
@@ -0,0 +1,13 @@
+pkgname=archlinuxarm-keyring
+pkgver=1
+pkgrel=1
+pkgdesc="A package called ${pkgname}"
+arch=('any')
+url='http://www.archlinux.org/'
+license=('GPL')
+options=(!strip)
+
+package() {
+ install -d "${pkgdir}"/usr/share/${pkgname}
+ :>"${pkgdir}"/usr/share/${pkgname}/test
+}
diff --git a/test/lib/common.bash b/test/lib/common.bash
index 3d5e797..bdd3f83 100644
--- a/test/lib/common.bash
+++ b/test/lib/common.bash
@@ -77,7 +77,7 @@ setup() {
export DBSCRIPTS_CONFIG=${TMP}/config.local
cat <<eot > "${DBSCRIPTS_CONFIG}"
FTP_BASE="${TMP}/ftp"
- PKGREPOS=('core' 'extra' 'testing')
+ PKGREPOS=('core' 'extra' 'testing' 'libre')
PKGPOOL='pool/packages'
SRCPOOL='sources/packages'
TESTING_REPO='testing'
diff --git a/test/lib/import.bash b/test/lib/import.bash
index 93d993f..84d8688 100644
--- a/test/lib/import.bash
+++ b/test/lib/import.bash
@@ -105,7 +105,7 @@ setup() {
# Set up repo contents
for arch in x86_64 i686 armv7h; do
- for repo in core testing community community-testing; do
+ for repo in core testing community community-testing libre; do
mkdir -p -- "${TMP}/ftp/${repo}/os/${arch}"
touch -- "${TMP}/ftp/${repo}/os/${arch}/${repo}.db.tar.gz"
ln -sT -- "${repo}.db.tar.gz" "${TMP}/ftp/${repo}/os/${arch}/${repo}.db"