diff options
Diffstat (limited to 'extra/lukeshu-xbs/test')
40 files changed, 0 insertions, 2679 deletions
diff --git a/extra/lukeshu-xbs/test/__init__.py b/extra/lukeshu-xbs/test/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/extra/lukeshu-xbs/test/__init__.py +++ /dev/null diff --git a/extra/lukeshu-xbs/test/blacklist_sample b/extra/lukeshu-xbs/test/blacklist_sample deleted file mode 100644 index 2a02af6..0000000 --- a/extra/lukeshu-xbs/test/blacklist_sample +++ /dev/null @@ -1,2 +0,0 @@ -alex:alex-libre: Aquí va un comentario -gmime22 ::Non free dependencies
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/core.db.tar.gz b/extra/lukeshu-xbs/test/core.db.tar.gz Binary files differdeleted file mode 100644 index 5eb2081..0000000 --- a/extra/lukeshu-xbs/test/core.db.tar.gz +++ /dev/null diff --git a/extra/lukeshu-xbs/test/depends b/extra/lukeshu-xbs/test/depends deleted file mode 100644 index 7ff3ad4..0000000 --- a/extra/lukeshu-xbs/test/depends +++ /dev/null @@ -1,4 +0,0 @@ -%DEPENDS% -glibc>=2.13 -zlib - diff --git a/extra/lukeshu-xbs/test/desc b/extra/lukeshu-xbs/test/desc deleted file mode 100644 index abba644..0000000 --- a/extra/lukeshu-xbs/test/desc +++ /dev/null @@ -1,39 +0,0 @@ -%FILENAME% -binutils-2.21-4-x86_64.pkg.tar.xz - -%NAME% -binutils - -%VERSION% -2.21-4 - -%DESC% -A set of programs to assemble and manipulate binary and object files - -%GROUPS% -base - -%CSIZE% -3412892 - -%ISIZE% -17571840 - -%MD5SUM% -4e666f87c78998f4839f33dc06d2043a - -%URL% -http://www.gnu.org/software/binutils/ - -%LICENSE% -GPL - -%ARCH% -x86_64 - -%BUILDDATE% -1297240369 - -%PACKAGER% -Allan McRae <allan@archlinux.org> - diff --git a/extra/lukeshu-xbs/test/lib/common.inc b/extra/lukeshu-xbs/test/lib/common.inc deleted file mode 100644 index b9a2f9d..0000000 --- a/extra/lukeshu-xbs/test/lib/common.inc +++ /dev/null @@ -1,321 +0,0 @@ -set -E - -# override the default TMPDIR -init_tmpdir() { - [[ -n $MASTER_TMPDIR ]] || export MASTER_TMPDIR="$(mktemp -dqt ${0##*/}.XXXXXXXXXX)" - export TMPDIR=$MASTER_TMPDIR -} - -_TMPDIR=$TMPDIR -. "$(dirname ${BASH_SOURCE[0]})/../../config" -TMPDIR=$_TMPDIR -init_tmpdir - -. "$(dirname ${BASH_SOURCE[0]})/../../db-functions" - -arches() ( - . $(librelib conf.sh) - load_files libretools - printf '%s\n' "${ARCHES[*]}" -) - -arch_svn() { - /usr/bin/svn "$@" -} - -signpkg() { - if [[ -r '/etc/makepkg.conf' ]]; then - source '/etc/makepkg.conf' - else - die '/etc/makepkg.conf not found!' - fi - if [[ -r ~/.makepkg.conf ]]; then - . ~/.makepkg.conf - fi - if [[ -n $GPGKEY ]]; then - SIGNWITHKEY=(-u "${GPGKEY}") - fi - gpg --detach-sign --use-agent "${SIGNWITHKEY[@]}" "${@}" || die -} - -oneTimeSetUp() { - local p - local d - local a - local arches=($(arches)) - local pkgname - local pkgarch - local pkgversion - local build - pkgdir="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" - cp -Lr "$(dirname "${BASH_SOURCE[0]}")"/../packages/* "${pkgdir}" - msg 'Building packages...' - for d in "${pkgdir}"/*; do - pushd $d >/dev/null - pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) - pkgarch=($(. PKGBUILD; echo "${arch[@]}")) - pkgversion=$(. PKGBUILD; get_full_version) - - build=true - for a in "${pkgarch[@]}"; do - for p in "${pkgname[@]}"; do - [ ! -f "${p}-${pkgversion}-${a}"${PKGEXT} ] && build=false - done - done - - if ! "${build}"; then - if [ "${pkgarch[0]}" == 'any' ]; then - sudo libremakepkg || die 'libremakepkg failed' - else - for a in "${pkgarch[@]}"; do - if in_array "$a" "${arches[@]}"; then - sudo setarch "$a" libremakepkg -n "$a" || die "setarch ${a} libremakepkg -n ${a} failed" - for p in "${pkgname[@]}"; do - cp "${p}-${pkgversion}-${a}"${PKGEXT} "$(dirname "${BASH_SOURCE[0]})/../packages/${d##*/}")" - done - else - warning "skipping arch %s" "$a" - fi - done - fi - fi - popd >/dev/null - done -} - -oneTimeTearDown() { - rm -rf "${pkgdir}" -} - -setUp() { - local p - local pkg - local r - local a - - [ -f "$(dirname "${BASH_SOURCE[0]}")/../../config.local" ] && die "$(dirname "${BASH_SOURCE[0]}")/../../config.local exists" - init_tmpdir - TMP="$(mktemp -dt "${0##*/}.XXXXXXXXXX")" - #msg "Using ${TMP}" - - PKGREPOS=('core' 'extra' 'testing') - PKGPOOL='pool/packages' - SRCPOOL='pool/sources' - mkdir -p "${TMP}/"{ftp,tmp,staging,{package,source}-cleanup,svn-packages-{copy,repo}} - - for r in "${PKGREPOS[@]}"; do - mkdir -p "${TMP}/staging/${r}" - for a in "${ARCHES[@]}"; do - mkdir -p "${TMP}/ftp/${r}/os/${a}" - done - done - mkdir -p "${TMP}/ftp/${PKGPOOL}" - mkdir -p "${TMP}/ftp/${SRCPOOL}" - - msg 'Creating svn repository...' - svnadmin create "${TMP}/svn-packages-repo" - arch_svn checkout -q "file://${TMP}/svn-packages-repo" "${TMP}/svn-packages-copy" - - 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}" - arch_svn commit -q -m"initial commit of ${pkg}" "${TMP}/svn-packages-copy" - done - - mkdir -p "${TMP}/home/.config/libretools" - export XDG_CONFIG_HOME="${TMP}/home/.config" - printf '%s\n' \ - 'SVNURL=foo' \ - "SVNREPO=\"${TMP}/svn-packages-copy\"" \ - "ARCHES=($(arches))" \ - > "$XDG_CONFIG_HOME/libretools/xbs-abs.conf" - printf '%s\n' 'BUILDSYSTEM=abs' > "$XDG_CONFIG_HOME/xbs.conf" - - cat <<eot > "$(dirname "${BASH_SOURCE[0]}")/../../config.local" - FTP_BASE="${TMP}/ftp" - SVNREPO="${TMP}/svn-packages-copy" - PKGREPOS=("${PKGREPOS[@]}") - PKGPOOL="${PKGPOOL}" - SRCPOOL="${SRCPOOL}" - TESTING_REPO='testing' - STABLE_REPOS=('core' 'extra') - CLEANUP_DESTDIR="${TMP}/package-cleanup" - SOURCE_CLEANUP_DESTDIR="${TMP}/source-cleanup" - STAGING="${TMP}/staging" - TMPDIR="${TMP}/tmp" - CLEANUP_DRYRUN=false - SOURCE_CLEANUP_DRYRUN=false - REQUIRE_SIGNATURE=true -eot - . "$(dirname "${BASH_SOURCE[0]}")/../../config" -} - -tearDown() { - rm -rf "${TMP}" - rm -f "$(dirname "${BASH_SOURCE[0]}")/../../config.local" - echo -} - -releasePackage() { - local repo=$1 - local pkgbase=$2 - local arch=$3 - local a - local p - local pkgver - local pkgname - - pushd "${TMP}/svn-packages-copy/${pkgbase}/trunk/" >/dev/null - xbs release "${repo}" "${arch}" >/dev/null 2>&1 - pkgver=$(. PKGBUILD; get_full_version) - pkgname=($(. PKGBUILD; echo "${pkgname[@]}")) - popd >/dev/null - 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} - done - done - fi -} - -checkAnyPackageDB() { - local repo=$1 - local pkg=$2 - local arch - local db - - [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ] || fail "${PKGPOOL}/${pkg} not found" - if "${REQUIRE_SIGNATURE}"; then - [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ] || fail "${PKGPOOL}/${pkg}.sig not found" - fi - - for arch in $(arches); 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}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ] \ - || fail "${repo}/os/${arch}/${pkg} does not link to ${PKGPOOL}/${pkg}" - - 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")" == "$(readlink -e "${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 - ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ - && 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 - [ -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 - - local pkgbase=$(getpkgbase "${FTP_BASE}/${PKGPOOL}/${pkg}") - arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" - [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-any" ] \ - || fail "svn-packages-copy/${pkgbase}/repos/${repo}-any does not exist" -} - -checkPackageDB() { - local repo=$1 - local pkg=$2 - local arch=$3 - local db - - [ -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" - - [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ] \ - || fail "${repo}/os/${arch}/${pkg} does not link to ${PKGPOOL}/${pkg}" - - 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" - - [ "$(readlink -e "${FTP_BASE}/${repo}/os/${arch}/${pkg}.sig")" == "$(readlink -e "${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 - ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ - && 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 -} - -checkPackage() { - local repo=$1 - local pkg=$2 - local arch=$3 - - checkPackageDB $repo $pkg $arch - - local pkgbase=$(getpkgbase "${FTP_BASE}/${PKGPOOL}/${pkg}") - arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" - [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ] \ - || fail "svn-packages-copy/${pkgbase}/repos/${repo}-${arch} does not exist" -} - -checkRemovedPackageDB() { - local repo=$1 - local pkgbase=$2 - local arch=$3 - local db - - 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 ${pkgbase} &>/dev/null) \ - && fail "${pkgbase} should not be in ${repo}/os/${arch}/${repo}${db%.tar.*}" - done -} - -checkRemovedPackage() { - local repo=$1 - local pkgbase=$2 - local arch=$3 - - checkRemovedPackageDB $repo $pkgbase $arch - - arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" - [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ] \ - && fail "svn-packages-copy/${pkgbase}/repos/${repo}-${arch} should not exist" -} - -checkRemovedAnyPackageDB() { - local repo=$1 - local pkgbase=$2 - local arch - local db - - for db in ${DBEXT} ${FILESEXT}; do - for arch in $(arches); do - ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${db%.tar.*}" ] \ - && 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 -} - -checkRemovedAnyPackage() { - local repo=$1 - local pkgbase=$2 - - checkRemovedAnyPackageDB $repo $pkgbase - - arch_svn up -q "${TMP}/svn-packages-copy/${pkgbase}" - [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-any" ] \ - && fail "svn-packages-copy/${pkgbase}/repos/${repo}-any should not exist" -} diff --git a/extra/lukeshu-xbs/test/lib/shunit2 b/extra/lukeshu-xbs/test/lib/shunit2 deleted file mode 100755 index 8862ffd..0000000 --- a/extra/lukeshu-xbs/test/lib/shunit2 +++ /dev/null @@ -1,1048 +0,0 @@ -#! /bin/sh -# $Id: shunit2 335 2011-05-01 20:10:33Z kate.ward@forestent.com $ -# vim:et:ft=sh:sts=2:sw=2 -# -# Copyright 2008 Kate Ward. All Rights Reserved. -# Released under the LGPL (GNU Lesser General Public License) -# -# shUnit2 -- Unit testing framework for Unix shell scripts. -# http://code.google.com/p/shunit2/ -# -# Author: kate.ward@forestent.com (Kate Ward) -# -# shUnit2 is a xUnit based unit test framework for Bourne shell scripts. It is -# based on the popular JUnit unit testing framework for Java. - -# return if shunit already loaded -[ -n "${SHUNIT_VERSION:-}" ] && exit 0 - -SHUNIT_VERSION='2.1.6' - -SHUNIT_TRUE=0 -SHUNIT_FALSE=1 -SHUNIT_ERROR=2 - -# enable strict mode by default -SHUNIT_STRICT=${SHUNIT_STRICT:-${SHUNIT_TRUE}} - -_shunit_warn() { echo "shunit2:WARN $@" >&2; } -_shunit_error() { echo "shunit2:ERROR $@" >&2; } -_shunit_fatal() { echo "shunit2:FATAL $@" >&2; exit ${SHUNIT_ERROR}; } - -# specific shell checks -if [ -n "${ZSH_VERSION:-}" ]; then - setopt |grep "^shwordsplit$" >/dev/null - if [ $? -ne ${SHUNIT_TRUE} ]; then - _shunit_fatal 'zsh shwordsplit option is required for proper operation' - fi - if [ -z "${SHUNIT_PARENT:-}" ]; then - _shunit_fatal "zsh does not pass \$0 through properly. please declare \ -\"SHUNIT_PARENT=\$0\" before calling shUnit2" - fi -fi - -# -# constants -# - -__SHUNIT_ASSERT_MSG_PREFIX='ASSERT:' -__SHUNIT_MODE_SOURCED='sourced' -__SHUNIT_MODE_STANDALONE='standalone' -__SHUNIT_PARENT=${SHUNIT_PARENT:-$0} - -# set the constants readonly -shunit_constants_=`set |grep '^__SHUNIT_' |cut -d= -f1` -echo "${shunit_constants_}" |grep '^Binary file' >/dev/null && \ - shunit_constants_=`set |grep -a '^__SHUNIT_' |cut -d= -f1` -for shunit_constant_ in ${shunit_constants_}; do - shunit_ro_opts_='' - case ${ZSH_VERSION:-} in - '') ;; # this isn't zsh - [123].*) ;; # early versions (1.x, 2.x, 3.x) - *) shunit_ro_opts_='-g' ;; # all later versions. declare readonly globally - esac - readonly ${shunit_ro_opts_} ${shunit_constant_} -done -unset shunit_constant_ shunit_constants_ shunit_ro_opts_ - -# variables -__shunit_lineno='' # line number of executed test -__shunit_mode=${__SHUNIT_MODE_SOURCED} # operating mode -__shunit_reportGenerated=${SHUNIT_FALSE} # is report generated -__shunit_script='' # filename of unittest script (standalone mode) -__shunit_skip=${SHUNIT_FALSE} # is skipping enabled -__shunit_suite='' # suite of tests to execute - -# counts of tests -__shunit_testSuccess=${SHUNIT_TRUE} -__shunit_testsTotal=0 -__shunit_testsPassed=0 -__shunit_testsFailed=0 - -# counts of asserts -__shunit_assertsTotal=0 -__shunit_assertsPassed=0 -__shunit_assertsFailed=0 -__shunit_assertsSkipped=0 - -# macros -_SHUNIT_LINENO_='eval __shunit_lineno=""; if [ "${1:-}" = "--lineno" ]; then [ -n "$2" ] && __shunit_lineno="[$2] "; shift 2; fi' - -#----------------------------------------------------------------------------- -# assert functions -# - -# Assert that two values are equal to one another. -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertEquals() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "assertEquals() requires two or three arguments; $# given" - _shunit_error "1: ${1:+$1} 2: ${2:+$2} 3: ${3:+$3}${4:+ 4: $4}" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_expected_=$1 - shunit_actual_=$2 - - shunit_return=${SHUNIT_TRUE} - if [ "${shunit_expected_}" = "${shunit_actual_}" ]; then - _shunit_assertPass - else - failNotEquals "${shunit_message_}" "${shunit_expected_}" "${shunit_actual_}" - shunit_return=${SHUNIT_FALSE} - fi - - unset shunit_message_ shunit_expected_ shunit_actual_ - return ${shunit_return} -} -_ASSERT_EQUALS_='eval assertEquals --lineno "${LINENO:-}"' - -# Assert that two values are not equal to one another. -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertNotEquals() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "assertNotEquals() requires two or three arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_expected_=$1 - shunit_actual_=$2 - - shunit_return=${SHUNIT_TRUE} - if [ "${shunit_expected_}" != "${shunit_actual_}" ]; then - _shunit_assertPass - else - failSame "${shunit_message_}" "$@" - shunit_return=${SHUNIT_FALSE} - fi - - unset shunit_message_ shunit_expected_ shunit_actual_ - return ${shunit_return} -} -_ASSERT_NOT_EQUALS_='eval assertNotEquals --lineno "${LINENO:-}"' - -# Assert that a value is null (i.e. an empty string) -# -# Args: -# message: string: failure message [optional] -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertNull() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 1 -o $# -gt 2 ]; then - _shunit_error "assertNull() requires one or two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 2 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - assertTrue "${shunit_message_}" "[ -z '$1' ]" - shunit_return=$? - - unset shunit_message_ - return ${shunit_return} -} -_ASSERT_NULL_='eval assertNull --lineno "${LINENO:-}"' - -# Assert that a value is not null (i.e. a non-empty string) -# -# Args: -# message: string: failure message [optional] -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertNotNull() -{ - ${_SHUNIT_LINENO_} - if [ $# -gt 2 ]; then # allowing 0 arguments as $1 might actually be null - _shunit_error "assertNotNull() requires one or two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 2 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_actual_=`_shunit_escapeCharactersInString "${1:-}"` - test -n "${shunit_actual_}" - assertTrue "${shunit_message_}" $? - shunit_return=$? - - unset shunit_actual_ shunit_message_ - return ${shunit_return} -} -_ASSERT_NOT_NULL_='eval assertNotNull --lineno "${LINENO:-}"' - -# Assert that two values are the same (i.e. equal to one another). -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertSame() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "assertSame() requires two or three arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - assertEquals "${shunit_message_}" "$1" "$2" - shunit_return=$? - - unset shunit_message_ - return ${shunit_return} -} -_ASSERT_SAME_='eval assertSame --lineno "${LINENO:-}"' - -# Assert that two values are not the same (i.e. not equal to one another). -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertNotSame() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "assertNotSame() requires two or three arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_:-}$1" - shift - fi - assertNotEquals "${shunit_message_}" "$1" "$2" - shunit_return=$? - - unset shunit_message_ - return ${shunit_return} -} -_ASSERT_NOT_SAME_='eval assertNotSame --lineno "${LINENO:-}"' - -# Assert that a value or shell test condition is true. -# -# In shell, a value of 0 is true and a non-zero value is false. Any integer -# value passed can thereby be tested. -# -# Shell supports much more complicated tests though, and a means to support -# them was needed. As such, this function tests that conditions are true or -# false through evaluation rather than just looking for a true or false. -# -# The following test will succeed: -# assertTrue 0 -# assertTrue "[ 34 -gt 23 ]" -# The folloing test will fail with a message: -# assertTrue 123 -# assertTrue "test failed" "[ -r '/non/existant/file' ]" -# -# Args: -# message: string: failure message [optional] -# condition: string: integer value or shell conditional statement -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertTrue() -{ - ${_SHUNIT_LINENO_} - if [ $# -gt 2 ]; then - _shunit_error "assertTrue() takes one two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 2 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_condition_=$1 - - # see if condition is an integer, i.e. a return value - shunit_match_=`expr "${shunit_condition_}" : '\([0-9]*\)'` - shunit_return=${SHUNIT_TRUE} - if [ -z "${shunit_condition_}" ]; then - # null condition - shunit_return=${SHUNIT_FALSE} - elif [ -n "${shunit_match_}" -a "${shunit_condition_}" = "${shunit_match_}" ] - then - # possible return value. treating 0 as true, and non-zero as false. - [ ${shunit_condition_} -ne 0 ] && shunit_return=${SHUNIT_FALSE} - else - # (hopefully) a condition - ( eval ${shunit_condition_} ) >/dev/null 2>&1 - [ $? -ne 0 ] && shunit_return=${SHUNIT_FALSE} - fi - - # record the test - if [ ${shunit_return} -eq ${SHUNIT_TRUE} ]; then - _shunit_assertPass - else - _shunit_assertFail "${shunit_message_}" - fi - - unset shunit_message_ shunit_condition_ shunit_match_ - return ${shunit_return} -} -_ASSERT_TRUE_='eval assertTrue --lineno "${LINENO:-}"' - -# Assert that a value or shell test condition is false. -# -# In shell, a value of 0 is true and a non-zero value is false. Any integer -# value passed can thereby be tested. -# -# Shell supports much more complicated tests though, and a means to support -# them was needed. As such, this function tests that conditions are true or -# false through evaluation rather than just looking for a true or false. -# -# The following test will succeed: -# assertFalse 1 -# assertFalse "[ 'apples' = 'oranges' ]" -# The folloing test will fail with a message: -# assertFalse 0 -# assertFalse "test failed" "[ 1 -eq 1 -a 2 -eq 2 ]" -# -# Args: -# message: string: failure message [optional] -# condition: string: integer value or shell conditional statement -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -assertFalse() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 1 -o $# -gt 2 ]; then - _shunit_error "assertFalse() quires one or two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 2 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_condition_=$1 - - # see if condition is an integer, i.e. a return value - shunit_match_=`expr "${shunit_condition_}" : '\([0-9]*\)'` - shunit_return=${SHUNIT_TRUE} - if [ -z "${shunit_condition_}" ]; then - # null condition - shunit_return=${SHUNIT_FALSE} - elif [ -n "${shunit_match_}" -a "${shunit_condition_}" = "${shunit_match_}" ] - then - # possible return value. treating 0 as true, and non-zero as false. - [ ${shunit_condition_} -eq 0 ] && shunit_return=${SHUNIT_FALSE} - else - # (hopefully) a condition - ( eval ${shunit_condition_} ) >/dev/null 2>&1 - [ $? -eq 0 ] && shunit_return=${SHUNIT_FALSE} - fi - - # record the test - if [ ${shunit_return} -eq ${SHUNIT_TRUE} ]; then - _shunit_assertPass - else - _shunit_assertFail "${shunit_message_}" - fi - - unset shunit_message_ shunit_condition_ shunit_match_ - return ${shunit_return} -} -_ASSERT_FALSE_='eval assertFalse --lineno "${LINENO:-}"' - -#----------------------------------------------------------------------------- -# failure functions -# - -# Records a test failure. -# -# Args: -# message: string: failure message [optional] -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -fail() -{ - ${_SHUNIT_LINENO_} - if [ $# -gt 1 ]; then - _shunit_error "fail() requires zero or one arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 1 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - - _shunit_assertFail "${shunit_message_}" - - unset shunit_message_ - return ${SHUNIT_FALSE} -} -_FAIL_='eval fail --lineno "${LINENO:-}"' - -# Records a test failure, stating two values were not equal. -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -failNotEquals() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "failNotEquals() requires one or two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - shunit_expected_=$1 - shunit_actual_=$2 - - _shunit_assertFail "${shunit_message_:+${shunit_message_} }expected:<${shunit_expected_}> but was:<${shunit_actual_}>" - - unset shunit_message_ shunit_expected_ shunit_actual_ - return ${SHUNIT_FALSE} -} -_FAIL_NOT_EQUALS_='eval failNotEquals --lineno "${LINENO:-}"' - -# Records a test failure, stating two values should have been the same. -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -failSame() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "failSame() requires two or three arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - - _shunit_assertFail "${shunit_message_:+${shunit_message_} }expected not same" - - unset shunit_message_ - return ${SHUNIT_FALSE} -} -_FAIL_SAME_='eval failSame --lineno "${LINENO:-}"' - -# Records a test failure, stating two values were not equal. -# -# This is functionally equivalent to calling failNotEquals(). -# -# Args: -# message: string: failure message [optional] -# expected: string: expected value -# actual: string: actual value -# Returns: -# integer: success (TRUE/FALSE/ERROR constant) -failNotSame() -{ - ${_SHUNIT_LINENO_} - if [ $# -lt 2 -o $# -gt 3 ]; then - _shunit_error "failNotEquals() requires one or two arguments; $# given" - return ${SHUNIT_ERROR} - fi - _shunit_shouldSkip && return ${SHUNIT_TRUE} - - shunit_message_=${__shunit_lineno} - if [ $# -eq 3 ]; then - shunit_message_="${shunit_message_}$1" - shift - fi - failNotEquals "${shunit_message_}" "$1" "$2" - shunit_return=$? - - unset shunit_message_ - return ${shunit_return} -} -_FAIL_NOT_SAME_='eval failNotSame --lineno "${LINENO:-}"' - -#----------------------------------------------------------------------------- -# skipping functions -# - -# Force remaining assert and fail functions to be "skipped". -# -# This function forces the remaining assert and fail functions to be "skipped", -# i.e. they will have no effect. Each function skipped will be recorded so that -# the total of asserts and fails will not be altered. -# -# Args: -# None -startSkipping() -{ - __shunit_skip=${SHUNIT_TRUE} -} - -# Resume the normal recording behavior of assert and fail calls. -# -# Args: -# None -endSkipping() -{ - __shunit_skip=${SHUNIT_FALSE} -} - -# Returns the state of assert and fail call skipping. -# -# Args: -# None -# Returns: -# boolean: (TRUE/FALSE constant) -isSkipping() -{ - return ${__shunit_skip} -} - -#----------------------------------------------------------------------------- -# suite functions -# - -# Stub. This function should contains all unit test calls to be made. -# -# DEPRECATED (as of 2.1.0) -# -# This function can be optionally overridden by the user in their test suite. -# -# If this function exists, it will be called when shunit2 is sourced. If it -# does not exist, shunit2 will search the parent script for all functions -# beginning with the word 'test', and they will be added dynamically to the -# test suite. -# -# This function should be overridden by the user in their unit test suite. -# Note: see _shunit_mktempFunc() for actual implementation -# -# Args: -# None -#suite() { :; } # DO NOT UNCOMMENT THIS FUNCTION - -# Adds a function name to the list of tests schedule for execution. -# -# This function should only be called from within the suite() function. -# -# Args: -# function: string: name of a function to add to current unit test suite -suite_addTest() -{ - shunit_func_=${1:-} - - __shunit_suite="${__shunit_suite:+${__shunit_suite} }${shunit_func_}" - __shunit_testsTotal=`expr ${__shunit_testsTotal} + 1` - - unset shunit_func_ -} - -# Stub. This function will be called once before any tests are run. -# -# Common one-time environment preparation tasks shared by all tests can be -# defined here. -# -# This function should be overridden by the user in their unit test suite. -# Note: see _shunit_mktempFunc() for actual implementation -# -# Args: -# None -#oneTimeSetUp() { :; } # DO NOT UNCOMMENT THIS FUNCTION - -# Stub. This function will be called once after all tests are finished. -# -# Common one-time environment cleanup tasks shared by all tests can be defined -# here. -# -# This function should be overridden by the user in their unit test suite. -# Note: see _shunit_mktempFunc() for actual implementation -# -# Args: -# None -#oneTimeTearDown() { :; } # DO NOT UNCOMMENT THIS FUNCTION - -# Stub. This function will be called before each test is run. -# -# Common environment preparation tasks shared by all tests can be defined here. -# -# This function should be overridden by the user in their unit test suite. -# Note: see _shunit_mktempFunc() for actual implementation -# -# Args: -# None -#setUp() { :; } - -# Note: see _shunit_mktempFunc() for actual implementation -# Stub. This function will be called after each test is run. -# -# Common environment cleanup tasks shared by all tests can be defined here. -# -# This function should be overridden by the user in their unit test suite. -# Note: see _shunit_mktempFunc() for actual implementation -# -# Args: -# None -#tearDown() { :; } # DO NOT UNCOMMENT THIS FUNCTION - -#------------------------------------------------------------------------------ -# internal shUnit2 functions -# - -# Create a temporary directory to store various run-time files in. -# -# This function is a cross-platform temporary directory creation tool. Not all -# OSes have the mktemp function, so one is included here. -# -# Args: -# None -# Outputs: -# string: the temporary directory that was created -_shunit_mktempDir() -{ - # try the standard mktemp function - ( exec mktemp -dqt shunit.XXXXXX 2>/dev/null ) && return - - # the standard mktemp didn't work. doing our own. - if [ -r '/dev/urandom' -a -x '/usr/bin/od' ]; then - _shunit_random_=`/usr/bin/od -vAn -N4 -tx4 </dev/urandom \ - |sed 's/^[^0-9a-f]*//'` - elif [ -n "${RANDOM:-}" ]; then - # $RANDOM works - _shunit_random_=${RANDOM}${RANDOM}${RANDOM}$$ - else - # $RANDOM doesn't work - _shunit_date_=`date '+%Y%m%d%H%M%S'` - _shunit_random_=`expr ${_shunit_date_} / $$` - fi - - _shunit_tmpDir_="${TMPDIR:-/tmp}/shunit.${_shunit_random_}" - ( umask 077 && mkdir "${_shunit_tmpDir_}" ) || \ - _shunit_fatal 'could not create temporary directory! exiting' - - echo ${_shunit_tmpDir_} - unset _shunit_date_ _shunit_random_ _shunit_tmpDir_ -} - -# This function is here to work around issues in Cygwin. -# -# Args: -# None -_shunit_mktempFunc() -{ - for _shunit_func_ in oneTimeSetUp oneTimeTearDown setUp tearDown suite noexec - do - _shunit_file_="${__shunit_tmpDir}/${_shunit_func_}" - cat <<EOF >"${_shunit_file_}" -#! /bin/sh -exit ${SHUNIT_TRUE} -EOF - chmod +x "${_shunit_file_}" - done - - unset _shunit_file_ -} - -# Final cleanup function to leave things as we found them. -# -# Besides removing the temporary directory, this function is in charge of the -# final exit code of the unit test. The exit code is based on how the script -# was ended (e.g. normal exit, or via Ctrl-C). -# -# Args: -# name: string: name of the trap called (specified when trap defined) -_shunit_cleanup() -{ - _shunit_name_=$1 - - case ${_shunit_name_} in - EXIT) _shunit_signal_=0 ;; - INT) _shunit_signal_=2 ;; - TERM) _shunit_signal_=15 ;; - *) - _shunit_warn "unrecognized trap value (${_shunit_name_})" - _shunit_signal_=0 - ;; - esac - - # do our work - rm -fr "${__shunit_tmpDir}" - - # exit for all non-EXIT signals - if [ ${_shunit_name_} != 'EXIT' ]; then - _shunit_warn "trapped and now handling the (${_shunit_name_}) signal" - # disable EXIT trap - trap 0 - # add 128 to signal and exit - exit `expr ${_shunit_signal_} + 128` - elif [ ${__shunit_reportGenerated} -eq ${SHUNIT_FALSE} ] ; then - _shunit_assertFail 'Unknown failure encountered running a test' - _shunit_generateReport - exit ${SHUNIT_ERROR} - fi - - unset _shunit_name_ _shunit_signal_ -} - -# The actual running of the tests happens here. -# -# Args: -# None -_shunit_execSuite() -{ - for _shunit_test_ in ${__shunit_suite}; do - __shunit_testSuccess=${SHUNIT_TRUE} - - # disable skipping - endSkipping - - # execute the per-test setup function - setUp - - # execute the test - echo "${_shunit_test_}" - eval ${_shunit_test_} - - # execute the per-test tear-down function - tearDown - - # update stats - if [ ${__shunit_testSuccess} -eq ${SHUNIT_TRUE} ]; then - __shunit_testsPassed=`expr ${__shunit_testsPassed} + 1` - else - __shunit_testsFailed=`expr ${__shunit_testsFailed} + 1` - fi - done - - unset _shunit_test_ -} - -# Generates the user friendly report with appropriate OK/FAILED message. -# -# Args: -# None -# Output: -# string: the report of successful and failed tests, as well as totals. -_shunit_generateReport() -{ - _shunit_ok_=${SHUNIT_TRUE} - - # if no exit code was provided one, determine an appropriate one - [ ${__shunit_testsFailed} -gt 0 \ - -o ${__shunit_testSuccess} -eq ${SHUNIT_FALSE} ] \ - && _shunit_ok_=${SHUNIT_FALSE} - - echo - if [ ${__shunit_testsTotal} -eq 1 ]; then - echo "Ran ${__shunit_testsTotal} test." - else - echo "Ran ${__shunit_testsTotal} tests." - fi - - _shunit_failures_='' - _shunit_skipped_='' - [ ${__shunit_assertsFailed} -gt 0 ] \ - && _shunit_failures_="failures=${__shunit_assertsFailed}" - [ ${__shunit_assertsSkipped} -gt 0 ] \ - && _shunit_skipped_="skipped=${__shunit_assertsSkipped}" - - if [ ${_shunit_ok_} -eq ${SHUNIT_TRUE} ]; then - _shunit_msg_='OK' - [ -n "${_shunit_skipped_}" ] \ - && _shunit_msg_="${_shunit_msg_} (${_shunit_skipped_})" - else - _shunit_msg_="FAILED (${_shunit_failures_}" - [ -n "${_shunit_skipped_}" ] \ - && _shunit_msg_="${_shunit_msg_},${_shunit_skipped_}" - _shunit_msg_="${_shunit_msg_})" - fi - - echo - echo ${_shunit_msg_} - __shunit_reportGenerated=${SHUNIT_TRUE} - - unset _shunit_failures_ _shunit_msg_ _shunit_ok_ _shunit_skipped_ -} - -# Test for whether a function should be skipped. -# -# Args: -# None -# Returns: -# boolean: whether the test should be skipped (TRUE/FALSE constant) -_shunit_shouldSkip() -{ - [ ${__shunit_skip} -eq ${SHUNIT_FALSE} ] && return ${SHUNIT_FALSE} - _shunit_assertSkip -} - -# Records a successful test. -# -# Args: -# None -_shunit_assertPass() -{ - __shunit_assertsPassed=`expr ${__shunit_assertsPassed} + 1` - __shunit_assertsTotal=`expr ${__shunit_assertsTotal} + 1` -} - -# Records a test failure. -# -# Args: -# message: string: failure message to provide user -_shunit_assertFail() -{ - _shunit_msg_=$1 - - __shunit_testSuccess=${SHUNIT_FALSE} - __shunit_assertsFailed=`expr ${__shunit_assertsFailed} + 1` - __shunit_assertsTotal=`expr ${__shunit_assertsTotal} + 1` - echo "${__SHUNIT_ASSERT_MSG_PREFIX}${_shunit_msg_}" - - unset _shunit_msg_ -} - -# Records a skipped test. -# -# Args: -# None -_shunit_assertSkip() -{ - __shunit_assertsSkipped=`expr ${__shunit_assertsSkipped} + 1` - __shunit_assertsTotal=`expr ${__shunit_assertsTotal} + 1` -} - -# Prepare a script filename for sourcing. -# -# Args: -# script: string: path to a script to source -# Returns: -# string: filename prefixed with ./ (if necessary) -_shunit_prepForSourcing() -{ - _shunit_script_=$1 - case "${_shunit_script_}" in - /*|./*) echo "${_shunit_script_}" ;; - *) echo "./${_shunit_script_}" ;; - esac - unset _shunit_script_ -} - -# Escape a character in a string. -# -# Args: -# c: string: unescaped character -# s: string: to escape character in -# Returns: -# string: with escaped character(s) -_shunit_escapeCharInStr() -{ - [ -n "$2" ] || return # no point in doing work on an empty string - - # Note: using shorter variable names to prevent conflicts with - # _shunit_escapeCharactersInString(). - _shunit_c_=$1 - _shunit_s_=$2 - - - # escape the character - echo ''${_shunit_s_}'' |sed 's/\'${_shunit_c_}'/\\\'${_shunit_c_}'/g' - - unset _shunit_c_ _shunit_s_ -} - -# Escape a character in a string. -# -# Args: -# str: string: to escape characters in -# Returns: -# string: with escaped character(s) -_shunit_escapeCharactersInString() -{ - [ -n "$1" ] || return # no point in doing work on an empty string - - _shunit_str_=$1 - - # Note: using longer variable names to prevent conflicts with - # _shunit_escapeCharInStr(). - for _shunit_char_ in '"' '$' "'" '`'; do - _shunit_str_=`_shunit_escapeCharInStr "${_shunit_char_}" "${_shunit_str_}"` - done - - echo "${_shunit_str_}" - unset _shunit_char_ _shunit_str_ -} - -# Extract list of functions to run tests against. -# -# Args: -# script: string: name of script to extract functions from -# Returns: -# string: of function names -_shunit_extractTestFunctions() -{ - _shunit_script_=$1 - - # extract the lines with test function names, strip of anything besides the - # function name, and output everything on a single line. - _shunit_regex_='^[ ]*(function )*test[A-Za-z0-9_]* *\(\)' - egrep "${_shunit_regex_}" "${_shunit_script_}" \ - |sed 's/^[^A-Za-z0-9_]*//;s/^function //;s/\([A-Za-z0-9_]*\).*/\1/g' \ - |xargs - - unset _shunit_regex_ _shunit_script_ -} - -#------------------------------------------------------------------------------ -# main -# - -# determine the operating mode -if [ $# -eq 0 ]; then - __shunit_script=${__SHUNIT_PARENT} - __shunit_mode=${__SHUNIT_MODE_SOURCED} -else - __shunit_script=$1 - [ -r "${__shunit_script}" ] || \ - _shunit_fatal "unable to read from ${__shunit_script}" - __shunit_mode=${__SHUNIT_MODE_STANDALONE} -fi - -# create a temporary storage location -__shunit_tmpDir=`_shunit_mktempDir` - -# provide a public temporary directory for unit test scripts -# TODO(kward): document this -SHUNIT_TMPDIR="${__shunit_tmpDir}/tmp" -mkdir "${SHUNIT_TMPDIR}" - -# setup traps to clean up after ourselves -trap '_shunit_cleanup EXIT' 0 -trap '_shunit_cleanup INT' 2 -trap '_shunit_cleanup TERM' 15 - -# create phantom functions to work around issues with Cygwin -_shunit_mktempFunc -PATH="${__shunit_tmpDir}:${PATH}" - -# make sure phantom functions are executable. this will bite if /tmp (or the -# current $TMPDIR) points to a path on a partition that was mounted with the -# 'noexec' option. the noexec command was created with _shunit_mktempFunc(). -noexec 2>/dev/null || _shunit_fatal \ - 'please declare TMPDIR with path on partition with exec permission' - -# we must manually source the tests in standalone mode -if [ "${__shunit_mode}" = "${__SHUNIT_MODE_STANDALONE}" ]; then - . "`_shunit_prepForSourcing \"${__shunit_script}\"`" -fi - -# execute the oneTimeSetUp function (if it exists) -oneTimeSetUp - -# execute the suite function defined in the parent test script -# deprecated as of 2.1.0 -suite - -# if no suite function was defined, dynamically build a list of functions -if [ -z "${__shunit_suite}" ]; then - shunit_funcs_=`_shunit_extractTestFunctions "${__shunit_script}"` - for shunit_func_ in ${shunit_funcs_}; do - suite_addTest ${shunit_func_} - done -fi -unset shunit_func_ shunit_funcs_ - -# execute the tests -_shunit_execSuite - -# execute the oneTimeTearDown function (if it exists) -oneTimeTearDown - -# generate the report -_shunit_generateReport - -# that's it folks -[ ${__shunit_testsFailed} -eq 0 ] -exit $? diff --git a/extra/lukeshu-xbs/test/packages/pkg-any-a/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-any-a/PKGBUILD deleted file mode 100644 index 8749a35..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-any-a/PKGBUILD +++ /dev/null @@ -1,12 +0,0 @@ -pkgname=pkg-any-a -pkgver=1 -pkgrel=1 -pkgdesc="A package called ${pkgname}" -arch=('any') -url='http://www.archlinux.org/' -license=('GPL') - -package() { - install -d -m755 ${pkgdir}/usr/share/${pkgname} - echo 'test' > ${pkgdir}/usr/share/${pkgname}/test -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-any-b/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-any-b/PKGBUILD deleted file mode 100644 index e6a0498..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-any-b/PKGBUILD +++ /dev/null @@ -1,12 +0,0 @@ -pkgname=pkg-any-b -pkgver=1 -pkgrel=1 -pkgdesc="A package called ${pkgname}" -arch=('any') -url='http://www.archlinux.org/' -license=('GPL') - -package() { - install -d -m755 ${pkgdir}/usr/share/${pkgname} - echo 'test' > ${pkgdir}/usr/share/${pkgname}/test -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-a/Makefile b/extra/lukeshu-xbs/test/packages/pkg-simple-a/Makefile deleted file mode 120000 index 50be211..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-a/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../src/Makefile
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-a/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-simple-a/PKGBUILD deleted file mode 100644 index 953ecfa..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-a/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -pkgname=pkg-simple-a -pkgver=1 -pkgrel=1 -pkgdesc="A package called ${pkgname}" -arch=('i686' 'x86_64') -url='http://www.archlinux.org/' -license=('GPL') -depends=('glibc') -makedepends=('gcc') -source=('Makefile' 'test.c') -md5sums=('c6cb8dcc86253355fed559416d0c8dcf' - '3c1e4279feb678fd9cabaccdb28e40d0') - -build() { - cd ${srcdir} - make -} - -package() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname} -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-a/test.c b/extra/lukeshu-xbs/test/packages/pkg-simple-a/test.c deleted file mode 120000 index ed5b5ac..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-a/test.c +++ /dev/null @@ -1 +0,0 @@ -../../src/test.c
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-b/Makefile b/extra/lukeshu-xbs/test/packages/pkg-simple-b/Makefile deleted file mode 120000 index 50be211..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-b/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../src/Makefile
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-b/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-simple-b/PKGBUILD deleted file mode 100644 index 95ffd09..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-b/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -pkgname=pkg-simple-b -pkgver=1 -pkgrel=1 -pkgdesc="A package called ${pkgname}" -arch=('i686' 'x86_64') -url='http://www.archlinux.org/' -license=('GPL') -depends=('glibc') -makedepends=('gcc') -source=('Makefile' 'test.c') -md5sums=('c6cb8dcc86253355fed559416d0c8dcf' - '3c1e4279feb678fd9cabaccdb28e40d0') - -build() { - cd ${srcdir} - make -} - -package() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname} -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-b/test.c b/extra/lukeshu-xbs/test/packages/pkg-simple-b/test.c deleted file mode 120000 index ed5b5ac..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-b/test.c +++ /dev/null @@ -1 +0,0 @@ -../../src/test.c
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/Makefile b/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/Makefile deleted file mode 120000 index 50be211..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../src/Makefile
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/PKGBUILD deleted file mode 100644 index eebe2bd..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/PKGBUILD +++ /dev/null @@ -1,23 +0,0 @@ -pkgname=pkg-simple-epoch -pkgver=1 -pkgrel=1 -epoch=1 -pkgdesc="A package called ${pkgname}" -arch=('i686' 'x86_64') -url='http://www.archlinux.org/' -license=('GPL') -depends=('glibc') -makedepends=('gcc') -source=('Makefile' 'test.c') -md5sums=('c6cb8dcc86253355fed559416d0c8dcf' - '3c1e4279feb678fd9cabaccdb28e40d0') - -build() { - cd ${srcdir} - make -} - -package() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname} -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/test.c b/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/test.c deleted file mode 120000 index ed5b5ac..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-simple-epoch/test.c +++ /dev/null @@ -1 +0,0 @@ -../../src/test.c
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-a/Makefile b/extra/lukeshu-xbs/test/packages/pkg-split-a/Makefile deleted file mode 120000 index 50be211..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-a/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../src/Makefile
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-a/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-split-a/PKGBUILD deleted file mode 100644 index e941976..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-a/PKGBUILD +++ /dev/null @@ -1,28 +0,0 @@ -pkgbase=pkg-split-a -pkgname=('pkg-split-a1' 'pkg-split-a2') -pkgver=1 -pkgrel=1 -pkgdesc="A split package called ${pkgbase}" -arch=('i686' 'x86_64') -url='http://www.archlinux.org/' -license=('GPL') -depends=('glibc') -makedepends=('gcc') -source=('Makefile' 'test.c') -md5sums=('c6cb8dcc86253355fed559416d0c8dcf' - '3c1e4279feb678fd9cabaccdb28e40d0') - -build() { - cd ${srcdir} - make -} - -package_pkg-split-a1() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname[0]} -} - -package_pkg-split-a2() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname[1]} -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-a/test.c b/extra/lukeshu-xbs/test/packages/pkg-split-a/test.c deleted file mode 120000 index ed5b5ac..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-a/test.c +++ /dev/null @@ -1 +0,0 @@ -../../src/test.c
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-b/Makefile b/extra/lukeshu-xbs/test/packages/pkg-split-b/Makefile deleted file mode 120000 index 50be211..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-b/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../src/Makefile
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-b/PKGBUILD b/extra/lukeshu-xbs/test/packages/pkg-split-b/PKGBUILD deleted file mode 100644 index 6ddbc45..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-b/PKGBUILD +++ /dev/null @@ -1,29 +0,0 @@ -pkgbase=pkg-split-b -pkgname=('pkg-split-b1' 'pkg-split-b2') -pkgver=1 -pkgrel=1 -pkgdesc="A split package called ${pkgbase}" -arch=('i686' 'x86_64') -url='http://www.archlinux.org/' -license=('GPL') - -depends=('glibc') -makedepends=('gcc') -source=('Makefile' 'test.c') -md5sums=('c6cb8dcc86253355fed559416d0c8dcf' - '3c1e4279feb678fd9cabaccdb28e40d0') - -build() { - cd ${srcdir} - make -} - -package_pkg-split-b1() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname[0]} -} - -package_pkg-split-b2() { - cd ${srcdir} - make install DESTDIR=${pkgdir} DESTBIN=${pkgname[1]} -} diff --git a/extra/lukeshu-xbs/test/packages/pkg-split-b/test.c b/extra/lukeshu-xbs/test/packages/pkg-split-b/test.c deleted file mode 120000 index ed5b5ac..0000000 --- a/extra/lukeshu-xbs/test/packages/pkg-split-b/test.c +++ /dev/null @@ -1 +0,0 @@ -../../src/test.c
\ No newline at end of file diff --git a/extra/lukeshu-xbs/test/rsync_output_sample b/extra/lukeshu-xbs/test/rsync_output_sample deleted file mode 100644 index 72d9cd0..0000000 --- a/extra/lukeshu-xbs/test/rsync_output_sample +++ /dev/null @@ -1,14 +0,0 @@ -dr-xr-sr-x 4096 2010/09/11 11:37:10 . --rw-r--r-- 11 2011/02/08 00:00:01 lastsync -drwxrwxr-x 15 2010/09/11 11:28:50 community-staging -drwxrwxr-x 30 2010/09/11 11:28:50 community-staging/os -drwxrwxr-x 8192 2011/02/07 17:00:01 community-staging/os/i686 -lrwxrwxrwx 52 2010/12/23 16:51:01 community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz -> ../../../pool/community/alex-2.3.4-1-i686.pkg.tar.xz -lrwxrwxrwx 27 2011/02/07 14:02:54 community-staging/os/i686/community-staging.db -> community-staging.db.tar.gz --rw-rw-r-- 2237 2011/02/07 14:02:54 community-staging/os/i686/community-staging.db.tar.gz --rw-rw-r-- 3209 2011/02/07 14:00:13 community-staging/os/i686/community-staging.db.tar.gz.old -drwxrwxr-x 15 2009/07/22 15:07:56 community -drwxrwxr-x 40 2009/08/04 15:57:42 community/os -drwxrwsr-x 36864 2011/02/03 05:00:01 community/os/any --rw-rw-r-- 303336 2010/07/16 10:06:28 community/os/any/any2dvd-0.34-4-any.pkg.tar.xz --rw-rw-r-- 221664 2010/03/28 15:55:48 community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz diff --git a/extra/lukeshu-xbs/test/runTest b/extra/lukeshu-xbs/test/runTest deleted file mode 100755 index b8713d8..0000000 --- a/extra/lukeshu-xbs/test/runTest +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -. "$(dirname ${BASH_SOURCE[0]})/lib/common.inc" - -for t in "$(dirname ${BASH_SOURCE[0]})/test.d/"*.sh; do - l=$(basename ${t} .sh) - if [ -x ${t} ]; then - msg "Running test '${l}'" - ${t} - [ $? -ne 0 ] && die "Test '${l}' failed" - echo -e "\n\n\n" - else - warning "Skipping test ${l}" - fi -done diff --git a/extra/lukeshu-xbs/test/src/Makefile b/extra/lukeshu-xbs/test/src/Makefile deleted file mode 100644 index 105b730..0000000 --- a/extra/lukeshu-xbs/test/src/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - gcc $(CFLAGS) -o test test.c - -install: - install -D -m755 test $(DESTDIR)/usr/bin/$(DESTBIN) diff --git a/extra/lukeshu-xbs/test/src/test.c b/extra/lukeshu-xbs/test/src/test.c deleted file mode 100644 index a661689..0000000 --- a/extra/lukeshu-xbs/test/src/test.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -int main(void) { - printf("Arch is the best!\n"); - return EXIT_SUCCESS; -} diff --git a/extra/lukeshu-xbs/test/test.d/create-filelists.sh b/extra/lukeshu-xbs/test/test.d/create-filelists.sh deleted file mode 100755 index b5ec5c8..0000000 --- a/extra/lukeshu-xbs/test/test.d/create-filelists.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash - -curdir="$(readlink -e "$(dirname "$0")")" -. "${curdir}/../lib/common.inc" - -testCreateSimpleFileLists() { - local arches=(`arches`) - 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 - releasePackage extra "${pkgbase}" "${arch}" - done - done - ../db-update - - for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do - 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 - done -} - -testCreateAnyFileLists() { - local arches=(`arches`) - local pkgs=('pkg-any-a' 'pkg-any-b') - local pkgbase - local arch - - for pkgbase in "${pkgs[@]}"; do - releasePackage extra "${pkgbase}" any - done - ../db-update - - for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do - 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 - done -} - -testCreateSplitFileLists() { - local arches=(`arches`) - local pkgs=('pkg-split-a' 'pkg-split-b') - local pkg - local pkgbase - local pkgname - local pkgnames - local arch - - for pkgbase in "${pkgs[@]}"; do - for arch in "${arches[@]}"; do - releasePackage extra "${pkgbase}" "${arch}" - done - done - ../db-update - - 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 - 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 - done - done -} - - -testCleanupFileLists() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - ../db-update - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} pkg-simple-a - done - - for arch in ${arches[@]}; do - 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 "usr/bin/pkg-simple-a" &>/dev/null; then - fail "usr/bin/pkg-simple-a still found in ${arch}/extra${FILESEXT}" - fi - done - -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/db-move.sh b/extra/lukeshu-xbs/test/test.d/db-move.sh deleted file mode 100755 index 3cf355b..0000000 --- a/extra/lukeshu-xbs/test/test.d/db-move.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testMoveSimplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage testing ${pkgbase} ${arch} - done - done - - ../db-update - - ../db-move testing extra pkg-simple-a - - 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 -} - -testMoveMultiplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage testing ${pkgbase} ${arch} - done - done - - ../db-update - - ../db-move testing extra pkg-simple-a pkg-simple-b - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkPackage extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} - checkRemovedPackage testing ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} - done - done -} - -testMoveEpochPackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-epoch') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage testing ${pkgbase} ${arch} - done - done - - ../db-update - - ../db-move testing extra pkg-simple-epoch - - for arch in ${arches[@]}; 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 -} - -testMoveAnyPackages() { - local pkgs=('pkg-any-a' 'pkg-any-b') - local pkgbase - - for pkgbase in ${pkgs[@]}; do - releasePackage testing ${pkgbase} any - done - - ../db-update - ../db-move testing extra pkg-any-a - - 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=(`arches`) - local pkgs=('pkg-split-a' 'pkg-split-b') - local pkg - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage testing ${pkgbase} ${arch} - done - done - - ../db-update - ../db-move testing extra pkg-split-a - - for arch in ${arches[@]}; do - for pkg in "${pkgdir}/pkg-split-a"/*-${arch}${PKGEXT}; do - checkPackage extra ${pkg##*/} ${arch} - done - done - for arch in ${arches[@]}; do - for pkg in "${pkgdir}/pkg-split-b"/*-${arch}${PKGEXT}; do - checkPackage testing ${pkg##*/} ${arch} - done - done - - checkRemovedAnyPackage testing pkg-split-a -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/db-remove.sh b/extra/lukeshu-xbs/test/test.d/db-remove.sh deleted file mode 100755 index d79605e..0000000 --- a/extra/lukeshu-xbs/test/test.d/db-remove.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testRemovePackages() { - local arches=(`arches`) - 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 - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - ../db-remove extra ${arch} ${pkgbase} - done - done - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkRemovedPackage extra ${pkgbase} ${arch} - done - done -} - -testRemoveMultiplePackages() { - local arches=(`arches`) - 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 - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} ${pkgs[@]} - 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 - - for pkgbase in ${pkgs[@]}; do - ../db-remove extra any ${pkgbase} - done - - for pkgbase in ${pkgs[@]}; do - checkRemovedAnyPackage extra ${pkgbase} - done -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/db-repo-add.sh b/extra/lukeshu-xbs/test/test.d/db-repo-add.sh deleted file mode 100755 index 09fc52f..0000000 --- a/extra/lukeshu-xbs/test/test.d/db-repo-add.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testAddSimplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; 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}/" - ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz.sig" "${FTP_BASE}/extra/os/${arch}/" - ../db-repo-add extra ${arch} ${pkgbase}-1-1-${arch}.pkg.tar.xz - done - done - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkPackageDB extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} - done - done -} - -testAddMultiplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for arch in ${arches[@]}; do - add_pkgs=() - for pkgbase in ${pkgs[@]}; 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}/" - ln -s "${FTP_BASE}/${PKGPOOL}/${pkgbase}-1-1-${arch}.pkg.tar.xz.sig" "${FTP_BASE}/extra/os/${arch}/" - add_pkgs[${#add_pkgs[*]}]=${pkgbase}-1-1-${arch}.pkg.tar.xz - done - ../db-repo-add extra ${arch} ${add_pkgs[@]} - done - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkPackageDB extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} - done - done -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/db-repo-remove.sh b/extra/lukeshu-xbs/test/test.d/db-repo-remove.sh deleted file mode 100755 index eec0109..0000000 --- a/extra/lukeshu-xbs/test/test.d/db-repo-remove.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testRemovePackages() { - local arches=(`arches`) - 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 - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - ../db-repo-remove extra ${arch} ${pkgbase} - done - done - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkRemovedPackageDB extra ${pkgbase} ${arch} - done - done -} - -testRemoveMultiplePackages() { - local arches=(`arches`) - 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 - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for arch in ${arches[@]}; do - ../db-repo-remove extra ${arch} ${pkgs[@]} - done - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkRemovedPackageDB extra ${pkgbase} ${arch} - done - done -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/db-update.sh b/extra/lukeshu-xbs/test/test.d/db-update.sh deleted file mode 100755 index 7f1874b..0000000 --- a/extra/lukeshu-xbs/test/test.d/db-update.sh +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testAddSimplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - checkPackage extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch} - done - done -} - -testAddSingleSimplePackage() { - releasePackage extra 'pkg-simple-a' 'i686' - ../db-update - checkPackage extra 'pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686' -} - -testAddSingleEpochPackage() { - releasePackage extra 'pkg-simple-epoch' 'i686' - ../db-update - checkPackage extra 'pkg-simple-epoch-1:1-1-i686.pkg.tar.xz' 'i686' -} - -testAddAnyPackages() { - local pkgs=('pkg-any-a' 'pkg-any-b') - local pkgbase - - for pkgbase in ${pkgs[@]}; do - releasePackage extra ${pkgbase} any - done - - ../db-update - - for pkgbase in ${pkgs[@]}; do - checkAnyPackage extra ${pkgbase}-1-1-any.pkg.tar.xz - done -} - -testAddSplitPackages() { - local arches=(`arches`) - local pkgs=('pkg-split-a' 'pkg-split-b') - local pkg - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - for pkg in "${pkgdir}/${pkgbase}"/*-${arch}${PKGEXT}; do - checkPackage extra ${pkg##*/} ${arch} - done - done - done -} - -testUpdateAnyPackage() { - releasePackage extra pkg-any-a any - ../db-update - - pushd "${TMP}/svn-packages-copy/pkg-any-a/trunk/" >/dev/null - sed 's/pkgrel=1/pkgrel=2/g' -i PKGBUILD - arch_svn commit -q -m"update pkg to pkgrel=2" >/dev/null - sudo libremakepkg - mv pkg-any-a-1-2-any.pkg.tar.xz "${pkgdir}/pkg-any-a/" - popd >/dev/null - - releasePackage extra pkg-any-a any - ../db-update - - checkAnyPackage extra pkg-any-a-1-2-any.pkg.tar.xz any - - rm -f "${pkgdir}/pkg-any-a/pkg-any-a-1-2-any.pkg.tar.xz" -} - -testUpdateAnyPackageToDifferentRepositoriesAtOnce() { - releasePackage extra pkg-any-a any - - pushd "${TMP}/svn-packages-copy/pkg-any-a/trunk/" >/dev/null - sed 's/pkgrel=1/pkgrel=2/g' -i PKGBUILD - arch_svn commit -q -m"update pkg to pkgrel=2" >/dev/null - sudo libremakepkg - mv pkg-any-a-1-2-any.pkg.tar.xz "${pkgdir}/pkg-any-a/" - popd >/dev/null - - releasePackage testing pkg-any-a any - - ../db-update - - checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any - checkAnyPackage testing pkg-any-a-1-2-any.pkg.tar.xz any - - rm -f "${pkgdir}/pkg-any-a/pkg-any-a-1-2-any.pkg.tar.xz" -} - -testUpdateSameAnyPackageToSameRepository() { - releasePackage extra pkg-any-a any - ../db-update - checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any - - releasePackage extra pkg-any-a any - ../db-update >/dev/null 2>&1 && (fail 'Adding an existing package to the same repository should fail'; return 1) -} - -testUpdateSameAnyPackageToDifferentRepositories() { - releasePackage extra pkg-any-a any - ../db-update - checkAnyPackage extra pkg-any-a-1-1-any.pkg.tar.xz any - - releasePackage testing pkg-any-a any - ../db-update >/dev/null 2>&1 && (fail 'Adding an existing package to another repository should fail'; return 1) - - local arch - for arch in $(arches); do - ( [ -r "${FTP_BASE}/testing/os/${arch}/testing${DBEXT%.tar.*}" ] \ - && 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 -} - - -testAddIncompleteSplitPackage() { - local arches=(`arches`) - local repo='extra' - local pkgbase='pkg-split-a' - local arch - - for arch in ${arches[@]}; do - releasePackage ${repo} ${pkgbase} ${arch} - done - - # remove a split package to make db-update fail - rm "${STAGING}"/extra/${pkgbase}1-* - - ../db-update >/dev/null 2>&1 && fail "db-update should fail when a split package is missing!" - - for arch in ${arches[@]}; do - ( [ -r "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT%.tar.*}" ] \ - && 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 -} - -testUnknownRepo() { - mkdir "${STAGING}/unknown/" - releasePackage extra 'pkg-simple-a' 'i686' - releasePackage unknown 'pkg-simple-b' 'i686' - ../db-update - checkPackage extra 'pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686' - [ -e "${FTP_BASE}/unknown" ] && fail "db-update pushed a package into an unknown repository" - rm -rf "${STAGING}/unknown/" -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/ftpdir-cleanup.sh b/extra/lukeshu-xbs/test/test.d/ftpdir-cleanup.sh deleted file mode 100755 index 630b88f..0000000 --- a/extra/lukeshu-xbs/test/test.d/ftpdir-cleanup.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testCleanupSimplePackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} pkg-simple-a - done - - ../cron-jobs/ftpdir-cleanup >/dev/null - - for arch in ${arches[@]}; 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" - [ -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ] && fail "${repo}/os/${arch}/${pkg1} found" - - local pkg2="pkg-simple-b-1-1-${arch}.pkg.tar.xz" - checkPackage extra ${pkg2} ${arch} - done -} - -testCleanupEpochPackages() { - local arches=(`arches`) - local pkgs=('pkg-simple-epoch') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} pkg-simple-epoch - done - - ../cron-jobs/ftpdir-cleanup >/dev/null - - for arch in ${arches[@]}; 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" - [ -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ] && fail "${repo}/os/${arch}/${pkg1} found" - done -} - -testCleanupAnyPackages() { - local pkgs=('pkg-any-a' 'pkg-any-b') - local pkgbase - local arch='any' - - for pkgbase in ${pkgs[@]}; do - releasePackage extra ${pkgbase} any - done - - ../db-update - ../db-remove extra any pkg-any-a - ../cron-jobs/ftpdir-cleanup >/dev/null - - local pkg1='pkg-any-a-1-1-any.pkg.tar.xz' - checkRemovedAnyPackage extra 'pkg-any-a' - [ -f "${FTP_BASE}/${PKGPOOL}/${pkg1}" ] && fail "${PKGPOOL}/${pkg1} found" - [ -f "${FTP_BASE}/${repo}/os/${arch}/${pkg1}" ] && fail "${repo}/os/${arch}/${pkg1} found" - - local pkg2="pkg-any-b-1-1-${arch}.pkg.tar.xz" - checkAnyPackage extra ${pkg2} -} - -testCleanupSplitPackages() { - local arches=(`arches`) - local pkgs=('pkg-split-a' 'pkg-split-b') - local pkg - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} ${pkgs[0]} - done - - ../cron-jobs/ftpdir-cleanup >/dev/null - - for arch in ${arches[@]}; do - for pkg in "${pkgdir}/${pkgs[0]}"/*-${arch}${PKGEXT}; do - checkRemovedPackage extra ${pkgs[0]} ${arch} - [ -f "${FTP_BASE}/${PKGPOOL}/${pkg}" ] && fail "${PKGPOOL}/${pkg} found" - [ -f "${FTP_BASE}/${repo}/os/${arch}/${pkg}" ] && fail "${repo}/os/${arch}/${pkg} found" - done - - for pkg in "${pkgdir}/${pkgs[1]}"/*-${arch}${PKGEXT}; do - checkPackage extra ${pkg##*/} ${arch} - done - done -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/packages.sh b/extra/lukeshu-xbs/test/test.d/packages.sh deleted file mode 100755 index 488cb15..0000000 --- a/extra/lukeshu-xbs/test/test.d/packages.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testPackages() { - # TODO: namcap -r sodepends fails with i686 packages - find "${pkgdir}" -name "*${PKGEXT}" -exec namcap -e sodepends,pkgnameindesc {} + || fail 'namcap failed' -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/signed-packages.sh b/extra/lukeshu-xbs/test/test.d/signed-packages.sh deleted file mode 100755 index 03566ef..0000000 --- a/extra/lukeshu-xbs/test/test.d/signed-packages.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testAddSignedPackage() { - releasePackage extra 'pkg-simple-a' 'i686' - ../db-update || fail "db-update failed!" -} - -testAddUnsignedPackage() { - releasePackage extra 'pkg-simple-a' 'i686' - rm "${STAGING}"/extra/*.sig - ../db-update >/dev/null 2>&1 && fail "db-update should fail when a signature is missing!" -} - -testAddInvalidSignedPackage() { - local p - releasePackage extra 'pkg-simple-a' 'i686' - for p in "${STAGING}"/extra/*${PKGEXT}; do - unxz $p - xz -0 ${p%%.xz} - done - ../db-update >/dev/null 2>&1 && fail "db-update should fail when a signature is invalid!" -} - -testAddBrokenSignature() { - local s - releasePackage extra 'pkg-simple-a' 'i686' - for s in "${STAGING}"/extra/*.sig; do - echo 0 > $s - done - ../db-update >/dev/null 2>&1 && fail "db-update should fail when a signature is broken!" -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/sourceballs.sh b/extra/lukeshu-xbs/test/test.d/sourceballs.sh deleted file mode 100755 index 472cb30..0000000 --- a/extra/lukeshu-xbs/test/test.d/sourceballs.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testSourceballs() { - local arches=(`arches`) - 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 - releasePackage extra ${pkgbase} ${arch} - done - done - ../db-update - - ../cron-jobs/sourceballs - for pkgbase in ${pkgs[@]}; do - [ ! -r ${FTP_BASE}/${SRCPOOL}/${pkgbase}-*${SRCEXT} ] && fail "source package not found!" - done -} - -testAnySourceballs() { - local pkgs=('pkg-any-a' 'pkg-any-b') - local pkgbase - - for pkgbase in ${pkgs[@]}; do - releasePackage extra ${pkgbase} any - done - ../db-update - - ../cron-jobs/sourceballs - for pkgbase in ${pkgs[@]}; do - [ ! -r ${FTP_BASE}/${SRCPOOL}/${pkgbase}-*${SRCEXT} ] && fail "source package not found!" - done -} - -testSplitSourceballs() { - local arches=(`arches`) - local pkgs=('pkg-split-a' 'pkg-split-b') - local pkg - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - - ../db-update - - ../cron-jobs/sourceballs - for pkgbase in ${pkgs[@]}; do - [ ! -r ${FTP_BASE}/${SRCPOOL}/${pkgbase}-*${SRCEXT} ] && fail "source package not found!" - done -} - -testSourceballsCleanup() { - local arches=(`arches`) - local pkgs=('pkg-simple-a' 'pkg-simple-b') - local pkgbase - local arch - - for pkgbase in ${pkgs[@]}; do - for arch in ${arches[@]}; do - releasePackage extra ${pkgbase} ${arch} - done - done - ../db-update - ../cron-jobs/sourceballs - - for arch in ${arches[@]}; do - ../db-remove extra ${arch} pkg-simple-a - done - - ../cron-jobs/sourceballs - [ -r ${FTP_BASE}/${SRCPOOL}/pkg-simple-a-*${SRCEXT} ] && fail "source package was not removed!" - [ ! -r ${FTP_BASE}/${SRCPOOL}/pkg-simple-b-*${SRCEXT} ] && fail "source package not found!" -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test.d/testing2x.sh b/extra/lukeshu-xbs/test/test.d/testing2x.sh deleted file mode 100755 index 0c2fa83..0000000 --- a/extra/lukeshu-xbs/test/test.d/testing2x.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -curdir=$(readlink -e $(dirname $0)) -. "${curdir}/../lib/common.inc" - -testTesting2xAnyPackage() { - releasePackage core pkg-any-a any - ../db-update - - pushd "${TMP}/svn-packages-copy/pkg-any-a/trunk/" >/dev/null - sed 's/pkgrel=1/pkgrel=2/g' -i PKGBUILD - arch_svn commit -q -m"update pkg to pkgrel=2" >/dev/null - sudo libremakepkg - mv pkg-any-a-1-2-any.pkg.tar.xz "${pkgdir}/pkg-any-a/" - popd >/dev/null - - releasePackage testing pkg-any-a any - ../db-update - rm -f "${pkgdir}/pkg-any-a/pkg-any-a-1-2-any.pkg.tar.xz" - - ../testing2x pkg-any-a - - checkAnyPackage core pkg-any-a-1-2-any.pkg.tar.xz any - checkRemovedAnyPackage testing pkg-any-a -} - -. "${curdir}/../lib/shunit2" diff --git a/extra/lukeshu-xbs/test/test_filter.py b/extra/lukeshu-xbs/test/test_filter.py deleted file mode 100644 index d8006f9..0000000 --- a/extra/lukeshu-xbs/test/test_filter.py +++ /dev/null @@ -1,196 +0,0 @@ -# -*- encoding: utf-8 -*- -""" """ - -__author__ = "Joshua Ismael Haase Hernández <hahj87@gmail.com>" -__version__ = "$Revision: 1.1 $" -__date__ = "$Date: 2011/02/08 $" -__copyright__ = "Copyright (c) 2011 Joshua Ismael Haase Hernández" -__license__ = "GPL3+" - -from repm.config import * -from repm.filter import * -import unittest - -class pkginfo_from_file_KnownValues(unittest.TestCase): - # (filename, name, version, release, arch) - # filename is location - known=( - ("community-testing/os/i686/inputattach-1.24-3-i686.pkg.tar.xz","inputattach","1.24","3","i686"), - ("community-testing/os/i686/ngspice-22-1-i686.pkg.tar.xz","ngspice","22","1","i686"), - ("community-testing/os/i686/tmux-1.4-2-i686.pkg.tar.xz","tmux","1.4","2","i686"), - ("community-testing/os/i686/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"), - ("../../../pool/community/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"), - ("community-testing/os/x86_64/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"), - ("../../../pool/community/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"), - ("tor-0.2.1.29-2-x86_64.pkg.tar.xz","tor","0.2.1.29","2","x86_64"), - ) - - def generate_results(self, example_tuple, attr): - location, name, version, release, arch = example_tuple - return pkginfo_from_filename(location)[attr], locals()[attr] - - def testReturnPackageObject(self): - for i in self.known: - location, name, version, release, arch = i - self.assertIsInstance(pkginfo_from_filename(location),Package) - - def testNames(self): - for i in self.known: - k,v = self.generate_results(example_tuple=i,attr="name") - self.assertEqual(k, v) - - def testVersions(self): - for i in self.known: - k,v = self.generate_results(example_tuple=i,attr="version") - self.assertEqual(k, v) - - def testArchs(self): - for i in self.known: - k,v = self.generate_results(example_tuple=i,attr="arch") - self.assertEqual(k, v) - - def testReleases(self): - for i in self.known: - k,v = self.generate_results(example_tuple=i,attr="release") - self.assertEqual(k, v) - - def testLocations(self): - for i in self.known: - k,v = self.generate_results(example_tuple=i,attr="location") - self.assertEqual(k, v) - -class pkginfo_from_file_BadInput(unittest.TestCase): - bad=("community-testing/os/i686/community-testing.db", - "community-testing/os/i686/community-testing.db.tar.gz", - "community-testing/os/i686/community-testing.db.tar.gz.old", - "community-testing/os/i686/community-testing.files", - "community-testing/os/i686/community-testing.files.tar.gz", - "community-testing/os/x86_64") - - def testBadInput(self): - for i in self.bad: - self.assertRaises(NonValidFile,pkginfo_from_filename,i) - -class pkginfoFromRsyncOutput(unittest.TestCase): - example_package_list=(Package(),Package(),Package()) - example_package_list[0].package_info={ "name" : "alex", - "version" : "2.3.4", - "release" : "1", - "arch" : "i686", - "license" : False, - "location": "community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz", - "depends" : False,} - example_package_list[1].package_info={ "name" : "any2dvd", - "version" : "0.34", - "release" : "4", - "arch" : "any", - "license" : False, - "location": "community/os/any/any2dvd-0.34-4-any.pkg.tar.xz", - "depends" : False,} - example_package_list[2].package_info={ "name" : "gmime22", - "version" : "2.2.26", - "release" : "1", - "arch" : "x86_64", - "license" : False, - "location": "community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz", - "depends" : False,} - - try: - output_file = open("rsync_output_sample") - rsync_out= output_file.read() - output_file.close() - except IOError: print("There is no rsync_output_sample file") - - pkglist = pkginfo_from_rsync_output(rsync_out) - - def testOutputArePackages(self): - if not self.pkglist: - self.fail("not pkglist:" + str(self.pkglist)) - for pkg in self.pkglist: - self.assertIsInstance(pkg,Package) - - def testPackageInfo(self): - if not self.pkglist: - self.fail("Pkglist doesn't exist: " + str(self.pkglist)) - self.assertEqual(self.pkglist,self.example_package_list) - -class generateRsyncBlacklist(unittest.TestCase): - example_package_list=(Package(),Package(),Package()) - example_package_list[0].package_info={ "name" : "alex", - "version" : "2.3.4", - "release" : "1", - "arch" : "i686", - "license" : False, - "location": "community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz", - "depends" : False,} - example_package_list[1].package_info={ "name" : "any2dvd", - "version" : "0.34", - "release" : "4", - "arch" : "any", - "license" : False, - "location": "community/os/any/any2dvd-0.34-4-any.pkg.tar.xz", - "depends" : False,} - example_package_list[2].package_info={ "name" : "gmime22", - "version" : "2.2.26", - "release" : "1", - "arch" : "x86_64", - "license" : False, - "location": "community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz", - "depends" : False,} - - def testListado(self): - self.assertEqual(listado("blacklist_sample"),["alex","gmime22"]) - - def testExcludeFiles(self): - a=rsyncBlacklist_from_blacklist(self.example_package_list, - listado("blacklist_sample"), - False) - b=[self.example_package_list[0]["location"],self.example_package_list[2]["location"]] - self.assertEqual(a,b) - -class pkginfo_from_descKnownValues(unittest.TestCase): - pkgsample=Package() - pkgsample.package_info={"name" : "binutils", - "version" : "2.21", - "release" : "4", - "arch" : "x86_64", - "license" : "GPL", - "location": "binutils-2.21-4-x86_64.pkg.tar.xz", - "depends" : False,} - fsock=open("desc") - pkggen=pkginfo_from_desc(fsock.read()) - fsock.close() - def testPkginfoFromDesc(self): - if self.pkggen is None: - self.fail("return value is None") - self.assertEqual(self.pkgsample,self.pkggen) - -class pkginfo_from_db(unittest.TestCase): - archdb = os.path.join("./workdir") - example_package_list=(Package(),Package(),Package()) - example_package_list[0].package_info={ "name" : "acl", - "version" : "2.2.49", - "release" : "2", - "arch" : "x86_64", - "license" : ("LGPL",), - "location": "acl-2.2.49-2-x86_64.pkg.tar.xz", - "depends" : ("attr>=2.4.41"),} - example_package_list[1].package_info={ "name" : "glibc", - "version" : "2.13", - "release" : "4", - "arch" : "x86_64", - "license" : ("GPL","LGPL"), - "location": "glibc-2.13-4-x86_64.pkg.tar.xz", - "depends" : ("linux-api-headers>=2.6.37","tzdata",),} - example_package_list[2].package_info={ "name" : "", - "version" : "2.2.26", - "release" : "1", - "arch" : "x86_64", - "license" : False, - "location": "", - "depends" : False,} - - -if __name__ == "__main__": - unittest.main() - |