tests/test-hup.t
branchstable
changeset 25855 96a38d44ba09
parent 25745 501c51d60792
parent 25854 eabba9c75061
child 25856 98a852a44673
equal deleted inserted replaced
25745:501c51d60792 25855:96a38d44ba09
     1 #require serve fifo
       
     2 
       
     3 Test hangup signal in the middle of transaction
       
     4 
       
     5   $ hg init
       
     6   $ mkfifo p
       
     7   $ hg serve --stdio < p 1>out 2>&1 &
       
     8   $ P=$!
       
     9 
       
    10 Do test while holding fifo open
       
    11 
       
    12   $ (
       
    13   > echo lock
       
    14   > echo addchangegroup
       
    15   > start=`date +%s`
       
    16   > # 10 second seems much enough to let the server catch up
       
    17   > deadline=`expr $start + 10`
       
    18   > while [ ! -s .hg/store/journal ]; do
       
    19   >     sleep 0;
       
    20   >     if [ `date +%s` -gt $deadline ]; then
       
    21   >         echo "transaction did not start after 10 seconds" >&2;
       
    22   >         exit 1;
       
    23   >     fi
       
    24   > done
       
    25   > kill -HUP $P
       
    26   > ) > p
       
    27 
       
    28   $ wait
       
    29   $ cat out
       
    30   0
       
    31   0
       
    32   adding changesets
       
    33   transaction abort!
       
    34   rollback completed
       
    35   killed!
       
    36 
       
    37   $ ls -1d .hg/* .hg/store/*
       
    38   .hg/00changelog.i
       
    39   .hg/journal.bookmarks
       
    40   .hg/journal.branch
       
    41   .hg/journal.desc
       
    42   .hg/journal.dirstate
       
    43   .hg/requires
       
    44   .hg/store
       
    45   .hg/store/00changelog.i
       
    46   .hg/store/00changelog.i.a
       
    47   .hg/store/journal.phaseroots