changeset 20896:9fae01831dea

tests: prevent test-hup from hanging forever if the transaction does not start If the transaction fails to start because of some programing errors, the test would stay stuck in this while loop forever. We now added a basic safeguard that abort the loop if nothing happen in 10 seconds. 10 seconds sounds enough to let the server catch up and open a transaction.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 02 Apr 2014 00:01:21 -0700
parents f52e4ca93529
children 0b50788c160c
files tests/test-hup.t
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-hup.t	Mon Mar 31 16:03:34 2014 -0700
+++ b/tests/test-hup.t	Wed Apr 02 00:01:21 2014 -0700
@@ -11,7 +11,16 @@
   $ (
   > echo lock
   > echo addchangegroup
-  > while [ ! -s .hg/store/journal ]; do sleep 0; done
+  > start=`date +%s`
+  > # 10 second seems much enough to let the server catch up
+  > deadline=`expr $start + 10`
+  > while [ ! -s .hg/store/journal ]; do
+  >     sleep 0;
+  >     if [ `date +%s` -gt $deadline ]; then
+  >         echo "transaction did not start after 10 seconds" >&2;
+  >         exit 1;
+  >     fi
+  > done
   > kill -HUP $P
   > ) > p