#!/bin/bash curdir=$(readlink -e $(dirname $0)) . "${curdir}/lib/common.inc" # # self test # testPackages() { local p for p in "${pkgdir}"/*; do pushd $p >/dev/null namcap *.pkg.tar.* || fail 'namcap failed' popd >/dev/null done } # # db-update # testAddSimplePackages() { local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do releasePackage extra ${pkgbase} ${arch} done done ../db-update extra for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do checkPackage extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} done done } testAddAnyPackages() { local pkgs=('pkg-any-a' 'pkg-any-b') local pkgbase for pkgbase in ${pkgs[@]}; do releasePackage extra ${pkgbase} any done ../db-update extra for pkgbase in ${pkgs[@]}; do checkAnyPackage extra ${pkgbase}-1-1-any.pkg.tar.xz done } testAddSplitPackages() { local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do releasePackage extra ${pkgbase} ${arch} done done ../db-update extra for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do for pkg in "${pkgdir}/${pkgbase}"/*-${arch}.pkg.tar.*; do checkPackage extra $(basename ${pkg}) ${arch} done done done } # # db-remove # testRemovePackages() { local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-split-a' 'pkg-split-b') local pkgbase for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do releasePackage extra ${pkgbase} ${arch} done done ../db-update extra for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do ../db-remove ${pkgbase} extra ${arch} done done for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do checkRemovedPackage extra ${pkgbase} ${arch} done done } testRemoveAnyPackages() { local pkgs=('pkg-any-a' 'pkg-any-b') local pkgbase for pkgbase in ${pkgs[@]}; do releasePackage extra ${pkgbase} any done ../db-update extra for pkgbase in ${pkgs[@]}; do ../db-remove ${pkgbase} extra any done for pkgbase in ${pkgs[@]}; do checkRemovedAnyPackage extra ${pkgbase} done } # # db-move # testMoveSimplePackages() { local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do releasePackage testing ${pkgbase} ${arch} done done ../db-update testing for arch in ${arches[@]}; do ../db-move-draft pkg-simple-a testing extra ${arch} done for arch in ${arches[@]}; do checkPackage extra pkg-simple-a-1-1-${arch}.pkg.tar.xz ${arch} checkRemovedPackage testing pkg-simple-a-1-1-${arch}.pkg.tar.xz ${arch} checkPackage testing pkg-simple-b-1-1-${arch}.pkg.tar.xz ${arch} done } testMoveAnyPackages() { local pkgs=('pkg-any-a' 'pkg-any-b') local pkgbase for pkgbase in ${pkgs[@]}; do releasePackage testing ${pkgbase} any done ../db-update testing ../db-move-draft pkg-any-a testing extra any 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 } testMoveSplitPackages() { local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase for pkgbase in ${pkgs[@]}; do for arch in ${arches[@]}; do releasePackage testing ${pkgbase} ${arch} done done ../db-update testing for arch in ${arches[@]}; do ../db-move-draft pkg-split-a testing extra ${arch} done for arch in ${arches[@]}; do for pkg in "${pkgdir}/pkg-split-a"/*-${arch}.pkg.tar.*; do checkPackage extra $(basename ${pkg}) ${arch} done done for arch in ${arches[@]}; do for pkg in "${pkgdir}/pkg-split-b"/*-${arch}.pkg.tar.*; do checkPackage testing $(basename ${pkg}) ${arch} done done checkRemovedAnyPackage testing pkg-split-a } . "${curdir}/lib/shunit2"