tests/test-hup.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Wed, 27 May 2015 00:52:01 -0700
changeset 25321 b44ee346211f
parent 23277 581d3bc03aad
permissions -rw-r--r--
bundle2: add debug output for part generation The part generation process was lacking a ui object and could not produce debug output. It seems valuable to have some debug output on this part too, especially now that we are planning to be able to hide it in the default --debug output.

#require serve fifo

Test hangup signal in the middle of transaction

  $ hg init
  $ mkfifo p
  $ hg serve --stdio < p 1>out 2>&1 &
  $ P=$!

Do test while holding fifo open

  $ (
  > echo lock
  > echo addchangegroup
  > 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

  $ wait
  $ cat out
  0
  0
  adding changesets
  transaction abort!
  rollback completed
  killed!

  $ ls -1d .hg/* .hg/store/*
  .hg/00changelog.i
  .hg/journal.bookmarks
  .hg/journal.branch
  .hg/journal.desc
  .hg/journal.dirstate
  .hg/requires
  .hg/store
  .hg/store/00changelog.i
  .hg/store/00changelog.i.a
  .hg/store/journal.phaseroots