diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-07-01 23:37:55 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-07-01 23:53:10 +0100 |
commit | ae6f73de56d388b235980c765acbdb2e205c332e (patch) | |
tree | 4d092602363f564bcfe3a787172a61c102e0bcbc | |
parent | 8b21e27c6d1fb3d3d7c1da290f2e6f3bc278b40a (diff) |
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).
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | tests/lib | 8 | ||||
-rwxr-xr-x | tests/tests/drs-push-rejects | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index f267d1d..697fae8 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. -- @@ -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 3782890..1a57374 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 "$@" } |