Changeset 1727
- Timestamp:
- 09/27/07 15:11:24
- Files:
-
- trunk/cherrypy/test/test.py (modified) (1 diff)
- trunk/cherrypy/test/test_http.py (modified) (3 diffs)
- trunk/cherrypy/test/test_refleaks.py (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/test/test.py
r1680 r1727 354 354 355 355 testList = [ 356 # Run refleak test ASAP to make debugging easier. 357 'test_refleaks', 358 356 359 'test_proxy', 357 360 'test_caching', trunk/cherrypy/test/test_http.py
r1275 r1727 9 9 test.prefer_parent_path() 10 10 11 import gc12 11 import httplib 13 import threading14 12 import cherrypy 15 from cherrypy import _cprequest16 13 17 18 data = object()19 20 def get_instances(cls):21 return [x for x in gc.get_objects() if isinstance(x, cls)]22 14 23 15 def setup_server(): … … 25 17 class Root: 26 18 def index(self, *args, **kwargs): 27 cherrypy.request.thing = data28 19 return "Hello world!" 29 20 index.exposed = True 30 31 def gc_stats(self): 32 return "%s %s %s %s" % (gc.collect(), 33 len(get_instances(_cprequest.Request)), 34 len(get_instances(_cprequest.Response)), 35 len(gc.get_referrers(data))) 36 gc_stats.exposed = True 21 37 22 cherrypy.tree.mount(Root()) 38 23 cherrypy.config.update({'environment': 'test_suite'}) … … 52 37 53 38 54 class ReferenceTests(helper.CPWebCase):55 56 def test_threadlocal_garbage(self):57 def getpage():58 self.getPage('/')59 self.assertBody("Hello world!")60 61 ts = []62 for _ in range(25):63 t = threading.Thread(target=getpage)64 ts.append(t)65 t.start()66 67 for t in ts:68 t.join()69 70 self.getPage("/gc_stats")71 self.assertBody("0 1 1 1")72 73 74 39 if __name__ == '__main__': 75 40 setup_server()

