Mercurial > hg
view tests/test-bundle-type.t @ 18759:9baf4330d88f
sshpeer: store subprocess so it cleans up correctly
When running 'hg pull --rebase', I was seeing this exception 100% of the
time as the python process was closing down:
Exception TypeError: TypeError("'NoneType' object is not callable",) in
<bound method Popen.__del__ of <subprocess.Popen object at 0x937c10>> ignored
By storing the subprocess on the sshpeer, the subprocess seems to clean up
correctly, and I no longer see the exception. I have no idea why this actually
works, but I get a 0% repro if I store the subprocess in self.subprocess,
and a 100% repro if I store None in self.subprocess.
Possibly related to issue 2240.
author | Durham Goode <durham@fb.com> |
---|---|
date | Fri, 08 Mar 2013 16:59:36 -0800 |
parents | d54d4de56aa7 |
children | eabe44ec5af5 |
line wrap: on
line source
bundle w/o type option $ hg init t1 $ hg init t2 $ cd t1 $ echo blablablablabla > file.txt $ hg ci -Ama adding file.txt $ hg log | grep summary summary: a $ hg bundle ../b1 ../t2 searching for changes 1 changesets found $ cd ../t2 $ hg pull ../b1 pulling from ../b1 requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) $ hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log | grep summary summary: a $ cd .. test bundle types $ for t in "None" "bzip2" "gzip"; do > echo % test bundle type $t > hg init t$t > cd t1 > hg bundle -t $t ../b$t ../t$t > cut -b 1-6 ../b$t | head -n 1 > cd ../t$t > hg pull ../b$t > hg up > hg log | grep summary > cd .. > done % test bundle type None searching for changes 1 changesets found HG10UN pulling from ../bNone requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved summary: a % test bundle type bzip2 searching for changes 1 changesets found HG10BZ pulling from ../bbzip2 requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved summary: a % test bundle type gzip searching for changes 1 changesets found HG10GZ pulling from ../bgzip requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved summary: a test garbage file $ echo garbage > bgarbage $ hg init tgarbage $ cd tgarbage $ hg pull ../bgarbage abort: ../bgarbage: not a Mercurial bundle [255] $ cd .. test invalid bundle type $ cd t1 $ hg bundle -a -t garbage ../bgarbage abort: unknown bundle type specified with --type [255] $ cd ..