Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-hup @ 2734:07026da25ed8
hbisect.py: don't rely on __del__ to write the current state.
This is yet another page of the "Thou shalt not do too much inside
__del__ methods" book, in the "demandload and __del__ don't go well
together" chapter.
The bisect extension is broken in 0.9.1:
$ hg bisect init
$ hg bisect bad
Fatal Python error: Interpreter not initialized (version mismatch?)
Aborted
(yes, I tripled checked my instalation to make sure the problem is not
there)
It's been broken since revision fe1689273f84 moved the import of the
binascii module into a demandload.
(In details: the first time that "hg bisect bad" (or good) is called,
there are still no revisions saved in .hg/bisect/*, so bisect.__init__
doesn't call hg.bin on anything. So, when we reach __del__, the
binascii module still hasn't been imported and we get that "nice"
message above.)
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Fri, 28 Jul 2006 21:20:41 -0300 |
parents | 9419855309cd |
children | c0b449154a90 |
rev | line source |
---|---|
642 | 1 #!/bin/sh |
2 | |
3 hg init | |
4 mkfifo p | |
5 | |
6 hg serve --stdio < p & | |
7 P=$! | |
8 (echo lock; echo addchangegroup; sleep 5) > p & | |
9 Q=$! | |
2529
9419855309cd
Some systems are slower ... give 'em some time/
Sascha Wilde <wilde@sha-bang.de>
parents:
2088
diff
changeset
|
10 sleep 3 |
642 | 11 kill -HUP $P |
2088
f16435b45780
Exit test-hup only after the background process has died.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
12 wait |
642 | 13 ls .hg |
14 | |
15 | |
16 |