: ${DGIT_TEST_DISTRO+ ${distro=${DGIT_TEST_DISTRO}}}
-export GIT_COMMITTER_DATE='1515000000 +0100'
-export GIT_AUTHOR_DATE='1515000000 +0100'
+export GIT_COMMITTER_DATE='1530000000 +0100'
+export GIT_AUTHOR_DATE='1530000000 +0100'
+
+export LC_CTYPE=C.UTF-8
root=`pwd`
troot=$root/tests
testname="${DGIT_TEST_TESTNAME-${0##*/}}"
export DGIT_TEST_TROOT=$troot
+bpd=..
tmp=$ADTTMP
if [ x"$tmp" = x ]; then
test -f $tmp/.save-env || \
env -0 >$tmp/.save-env
-ln -f $troot/ssh ssh
+ln -sf $troot/ssh ssh
export DEBCHANGE_VENDOR=dpkg
+unset VISUAL
+unset GIT_EDITOR
mkdir -p $tmp/incoming
cat <<END >$tmp/dput.cf
run_dinstall = 0
END
+schroot=${DGIT_SCHROOT_CHROOT:-build}
+# Pretty much any Debian sid snapshot schroot will do.
+
: ${t_archive_method:=aq}
: ${tagpfx:=archive/test-dummy}
: ${suitespecs:=sid:unstable}
local mpat="$1"; shift
set +o pipefail
- LC_MESSAGES=C "$@" 2>&1 | tee $tmp/t.output
+ LC_MESSAGES=${expect_fail_lcmessages-C} \
+ LANGUAGE=${expect_fail_lcmessages-C} \
+ "$@" 2>&1 | tee $tmp/t.output
local ps="${PIPESTATUS[*]}"
set -o pipefail
v=$2
local dscf=${p}_$2.dsc
rm -f $tmp/mirror/pool/main/${p}_*
- ln $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/
+ ln -s $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/
t-archive-query $suite
rm -rf $tmp/extract
mkdir $tmp/extract
esac
}
+t-check-only-bpd () {
+ if [ "$bpd" = .. ]; then return; fi
+ t-files-notexist \
+ $tmp/*.{deb,changes,dsc,buildinfo} \
+ $tmp/*.{tar,diff}.*
+}
+
t-fscks () {
(
shopt -s nullglob
t-ok () {
: '========================================'
+ t-check-only-bpd
t-fscks
t-save-artifacts
echo ok.
artifacts="$AUTOPKGTEST_ARTIFACTS"
if [ x"$artifacts" = x ]; then return; fi
if [ x"tmp" = x ]; then return; fi
- : '(((((((((( t-save-artifacts ))))))))))'
GZIP=-1v tar -C "$tmp" -zc -f "$artifacts/${0##*/}.tar.gz" \
--exclude=\*.tar .
- : ')))))))))) t-save-artifacts ))))))))))'
}
t-rm-dput-dropping () {
done
}
+t-push-included () {
+ for f in $@; do
+ stat $tmp/incoming/$f
+ done
+}
+
t-pushed-good () {
local branch=$1
local suite=${2:-sid}
git verify-tag `t-v-tag`
}
+t-pushed-good-check-changes () {
+ changes_filename="$tmp/incoming/${p}_${v}_*.changes"
+ grep -E "^Distribution: $suite" $changes_filename
+ grep -E "^Version: $v" $changes_filename
+}
+
t-splitbrain-pushed-good--unpack () {
cd $tmp
rm -rf t-unpack
t-expect-fsck-fail $badcommit
}
+t-make-orig () {
+ # leaves ust set to filename of orig tarball
+ local p=$1
+ local v=$2
+ local tag=${3-v$2}
+ ust=${p}_${v}.orig.tar.gz
+ GZIP=-1 git archive -o $bpd/$ust --prefix=${p}-${v}/ $tag
+}
+
+t-merge-conflicted-stripping-conflict-markers () {
+ local otherbranch=$1
+ local file=$2
+
+ t-expect-fail F:"Merge conflict in $file" \
+ git merge $otherbranch
+
+ perl -i~ -ne 'print unless m{^(?:\<\<\<|\>\>\>|===)}' "$file"
+ git add "$file"
+ git commit --no-edit
+}
+
t-commit () {
local msg=$1
v=${2:-${majorv:-1}.$revision}
- dch --force-distribution -v$v --distribution ${3:-unstable} "$1"
+ $troot/tstunt/debchange \
+ --force-distribution -v$v --distribution ${3:-unstable} "$1"
git add debian/changelog
debcommit
revision=$(( ${revision-0} + 1 ))
}
t-dch-commit () {
- faketime @"${GIT_AUTHOR_DATE% *}" dch "$@"
+ $troot/tstunt/debchange "$@"
git commit -m "dch $*" debian/changelog
}
: '))))))))))))))))))))))))))))))))))))))))'
}
+t-buildproductsdir-config () {
+ bpd=$tmp/bpd
+ t-git-config dgit.default.build-products-dir $bpd
+ mkdir -p $bpd
+ cat <<END >>$tmp/.gbp.conf
+[buildpackage]
+export-dir = $bpd
+END
+}
+
t-restrict () {
local restriction=$1
(cd $root; t-restriction-$restriction >&2)