From 7850874b1ef1b18de585be108e3be899d95a3a2a Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 12:07:09 -0400 Subject: Fix quoting around variables, especially arrays. Other than pure quoting, this involved: - swapping */@ for array access in a few places - fiddling with printf in a pipeline - replacing `$(echo ${array[@]})` with `${array[*]}` - replacing `echo $(...)` with `...` When searching for these things, I used the command: grep -Prn --exclude-dir=.git '(?/dev/null - pkgname=($(. PKGBUILD; echo ${pkgname[@]})) - pkgarch=($(. PKGBUILD; echo ${arch[@]})) - pkgversion=$(. PKGBUILD; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) + pushd "$d" >/dev/null + pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) + pkgarch=($(. PKGBUILD; echo "${arch[@]}")) + pkgversion=$(. PKGBUILD; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") build=true - for a in ${pkgarch[@]}; do - for p in ${pkgname[@]}; do - [ ! -f ${p}-${pkgversion}-${a}${PKGEXT} ] && build=false + for a in "${pkgarch[@]}"; do + for p in "${pkgname[@]}"; do + [ ! -f "${p}-${pkgversion}-${a}"${PKGEXT} ] && build=false done done - if ! ${build}; then + if ! "${build}"; then if [ "${pkgarch[0]}" == 'any' ]; then sudo extra-x86_64-build || die 'extra-x86_64-build failed' else - for a in ${pkgarch[@]}; do - sudo extra-${a}-build || die "extra-${a}-build failed" + for a in "${pkgarch[@]}"; do + sudo "extra-${a}-build" || die "extra-${a}-build failed" done fi - for a in ${pkgarch[@]}; do - for p in ${pkgname[@]}; do - cp ${p}-${pkgversion}-${a}${PKGEXT} $(dirname ${BASH_SOURCE[0]})/../packages/${d##*/} + for a in "${pkgarch[@]}"; do + for p in "${pkgname[@]}"; do + cp "${p}-${pkgversion}-${a}"${PKGEXT} "$(dirname "${BASH_SOURCE[0]}")/../packages/${d##*/}" done done fi @@ -72,17 +72,17 @@ setUp() { local r local a - [ -f "$(dirname ${BASH_SOURCE[0]})/../../config.local" ] && die "$(dirname ${BASH_SOURCE[0]})/../../config.local exists" - TMP="$(mktemp -d /tmp/${0##*/}.XXXXXXXXXX)" + [ -f "$(dirname "${BASH_SOURCE[0]}")/../../config.local" ] && die "$(dirname "${BASH_SOURCE[0]}")/../../config.local exists" + TMP="$(mktemp -d "/tmp/${0##*/}.XXXXXXXXXX")" #msg "Using ${TMP}" PKGREPOS=('core' 'extra' 'testing') PKGPOOL='pool/packages' mkdir -p "${TMP}/"{ftp,tmp,staging,{package,source}-cleanup,svn-packages-{copy,repo}} - for r in ${PKGREPOS[@]}; do + for r in "${PKGREPOS[@]}"; do mkdir -p "${TMP}/staging/${r}" - for a in ${ARCHES[@]}; do + for a in "${ARCHES[@]}"; do mkdir -p "${TMP}/ftp/${r}/os/${a}" done done @@ -96,15 +96,15 @@ setUp() { for p in "${pkgdir}"/*; do pkg=${p##*/} mkdir -p "${TMP}/svn-packages-copy/${pkg}"/{trunk,repos} - cp "${p}"/* "${TMP}/svn-packages-copy"/${pkg}/trunk/ - arch_svn add -q "${TMP}/svn-packages-copy"/${pkg} + cp "${p}"/* "${TMP}/svn-packages-copy/${pkg}/trunk/" + arch_svn add -q "${TMP}/svn-packages-copy/${pkg}" arch_svn commit -q -m"initial commit of ${pkg}" "${TMP}/svn-packages-copy" done - cat < "$(dirname ${BASH_SOURCE[0]})/../../config.local" + cat < "$(dirname "${BASH_SOURCE[0]}")/../../config.local" FTP_BASE="${TMP}/ftp" SVNREPO="file://${TMP}/svn-packages-repo" - PKGREPOS=(${PKGREPOS[@]}) + PKGREPOS=("${PKGREPOS[@]}") PKGPOOL="${PKGPOOL}" TESTING_REPO='testing' STABLE_REPOS=('core' 'extra') @@ -116,12 +116,12 @@ setUp() { SOURCE_CLEANUP_DRYRUN=false REQUIRE_SIGNATURE=true eot - . "$(dirname ${BASH_SOURCE[0]})/../../config" + . "$(dirname "${BASH_SOURCE[0]}")/../../config" } tearDown() { rm -rf "${TMP}" - rm -f "$(dirname ${BASH_SOURCE[0]})/../../config.local" + rm -f "$(dirname "${BASH_SOURCE[0]}")/../../config.local" echo } @@ -134,17 +134,17 @@ releasePackage() { local pkgver local pkgname - pushd "${TMP}/svn-packages-copy"/${pkgbase}/trunk/ >/dev/null - archrelease ${repo}-${arch} >/dev/null 2>&1 - pkgver=$(. PKGBUILD; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) - pkgname=($(. PKGBUILD; echo ${pkgname[@]})) + pushd "${TMP}/svn-packages-copy/${pkgbase}/trunk/" >/dev/null + archrelease "${repo}-${arch}" >/dev/null 2>&1 + pkgver=$(. PKGBUILD; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") + pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) popd >/dev/null - cp "${pkgdir}/${pkgbase}"/*-${pkgver}-${arch}${PKGEXT} "${STAGING}"/${repo}/ + cp "${pkgdir}/${pkgbase}"/*-"${pkgver}-${arch}"${PKGEXT} "${STAGING}/${repo}/" - if ${REQUIRE_SIGNATURE}; then - for a in ${arch[@]}; do - for p in ${pkgname[@]}; do - signpkg "${STAGING}"/${repo}/${p}-${pkgver}-${a}${PKGEXT} + if "${REQUIRE_SIGNATURE}"; then + for a in "${arch[@]}"; do + for p in "${pkgname[@]}"; do + signpkg "${STAGING}/${repo}/${p}-${pkgver}-${a}"${PKGEXT} done done fi @@ -157,7 +157,7 @@ checkAnyPackageDB() { local db [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ] || fail "${PKGPOOL}/${pkg} not found" - if ${REQUIRE_SIGNATURE}; then + if "${REQUIRE_SIGNATURE}"; then [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] || fail "${PKGPOOL}/${pkg}.sig not found" fi @@ -166,27 +166,27 @@ checkAnyPackageDB() { [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "${FTP_BASE}/${PKGPOOL}/${pkg}" ] \ || fail "${repo}/os/${arch}/${pkg} does not link to ${PKGPOOL}/${pkg}" - if ${REQUIRE_SIGNATURE}; then + if "${REQUIRE_SIGNATURE}"; then [ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig" ] || fail "${repo}/os/${arch}/${pkg}.sig is not a symlink" [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig")" == "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] \ || fail "${repo}/os/${arch}/${pkg}.sig does not link to ${PKGPOOL}/${pkg}.sig" fi - for db in ${DBEXT} ${FILESEXT}; do + 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 -q ${pkg}) \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkg}") \ || fail "${pkg} not in ${repo}/os/${arch}/${repo}${db%.tar.*}" done done - [ -r "${STAGING}"/${repo}/${pkg} ] && fail "${repo}/${pkg} found in staging dir" - [ -r "${STAGING}"/${repo}/${pkg}.sig ] && fail "${repo}/${pkg}.sig found in staging dir" + [ -r "${STAGING}/${repo}/${pkg}" ] && fail "${repo}/${pkg} found in staging dir" + [ -r "${STAGING}/${repo}/${pkg}".sig ] && fail "${repo}/${pkg}.sig found in staging dir" } checkAnyPackage() { local repo=$1 local pkg=$2 - checkAnyPackageDB $repo $pkg + checkAnyPackageDB "$repo" "$pkg" local pkgbase=$(getpkgbase "${FTP_BASE}/${PKGPOOL}/${pkg}") arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" @@ -202,23 +202,23 @@ checkPackageDB() { [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ] || fail "${PKGPOOL}/${pkg} not found" [ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ] || fail "${repo}/os/${arch}/${pkg} not a symlink" - [ -r "${STAGING}"/${repo}/${pkg} ] && fail "${repo}/${pkg} found in staging dir" + [ -r "${STAGING}/${repo}/${pkg}" ] && fail "${repo}/${pkg} found in staging dir" [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "${FTP_BASE}/${PKGPOOL}/${pkg}" ] \ || fail "${repo}/os/${arch}/${pkg} does not link to ${PKGPOOL}/${pkg}" - if ${REQUIRE_SIGNATURE}; then + if "${REQUIRE_SIGNATURE}"; then [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] || fail "${PKGPOOL}/${pkg}.sig not found" [ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig" ] || fail "${repo}/os/${arch}/${pkg}.sig is not a symlink" - [ -r "${STAGING}"/${repo}/${pkg}.sig ] && fail "${repo}/${pkg}.sig found in staging dir" + [ -r "${STAGING}/${repo}/${pkg}.sig" ] && fail "${repo}/${pkg}.sig found in staging dir" [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig")" == "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] \ || fail "${repo}/os/${arch}/${pkg}.sig does not link to ${PKGPOOL}/${pkg}.sig" fi - for db in ${DBEXT} ${FILESEXT}; do + 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 -q ${pkg}) \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkg}") \ || fail "${pkg} not in ${repo}/os/${arch}/${repo}${db%.tar.*}" done } @@ -228,7 +228,7 @@ checkPackage() { local pkg=$2 local arch=$3 - checkPackageDB $repo $pkg $arch + checkPackageDB "$repo" "$pkg" "$arch" local pkgbase=$(getpkgbase "${FTP_BASE}/${PKGPOOL}/${pkg}") arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" @@ -242,9 +242,9 @@ checkRemovedPackageDB() { local arch=$3 local db - for db in ${DBEXT} ${FILESEXT}; do + 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 -q ${pkgbase}) \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkgbase}") \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" done } @@ -254,7 +254,7 @@ checkRemovedPackage() { local pkgbase=$2 local arch=$3 - checkRemovedPackageDB $repo $pkgbase $arch + checkRemovedPackageDB "$repo" "$pkgbase" "$arch" arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ] \ @@ -267,10 +267,10 @@ checkRemovedAnyPackageDB() { local arch local db - for db in ${DBEXT} ${FILESEXT}; do + for db in "${DBEXT}" "${FILESEXT}"; do for arch in i686 x86_64; do ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ - && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q ${pkgbase}) \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkgbase}") \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" done done @@ -280,7 +280,7 @@ checkRemovedAnyPackage() { local repo=$1 local pkgbase=$2 - checkRemovedAnyPackageDB $repo $pkgbase + checkRemovedAnyPackageDB "$repo" "$pkgbase" arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-any" ] \ -- cgit v1.2.3-54-g00ecf From 6c36c3fac724435328d1ba3df47b435087ef9795 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 17 May 2015 18:00:00 -0400 Subject: test/: make TMPDIR configurable via config.testing Because common.inc is included in nested calls, to prevent later calls from overriding earlier calls, we export MASTER_TMPDIR to signal the top-level value. Calls to mktemp have also bee adjusted to obey TMPDIR. --- config.testing | 5 +++++ test/lib/common.inc | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 config.testing (limited to 'test/lib') diff --git a/config.testing b/config.testing new file mode 100644 index 0000000..a7ec4d1 --- /dev/null +++ b/config.testing @@ -0,0 +1,5 @@ +#!/hint/bash + +# override the default TMPDIR +[[ -n $MASTER_TMPDIR ]] || export MASTER_TMPDIR="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" +TMPDIR=$MASTER_TMPDIR diff --git a/test/lib/common.inc b/test/lib/common.inc index bb3db5b..9a7e4d9 100644 --- a/test/lib/common.inc +++ b/test/lib/common.inc @@ -1,8 +1,7 @@ set -E . "$(dirname "${BASH_SOURCE[0]}")/../../config" -# override the default TMPDIR -TMPDIR="$(mktemp -d "/tmp/${0##*/}.XXXXXXXXXX")" +. "$(dirname "${BASH_SOURCE[0]}")/../../config.testing" . "$(dirname "${BASH_SOURCE[0]}")/../../db-functions" signpkg() { @@ -28,7 +27,7 @@ oneTimeSetUp() { local pkgarch local pkgversion local build - pkgdir="$(mktemp -d "/tmp/${0##*/}.XXXXXXXXXX")" + pkgdir="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" cp -Lr "$(dirname "${BASH_SOURCE[0]}")"/../packages/* "${pkgdir}" msg 'Building packages...' for d in "${pkgdir}"/*; do @@ -73,7 +72,7 @@ setUp() { local a [ -f "$(dirname "${BASH_SOURCE[0]}")/../../config.local" ] && die "$(dirname "${BASH_SOURCE[0]}")/../../config.local exists" - TMP="$(mktemp -d "/tmp/${0##*/}.XXXXXXXXXX")" + TMP="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" #msg "Using ${TMP}" PKGREPOS=('core' 'extra' 'testing') -- cgit v1.2.3-54-g00ecf From db673811e674dc246fefa432d205f67ef3c56dbc Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 17 May 2015 18:02:50 -0400 Subject: test/: Make which architectures to build for configurable. --- config.testing | 5 +++++ test/lib/common.inc | 16 ++++++++++------ test/test.d/create-filelists.sh | 20 ++++++++------------ test/test.d/db-move.sh | 22 +++++++++------------- test/test.d/db-remove.sh | 14 ++++++-------- test/test.d/db-repo-add.sh | 10 ++++------ test/test.d/db-repo-remove.sh | 14 ++++++-------- test/test.d/db-update.sh | 15 ++++++--------- test/test.d/ftpdir-cleanup.sh | 21 +++++++++------------ test/test.d/sourceballs.sh | 11 ++++------- 10 files changed, 67 insertions(+), 81 deletions(-) (limited to 'test/lib') diff --git a/config.testing b/config.testing index a7ec4d1..24c2283 100644 --- a/config.testing +++ b/config.testing @@ -1,5 +1,10 @@ #!/hint/bash +# The host architecture +ARCH_HOST=$(uname -m) +# Which architectures should we test building for? +ARCH_BUILD=("$ARCH_HOST"); if [[ $ARCH_HOST == x86_64 ]]; then ARCH_BUILD+=("i686"); fi + # override the default TMPDIR [[ -n $MASTER_TMPDIR ]] || export MASTER_TMPDIR="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" TMPDIR=$MASTER_TMPDIR diff --git a/test/lib/common.inc b/test/lib/common.inc index 9a7e4d9..5b06616 100644 --- a/test/lib/common.inc +++ b/test/lib/common.inc @@ -48,13 +48,17 @@ oneTimeSetUp() { sudo extra-x86_64-build || die 'extra-x86_64-build failed' else for a in "${pkgarch[@]}"; do - sudo "extra-${a}-build" || die "extra-${a}-build failed" + if in_array "$a" "${ARCH_BUILD[@]}"; then + sudo "extra-${a}-build" || die "extra-${a}-build failed" + fi done fi for a in "${pkgarch[@]}"; do - for p in "${pkgname[@]}"; do - cp "${p}-${pkgversion}-${a}"${PKGEXT} "$(dirname "${BASH_SOURCE[0]}")/../packages/${d##*/}" - done + if in_array "$a" "${ARCH_BUILD[@]}"; then + for p in "${pkgname[@]}"; do + cp "${p}-${pkgversion}-${a}"${PKGEXT} "$(dirname "${BASH_SOURCE[0]}")/../packages/${d##*/}" + done + fi done fi popd >/dev/null @@ -160,7 +164,7 @@ checkAnyPackageDB() { [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] || fail "${PKGPOOL}/${pkg}.sig not found" fi - for arch in i686 x86_64; do + for arch in "${ARCH_BUILD[@]}"; do [ -L "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ] || fail "${repo}/os/${arch}/${pkg} is not a symlink" [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "${FTP_BASE}/${PKGPOOL}/${pkg}" ] \ || fail "${repo}/os/${arch}/${pkg} does not link to ${PKGPOOL}/${pkg}" @@ -267,7 +271,7 @@ checkRemovedAnyPackageDB() { local db for db in "${DBEXT}" "${FILESEXT}"; do - for arch in i686 x86_64; do + for arch in "${ARCH_BUILD[@]}"; do ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkgbase}") \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" diff --git a/test/test.d/create-filelists.sh b/test/test.d/create-filelists.sh index e3a30d1..e16a8d1 100755 --- a/test/test.d/create-filelists.sh +++ b/test/test.d/create-filelists.sh @@ -4,20 +4,19 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testCreateSimpleFileLists() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/${pkgbase}"; then fail "usr/bin/${pkgbase} not found in ${arch}/extra${FILESEXT}" fi @@ -26,7 +25,6 @@ testCreateSimpleFileLists() { } testCreateAnyFileLists() { - local arches=('i686' 'x86_64') local pkgs=('pkg-any-a' 'pkg-any-b') local pkgbase local arch @@ -37,7 +35,7 @@ testCreateAnyFileLists() { ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/share/${pkgbase}/test"; then fail "usr/share/${pkgbase}/test not found in ${arch}/extra${FILESEXT}" fi @@ -46,7 +44,6 @@ testCreateAnyFileLists() { } testCreateSplitFileLists() { - local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase @@ -55,7 +52,7 @@ testCreateSplitFileLists() { local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -64,7 +61,7 @@ testCreateSplitFileLists() { for pkgbase in "${pkgs[@]}"; do pkgnames=($(source "${TMP}/svn-packages-copy/${pkgbase}/trunk/PKGBUILD"; echo ${pkgname[@]})) for pkgname in "${pkgnames[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/${pkgname}"; then fail "usr/bin/${pkgname} not found in ${arch}/extra${FILESEXT}" fi @@ -75,23 +72,22 @@ testCreateSplitFileLists() { testCleanupFileLists() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" pkg-simple-a done - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/pkg-simple-b"; then fail "usr/bin/pkg-simple-b not found in ${arch}/extra${FILESEXT}" fi diff --git a/test/test.d/db-move.sh b/test/test.d/db-move.sh index e3207b6..410e222 100755 --- a/test/test.d/db-move.sh +++ b/test/test.d/db-move.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testMoveSimplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage testing "${pkgbase}" "${arch}" done done @@ -19,7 +18,7 @@ testMoveSimplePackages() { ../db-move testing extra pkg-simple-a - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; 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}" @@ -28,13 +27,12 @@ testMoveSimplePackages() { } testMoveMultiplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage testing "${pkgbase}" "${arch}" done done @@ -44,7 +42,7 @@ testMoveMultiplePackages() { ../db-move testing extra pkg-simple-a pkg-simple-b for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkPackage extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}" checkRemovedPackage testing "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}" done @@ -52,13 +50,12 @@ testMoveMultiplePackages() { } testMoveEpochPackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage testing "${pkgbase}" "${arch}" done done @@ -67,7 +64,7 @@ testMoveEpochPackages() { ../db-move testing extra pkg-simple-epoch - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkPackage extra "pkg-simple-epoch-1:1-1-${arch}.pkg.tar.xz" "${arch}" checkRemovedPackage testing "pkg-simple-epoch-1:1-1-${arch}.pkg.tar.xz" "${arch}" done @@ -90,14 +87,13 @@ testMoveAnyPackages() { } testMoveSplitPackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage testing "${pkgbase}" "${arch}" done done @@ -105,12 +101,12 @@ testMoveSplitPackages() { ../db-update ../db-move testing extra pkg-split-a - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do for pkg in "${pkgdir}/pkg-split-a"/*-"${arch}"${PKGEXT}; do checkPackage extra "${pkg##*/}" "${arch}" done done - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do for pkg in "${pkgdir}/pkg-split-b"/*-"${arch}"${PKGEXT}; do checkPackage testing "${pkg##*/}" "${arch}" done diff --git a/test/test.d/db-remove.sh b/test/test.d/db-remove.sh index fca480c..4fd5548 100755 --- a/test/test.d/db-remove.sh +++ b/test/test.d/db-remove.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testRemovePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-split-a' 'pkg-split-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -18,38 +17,37 @@ testRemovePackages() { ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" "${pkgbase}" done done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkRemovedPackage extra "${pkgbase}" "${arch}" done done } testRemoveMultiplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-split-a' 'pkg-split-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" "${pkgs[@]}" done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkRemovedPackage extra "${pkgbase}" "${arch}" done done diff --git a/test/test.d/db-repo-add.sh b/test/test.d/db-repo-add.sh index 3d83007..776c0a2 100755 --- a/test/test.d/db-repo-add.sh +++ b/test/test.d/db-repo-add.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testAddSimplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do cp "${pkgdir}/${pkgbase}/${pkgbase}-1-1-${arch}.pkg.tar.xz" "${FTP_BASE}/${PKGPOOL}/" touch "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz.sig" ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz" "${FTP_BASE}/extra/os/${arch}/" @@ -20,19 +19,18 @@ testAddSimplePackages() { done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkPackageDB extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}" done done } testAddMultiplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do add_pkgs=() for pkgbase in "${pkgs[@]}"; do cp "${pkgdir}/${pkgbase}/${pkgbase}-1-1-${arch}.pkg.tar.xz" "${FTP_BASE}/${PKGPOOL}/" @@ -45,7 +43,7 @@ testAddMultiplePackages() { done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkPackageDB extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}" done done diff --git a/test/test.d/db-repo-remove.sh b/test/test.d/db-repo-remove.sh index ce13280..fd69fa7 100755 --- a/test/test.d/db-repo-remove.sh +++ b/test/test.d/db-repo-remove.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testRemovePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -18,38 +17,37 @@ testRemovePackages() { ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-repo-remove extra "${arch}" "${pkgbase}" done done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkRemovedPackageDB extra "${pkgbase}" "${arch}" done done } testRemoveMultiplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-repo-remove extra "${arch}" "${pkgs[@]}" done for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkRemovedPackageDB extra "${pkgbase}" "${arch}" done done diff --git a/test/test.d/db-update.sh b/test/test.d/db-update.sh index c83d51b..48c243d 100755 --- a/test/test.d/db-update.sh +++ b/test/test.d/db-update.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testAddSimplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -18,7 +17,7 @@ testAddSimplePackages() { ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do checkPackage extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}" done done @@ -52,14 +51,13 @@ testAddAnyPackages() { } testAddSplitPackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -67,7 +65,7 @@ testAddSplitPackages() { ../db-update for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do for pkg in "${pkgdir}/${pkgbase}"/*-"${arch}"${PKGEXT}; do checkPackage extra "${pkg##*/}" "${arch}" done @@ -141,12 +139,11 @@ testUpdateSameAnyPackageToDifferentRepositories() { testAddIncompleteSplitPackage() { - local arches=('i686' 'x86_64') local repo='extra' local pkgbase='pkg-split-a' local arch - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage "${repo}" "${pkgbase}" "${arch}" done @@ -155,7 +152,7 @@ testAddIncompleteSplitPackage() { ../db-update >/dev/null 2>&1 && fail "db-update should fail when a split package is missing!" - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" ] \ && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" -O | grep -q "${pkgbase}") \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" diff --git a/test/test.d/ftpdir-cleanup.sh b/test/test.d/ftpdir-cleanup.sh index 1b075da..6902b9b 100755 --- a/test/test.d/ftpdir-cleanup.sh +++ b/test/test.d/ftpdir-cleanup.sh @@ -4,26 +4,25 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testCleanupSimplePackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" pkg-simple-a done ../cron-jobs/ftpdir-cleanup >/dev/null - for arch in "${arches[@]}"; do + 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}" ] && fail "${PKGPOOL}/${pkg1} found" @@ -35,26 +34,25 @@ testCleanupSimplePackages() { } testCleanupEpochPackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" pkg-simple-epoch done ../cron-jobs/ftpdir-cleanup >/dev/null - for arch in "${arches[@]}"; do + 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}" ] && fail "${PKGPOOL}/${pkg1} found" @@ -85,27 +83,26 @@ testCleanupAnyPackages() { } testCleanupSplitPackages() { - local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" "${pkgs[0]}" done ../cron-jobs/ftpdir-cleanup >/dev/null - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do for pkg in "${pkgdir}/${pkgs[0]}"/*-"${arch}"${PKGEXT}; do checkRemovedPackage extra "${pkgs[0]}" "${arch}" [ -f "${FTP_BASE}/${PKGPOOL}/${pkg}" ] && fail "${PKGPOOL}/${pkg} found" diff --git a/test/test.d/sourceballs.sh b/test/test.d/sourceballs.sh index 1097ae0..561169e 100755 --- a/test/test.d/sourceballs.sh +++ b/test/test.d/sourceballs.sh @@ -4,13 +4,12 @@ curdir=$(readlink -e "$(dirname "$0")") . "${curdir}/../lib/common.inc" testSourceballs() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-simple-epoch') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -38,14 +37,13 @@ testAnySourceballs() { } testSplitSourceballs() { - local arches=('i686' 'x86_64') local pkgs=('pkg-split-a' 'pkg-split-b') local pkg local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done @@ -59,20 +57,19 @@ testSplitSourceballs() { } testSourceballsCleanup() { - local arches=('i686' 'x86_64') local pkgs=('pkg-simple-a' 'pkg-simple-b') local pkgbase local arch for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do releasePackage extra "${pkgbase}" "${arch}" done done ../db-update ../cron-jobs/sourceballs - for arch in "${arches[@]}"; do + for arch in "${ARCH_BUILD[@]}"; do ../db-remove extra "${arch}" pkg-simple-a done -- cgit v1.2.3-54-g00ecf From 8700e09c4d2ff0a20d5fa3789a6309078bc1ccb6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 17 Apr 2016 12:18:02 -0400 Subject: Use `grep &>/dev/null` instead of `grep -q` when operating on piped stdin. `grep -q` may exit as soon as it finds a match; this is a good optimization for when the input is a file. However, if the input is the output of another program, then that other program will receive SIGPIPE, and further writes will fail. When this happens, it might (bsdtar does) print a message about a "write error" to stderr. Which is going to confuse and alarm the user. I'll add that this is not purely hypothetical--it has happened to me while running the test suite. --- db-functions | 2 +- test/lib/common.inc | 8 ++++---- test/test.d/create-filelists.sh | 10 +++++----- test/test.d/db-update.sh | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) (limited to 'test/lib') diff --git a/db-functions b/db-functions index 5fe86b6..4eebf4a 100644 --- a/db-functions +++ b/db-functions @@ -364,7 +364,7 @@ check_pkgfile() { in_array "${pkgarch}" "${ARCHES[@]}" 'any' || return 1 - if echo "${pkgfile##*/}" | grep -q "${pkgname}-${pkgver}-${pkgarch}"; then + if echo "${pkgfile##*/}" | grep "${pkgname}-${pkgver}-${pkgarch}" &>/dev/null; then return 0 else return 1 diff --git a/test/lib/common.inc b/test/lib/common.inc index 5b06616..83c54bd 100644 --- a/test/lib/common.inc +++ b/test/lib/common.inc @@ -177,7 +177,7 @@ checkAnyPackageDB() { 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 -q "${pkg}") \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null) \ || fail "${pkg} not in ${repo}/os/${arch}/${repo}${db%.tar.*}" done done @@ -221,7 +221,7 @@ checkPackageDB() { 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 -q "${pkg}") \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null) \ || fail "${pkg} not in ${repo}/os/${arch}/${repo}${db%.tar.*}" done } @@ -247,7 +247,7 @@ checkRemovedPackageDB() { 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 -q "${pkgbase}") \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null) \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" done } @@ -273,7 +273,7 @@ checkRemovedAnyPackageDB() { for db in "${DBEXT}" "${FILESEXT}"; do for arch in "${ARCH_BUILD[@]}"; do ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ - && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep -q "${pkgbase}") \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null) \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" done done diff --git a/test/test.d/create-filelists.sh b/test/test.d/create-filelists.sh index e16a8d1..be66fc2 100755 --- a/test/test.d/create-filelists.sh +++ b/test/test.d/create-filelists.sh @@ -17,7 +17,7 @@ testCreateSimpleFileLists() { for pkgbase in "${pkgs[@]}"; do for arch in "${ARCH_BUILD[@]}"; do - if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/${pkgbase}"; then + if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep "usr/bin/${pkgbase}" &>/dev/null; then fail "usr/bin/${pkgbase} not found in ${arch}/extra${FILESEXT}" fi done @@ -36,7 +36,7 @@ testCreateAnyFileLists() { for pkgbase in "${pkgs[@]}"; do for arch in "${ARCH_BUILD[@]}"; do - if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/share/${pkgbase}/test"; then + if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep "usr/share/${pkgbase}/test" &>/dev/null; then fail "usr/share/${pkgbase}/test not found in ${arch}/extra${FILESEXT}" fi done @@ -62,7 +62,7 @@ testCreateSplitFileLists() { pkgnames=($(source "${TMP}/svn-packages-copy/${pkgbase}/trunk/PKGBUILD"; echo ${pkgname[@]})) for pkgname in "${pkgnames[@]}"; do for arch in "${ARCH_BUILD[@]}"; do - if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/${pkgname}"; then + if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep "usr/bin/${pkgname}" &>/dev/null; then fail "usr/bin/${pkgname} not found in ${arch}/extra${FILESEXT}" fi done @@ -88,10 +88,10 @@ testCleanupFileLists() { done for arch in "${ARCH_BUILD[@]}"; do - if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/pkg-simple-b"; then + if ! bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep "usr/bin/pkg-simple-b" &>/dev/null; then fail "usr/bin/pkg-simple-b not found in ${arch}/extra${FILESEXT}" fi - if bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep -q "usr/bin/pkg-simple-a"; then + if bsdtar -xOf "${FTP_BASE}/extra/os/${arch}/extra${FILESEXT}" | grep "usr/bin/pkg-simple-a" &>/dev/null; then fail "usr/bin/pkg-simple-a still found in ${arch}/extra${FILESEXT}" fi done diff --git a/test/test.d/db-update.sh b/test/test.d/db-update.sh index 48c243d..9e44970 100755 --- a/test/test.d/db-update.sh +++ b/test/test.d/db-update.sh @@ -132,7 +132,7 @@ testUpdateSameAnyPackageToDifferentRepositories() { local arch for arch in i686 x86_64; do ( [ -r "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" ] \ - && bsdtar -xf "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" -O | grep -q "${pkgbase}") \ + && bsdtar -xf "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" -O | grep "${pkgbase}" &>/dev/null) \ && fail "${pkgbase} should not be in testing/os/${arch}/testing${DBEXT%.tar.*}" done } @@ -154,7 +154,7 @@ testAddIncompleteSplitPackage() { for arch in "${ARCH_BUILD[@]}"; do ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" ] \ - && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" -O | grep -q "${pkgbase}") \ + && bsdtar -xf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" -O | grep "${pkgbase}" &>/dev/null) \ && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" done } -- cgit v1.2.3-54-g00ecf From a2891a08c0cde48d966b037503c24b0d8f5b5f6d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 17 Apr 2016 02:07:26 -0400 Subject: Add "#!/hint/bash" to the beginning of several files. It is a method of notifying text-editors that a file is in Bash syntax without giving it a propper shebang (which would be confusing, as it would suggest that the file should be executable), as well as working across virtually all text-editors (unlike "-*- Mode: Bash -*-" or whatever). --- config | 2 ++ config.local.svn-community | 2 ++ config.local.svn-packages | 2 ++ db-functions | 2 +- test/lib/common.inc | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) (limited to 'test/lib') diff --git a/config b/config index b781555..cdb552c 100644 --- a/config +++ b/config @@ -1,3 +1,5 @@ +#!/hint/bash + FTP_BASE="/srv/ftp" SVNREPO='' SVNUSER='' diff --git a/config.local.svn-community b/config.local.svn-community index 105ea66..5d61b5e 100644 --- a/config.local.svn-community +++ b/config.local.svn-community @@ -1,3 +1,5 @@ +#!/hint/bash + PKGREPOS=('community' 'community-testing' 'community-staging' 'multilib' 'multilib-testing' 'multilib-staging') PKGPOOL='pool/community' SRCPOOL='sources/community' diff --git a/config.local.svn-packages b/config.local.svn-packages index 958a483..34aab35 100644 --- a/config.local.svn-packages +++ b/config.local.svn-packages @@ -1,3 +1,5 @@ +#!/hint/bash + PKGREPOS=('core' 'extra' 'testing' 'staging' 'kde-unstable' 'gnome-unstable') PKGPOOL='pool/packages' SRCPOOL='sources/packages' diff --git a/db-functions b/db-functions index 4eebf4a..aebfb34 100644 --- a/db-functions +++ b/db-functions @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash # Some PKGBUILDs need CARCH to be set CARCH="x86_64" diff --git a/test/lib/common.inc b/test/lib/common.inc index 83c54bd..954868b 100644 --- a/test/lib/common.inc +++ b/test/lib/common.inc @@ -1,3 +1,4 @@ +#!/hint/bash set -E . "$(dirname "${BASH_SOURCE[0]}")/../../config" -- cgit v1.2.3-54-g00ecf From 9705ba8a148d03dfd4c2184f3a1f13ee373eb826 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 17 Apr 2016 12:08:55 -0400 Subject: Use the librelib version of get_full_version --- db-functions | 19 +++---------------- db-move | 4 ++-- test/lib/common.inc | 4 ++-- 3 files changed, 7 insertions(+), 20 deletions(-) (limited to 'test/lib') diff --git a/db-functions b/db-functions index 5a304e6..217e62f 100644 --- a/db-functions +++ b/db-functions @@ -34,27 +34,14 @@ fi LOCKS=() REPO_MODIFIED=0 -# Used: plain, msg, msg2, warning, error, in_array, abort, die -# Overwritten: get_full_version, cleanup +# Used: plain, msg, msg2, warning, error, in_array, get_full_version, abort, die +# Overwritten: cleanup # Ignored: stat_busy, stat_done, # setup_workdir, trap_abort, trap_exit, # lock, slock, lock_close # pkgver_equal, find_cached_package, check_root . "$(librelib common)" -## -# usage : get_full_version( $epoch, $pkgver, $pkgrel ) -# return : full version spec, including epoch (if necessary), pkgver, pkgrel -## -get_full_version() { - if [[ $1 -eq 0 ]]; then - # zero epoch case, don't include it in version - echo "$2-$3" - else - echo "$1:$2-$3" - fi -} - script_lock() { local LOCKDIR="$TMPDIR/.scriptlock.${0##*/}" if ! mkdir "$LOCKDIR" >/dev/null 2>&1 ; then @@ -338,7 +325,7 @@ check_pkgsvn() { [ $? -ge 1 ] && return 1 fi - local svnver="$(. "${WORKDIR}/pkgbuilds/${repo}-${_pkgarch}/${_pkgbase}"; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}")" + local svnver="$(. "${WORKDIR}/pkgbuilds/${repo}-${_pkgarch}/${_pkgbase}"; get_full_version)" [ "${svnver}" == "${_pkgver}" ] || return 1 local svnnames=($(. "${WORKDIR}/pkgbuilds/${repo}-${_pkgarch}/${_pkgbase}"; echo "${pkgname[@]}")) diff --git a/db-move b/db-move index a55dd50..55121be 100755 --- a/db-move +++ b/db-move @@ -36,7 +36,7 @@ for pkgbase in "${args[@]:2}"; do die "Could not read pkgname" fi - pkgver=$(. "${svnrepo_from}/PKGBUILD"; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") + pkgver=$(. "${svnrepo_from}/PKGBUILD"; get_full_version) if [ -z "${pkgver}" ]; then die "Could not read pkgver" fi @@ -76,7 +76,7 @@ for pkgbase in "${args[@]:2}"; do fi msg2 "%s (%s)" "${pkgbase}" "${tarches[*]}" pkgnames=($(. "${svnrepo_from}/PKGBUILD"; echo "${pkgname[@]}")) - pkgver=$(. "${svnrepo_from}/PKGBUILD"; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") + pkgver=$(. "${svnrepo_from}/PKGBUILD"; get_full_version) if [ -d "${svnrepo_to}" ]; then for file in $(arch_svn ls "${svnrepo_to}"); do diff --git a/test/lib/common.inc b/test/lib/common.inc index 954868b..bef8749 100644 --- a/test/lib/common.inc +++ b/test/lib/common.inc @@ -35,7 +35,7 @@ oneTimeSetUp() { pushd "$d" >/dev/null pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) pkgarch=($(. PKGBUILD; echo "${arch[@]}")) - pkgversion=$(. PKGBUILD; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") + pkgversion=$(. PKGBUILD; get_full_version) build=true for a in "${pkgarch[@]}"; do @@ -140,7 +140,7 @@ releasePackage() { pushd "${TMP}/svn-packages-copy/${pkgbase}/trunk/" >/dev/null archrelease "${repo}-${arch}" >/dev/null 2>&1 - pkgver=$(. PKGBUILD; get_full_version "${epoch:-0}" "${pkgver}" "${pkgrel}") + pkgver=$(. PKGBUILD; get_full_version) pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) popd >/dev/null cp "${pkgdir}/${pkgbase}"/*-"${pkgver}-${arch}"${PKGEXT} "${STAGING}/${repo}/" -- cgit v1.2.3-54-g00ecf