##// 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
Test hangup signal in the middle of transaction
$ "$TESTDIR/hghave" serve fifo || exit 80
$ hg init
$ mkfifo p
$ hg serve --stdio < p 1>out 2>&1 &
$ P=$!
Do test while holding fifo open
$ (
> echo lock
> echo addchangegroup
> while [ ! -s .hg/store/journal ]; do true; done
> kill -HUP $P
> ) > p
$ while kill -0 $P 2>/dev/null; do true; done
$ cat out
0
0
adding changesets
transaction abort!
rollback completed
killed!
$ echo .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