# Shell script snippets used in the test scripts... set -e -u export LC_ALL=C testrun() { rules=$1 shift if test "x$rules" = "x" ; then "$TESTTOOL" -C $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" elif test "x$rules" = "x-" ; then "$TESTTOOL" -r -C $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" else "$TESTTOOL" -r -C $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" 3<"$rules".rules fi } testout() { rules=$1 shift if test "x$rules" = "x" ; then "$TESTTOOL" -o results $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" elif test "x$rules" = "x-" ; then "$TESTTOOL" -o results -r $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" else "$TESTTOOL" -o results -r $TRACKINGTESTOPTIONS $TESTOPTIONS "$REPREPRO" $REPREPROOPTIONS "$@" 3<"$rules".rules fi } dogrep() { echo grep -q "$@" grep -q "$@" } dongrep() { echo "!grep" -q "$@" ! grep -q "$@" } dodiff() { echo diff -u "$@" diff -u "$@" } dodo() { echo "$@" "$@" } if test -z "$SRCDIR" || ! test -d "$SRCDIR" ; then echo "SRCDIR='$SRCDIR' not a valid directory!" >&2 exit 1 fi if test -z "$TESTSDIR" || ! test -d "$TESTSDIR" ; then echo "TESTSDIR='$TESTSDIR' not a valid directory!" >&2 exit 1 fi if test -z "$WORKDIR" || ! test -d "$WORKDIR" ; then echo "WORKDIR='$WORKDIR' not a valid directory!" >&2 exit 1 fi # avoid architecture dependency of the test-suite: export DEB_HOST_ARCH="abacus" export PATH="$TESTSDIR:$PATH" if ! [ -x "$REPREPRO" ] ; then echo "Could not find $REPREPRO!" >&2 exit 1 fi checknolog() { dodo test ! -f logs/"$1" } checklog() { sort > results.log.expected LOGDATE="$(date +'%Y-%m-%d %H:')" echo normalizing "$1": DATESTR is "$LOGDATE??:??" sed -e 's/^'"$LOGDATE"'[0-9][0-9]:[0-9][0-9] /DATESTR /g' logs/"$1" | sort > results.log dodiff results.log.expected results.log rm logs/"$1" results.log } md5() { md5sum "$1" | cut -d' ' -f1 } sha1() { sha1sum "$1" | cut -d' ' -f1 } sha256() { sha256sum "$1" | cut -d' ' -f1 } printindexpart() { FILENAME="$1" dpkg-deb -I "$FILENAME" control >"$FILENAME".control ed -s "$FILENAME".control << EOF H /^Description:/ kd /^Priority/ m 'd-1 /^Section/ m 'd-1 'd i Filename: $FILENAME Size: $(stat -c "%s" "$FILENAME") SHA256: $(sha256 "$FILENAME") SHA1: $(sha1 "$FILENAME") MD5sum: $(md5 "$FILENAME") . $ a . w q EOF cat "$FILENAME".control rm "$FILENAME".control } withoutchecksums() { awk 'BEGIN{inheader=0} /^Checksums-.*:/ || (inheader && /^ /) {inheader = 1; next} {inheader = 0 ; print}' "$@" } mdandsize() { cat < empty.rules <