nose-devs / nose

nose is nicer testing for python
http://readthedocs.org/docs/nose/en/latest/
1.36k stars 395 forks source link

fix: fix _precache memory leak from LazySuite #1054

Open iainb opened 7 years ago

iainb commented 7 years ago

LazySuite keeps all a reference to all tests (even those that have been run) under self._precache. When running a large number of tests this can cause nose to use up all available system memory. This makes running the whole test suite impossible.

This change fixes that issue and keeps the behaviour of LazySuite.__nonzero__ intact. All tests pass under python 2.7 that passed prior to the change (there are some for the coverage plugin that didn't and still don't pass).