From ae6f73de56d388b235980c765acbdb2e205c332e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 1 Jul 2016 23:37:55 +0100 Subject: [PATCH 1/1] Set GIT_COMMITTER_DATE and GIT_AUTHOR_DATE This avoids most date dependencies: unless other measures are taken, the commits and tags are identical iff they are constructed identically. This makes the test suite more deterministic. In drs-push-rejects test, increment them explicitly, so as to make all of mktag's tags distinct objects. Otherwise it can generate identical tags (now, always; previously, only sometimes on fast computers), causing spurious variations in behaviour (eg, things not being rejected because they do not represent any change). --- debian/changelog | 3 +++ tests/lib | 8 ++++++++ tests/tests/drs-push-rejects | 1 + 3 files changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index f267d1db..697fae88 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,9 @@ dgit (1.5~~) unstable; urgency=medium file. Instead, simply tolerate the absence of the log file. * Put --no-arch-all in build-modes-sbuild act, not only its real_act. Cosmetic change only. + * Set GIT_COMMITTER_DATE and GIT_AUTHOR_DATE and increment them + explicitly in drs-push-rejects test. This avoids date dependencies + which can cause that test to fail on fast computers. -- diff --git a/tests/lib b/tests/lib index 9308b169..7f459aa2 100644 --- a/tests/lib +++ b/tests/lib @@ -12,6 +12,9 @@ t-set-intree : ${DGIT_TEST_DEBUG=-D} export DGIT_TEST_DEBUG +export GIT_COMMITTER_DATE='1440253867 +0100' +export GIT_AUTHOR_DATE='1440253867 +0100' + root=`pwd` troot=$root/tests testname="${DGIT_TEST_TESTNAME-${0##*/}}" @@ -45,6 +48,11 @@ incoming = $tmp/incoming run_dinstall = 0 END +t-git-next-date () { + GIT_COMMITTER_DATE="$(( ${GIT_COMMITTER_DATE%% *} + 1 )) ${GIT_COMMITTER_DATE#* }" + GIT_AUTHOR_DATE="$GIT_COMMITTER_DATE" +} + t-expect-fail () { local mpat="$1"; shift diff --git a/tests/tests/drs-push-rejects b/tests/tests/drs-push-rejects index 37828908..1a573748 100755 --- a/tests/tests/drs-push-rejects +++ b/tests/tests/drs-push-rejects @@ -37,6 +37,7 @@ prep () { push_spec="$push_spec1 $push_spec2" } mktag () { + t-git-next-date git tag -f $tag_signer -m "$tag_message" $tag_name "$@" } -- 2.30.2