diff options
author | Raymond Hettinger <python@rcn.com> | 2003-02-04 05:47:30 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2003-02-04 05:47:30 (GMT) |
commit | 105b084b59208cd71759111d51861b50d1573ac4 (patch) | |
tree | 0c13b413a36b2107347b9c3c5b97ba5f0d30eae4 /Lib/test/test_random.py | |
parent | fa05ce3c1d03fe9923fc962204d241b9cd3384d7 (diff) | |
download | cpython-105b084b59208cd71759111d51861b50d1573ac4.zip cpython-105b084b59208cd71759111d51861b50d1573ac4.tar.gz cpython-105b084b59208cd71759111d51861b50d1573ac4.tar.bz2 |
Add refcount test.
Diffstat (limited to 'Lib/test/test_random.py')
-rw-r--r-- | Lib/test/test_random.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py index cc9b44e..9a1636a 100644 --- a/Lib/test/test_random.py +++ b/Lib/test/test_random.py @@ -74,7 +74,7 @@ class TestBasicOps(unittest.TestCase): pop = range(n) trials = 10000 # large num prevents false negatives without slowing normal case def factorial(n): - return n==0 and 1 or n * factorial(n-1) + return reduce(int.__mul__, xrange(1, n), 1) for k in xrange(n): expected = factorial(n) / factorial(n-k) perms = {} @@ -271,7 +271,7 @@ class TestModule(unittest.TestCase): # tests validity but not completeness of the __all__ list self.failUnless(Set(random.__all__) <= Set(dir(random))) -def test_main(): +def test_main(verbose=None): suite = unittest.TestSuite() for testclass in (WichmannHill_TestBasicOps, MersenneTwister_TestBasicOps, @@ -280,5 +280,14 @@ def test_main(): suite.addTest(unittest.makeSuite(testclass)) test_support.run_suite(suite) + # verify reference counting + import sys + if verbose and hasattr(sys, "gettotalrefcount"): + counts = [] + for i in xrange(5): + test_support.run_suite(suite) + counts.append(sys.gettotalrefcount()-i) + print counts + if __name__ == "__main__": - test_main() + test_main(verbose=True) |