##// END OF EJS Templates
tests: make test-hup more race-proof...
tests: make test-hup more race-proof We need to wait until a journal exists AND is non-empty before aborting a transaction to get stable output. We move the kill wait outside the fifo block to avoid potential deadlock.

File last commit:

r16342:7e24d348 stable
r16342:7e24d348 stable
Show More
test-hup.t
28 lines | 692 B | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-hup
r12413 Test hangup signal in the middle of transaction
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446 $ "$TESTDIR/hghave" serve fifo || exit 80
Matt Mackall
tests: unify test-hup
r12413 $ hg init
$ mkfifo p
Matt Mackall
tests: make test-hup more race-proof...
r16342 $ hg serve --stdio < p 1>out 2>&1 &
Matt Mackall
tests: unify test-hup
r12413 $ P=$!
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299
Do test while holding fifo open
$ (
> echo lock
> echo addchangegroup
Matt Mackall
tests: make test-hup more race-proof...
r16342 > while [ ! -s .hg/store/journal ]; do true; done
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299 > kill -HUP $P
> ) > p
Matt Mackall
tests: make test-hup more race-proof...
r16342
$ while kill -0 $P 2>/dev/null; do true; done
$ cat out
Matt Mackall
tests: unify test-hup
r12413 0
0
adding changesets
transaction abort!
rollback completed
killed!
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299
Matt Mackall
tests: unify test-hup
r12413 $ echo .hg/* .hg/store/*
Pierre-Yves David
phases: add rollback support
r15455 .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