From 8dfca42d6f8acd3fbb0719b46d2eb73fab5e93b6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 26 Sep 2018 12:40:49 -0400 Subject: test: Add tests for db-import-keyring [ci-skip] --- db-import-keyring | 4 ++-- test/cases/db-import-keyring.bats | 29 +++++++++++++++++++++++++++++ test/fixtures/archlinux32-keyring/PKGBUILD | 13 +++++++++++++ test/fixtures/archlinuxarm-keyring/PKGBUILD | 13 +++++++++++++ test/lib/common.bash | 2 +- test/lib/import.bash | 2 +- 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 test/cases/db-import-keyring.bats create mode 100644 test/fixtures/archlinux32-keyring/PKGBUILD create mode 100644 test/fixtures/archlinuxarm-keyring/PKGBUILD 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 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 < "${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" -- cgit v1.2.2