test_web.py: fix memory leak when run with --until-failure
authorBrian Warner <warner@lothar.com>
Tue, 22 May 2012 22:18:26 +0000 (15:18 -0700)
committerBrian Warner <warner@lothar.com>
Tue, 22 May 2012 22:39:49 +0000 (15:39 -0700)
commitbfee999e20aa9fdc0b05c7d72cf11077cb319d78
treeb943ff9d06439d00b7081c61c1a530f61346e722
parentbcdfb5802e0d4373ae8940d30e199b919dbe6927
test_web.py: fix memory leak when run with --until-failure

The Fake*Node classes in test/common.py were accumulating share data in
a class-level dictionary, which persisted from one test run to the next.
As a result, running test_web.py over and over (with trial's
--until-failure feature) made this dictionary grow without bound,
eventually running out of memory.

This fix moves that dictionary into the FakeClient built fresh for each
test, so it doesn't build up. It does the same thing for "file_types",
which was much smaller but still lived at the class level.

Closes #1729
src/allmydata/test/common.py
src/allmydata/test/test_web.py