tests/test-bad-extension
author Alexandre Fayolle <alexandre.fayolle@logilab.fr>
Thu, 23 Sep 2010 11:41:27 +0200
branchstable
changeset 12391 ca5fd84d62c6
parent 6204 f8a86ea7521b
permissions -rwxr-xr-x
Fix memory leak when using hg commands over http repositories When using hg commands over an http repository in a long running process, a httphandler instance is leaked for each command, because of a loop handler.parent -> OpenerDirector and OpenerDirector.handlers -> handler which is not handled by Python's gc. Discussion on #mercurial concluded that removing the __del__ method solved the problem.

#!/bin/sh

echo 'raise Exception("bit bucket overflow")' > badext.py
abspath=`pwd`/badext.py

echo '[extensions]' >> $HGRCPATH
echo "gpg =" >> $HGRCPATH
echo "hgext.gpg =" >> $HGRCPATH
echo "badext = $abspath" >> $HGRCPATH
echo "badext2 =" >> $HGRCPATH

hg -q help help 2>&1 | python -c \
  "import sys; sys.stdout.write(sys.stdin.read().replace('$abspath', '.../badext.py'))"