Mercurial > hg
view tests/test-hup.t @ 24974:46408b80c3a1
lazymanifest: avoid 'bail' label when used on success path
3d485727e45e (lazymanifest: extract function for iterating to next
line, 2015-03-11) introduced a large memory leak because I stopped
running the 'bail' block in the successful case. Let's rename 'bail'
to 'done', since it has to run not only in the error case.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sun, 12 Apr 2015 07:12:39 -0700 |
parents | 581d3bc03aad |
children |
line wrap: on
line source
#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