Log message for revision 30382: Modified runalltests.py so it imports modules more like test.py, i.e. without touching sys.path and without the help of imp.
Changed: U Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt U Zope/trunk/lib/python/Testing/ZopeTestCase/runalltests.py U Zope/trunk/lib/python/Testing/ZopeTestCase/zopedoctest/runalltests.py -=- Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt =================================================================== --- Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt 2005-05-18 06:52:18 UTC (rev 30381) +++ Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt 2005-05-18 14:02:32 UTC (rev 30382) @@ -17,6 +17,8 @@ Reusing the registry from other modules becomes a lot cleaner as a result. - Made sure to close the REQUEST so as not to leak REQUEST._held. Thanks to Sidnei da Silva. +- Modified runalltests.py so it imports modules more like test.py, i.e. + without touching sys.path and without the help of imp. 0.9.6 - Dropped support for Zope 2.5 as it lacks the setSecurityManager() API. Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/runalltests.py =================================================================== --- Zope/trunk/lib/python/Testing/ZopeTestCase/runalltests.py 2005-05-18 06:52:18 UTC (rev 30381) +++ Zope/trunk/lib/python/Testing/ZopeTestCase/runalltests.py 2005-05-18 14:02:32 UTC (rev 30382) @@ -15,38 +15,34 @@ Execute like: python runalltests.py [-R] -$Id:$ +$Id$ """ -__version__ = '0.2.1' +__version__ = '0.3.1' import os, sys if __name__ == '__main__': execfile(os.path.join(sys.path[0], 'framework.py')) -import unittest, imp +import unittest TestRunner = unittest.TextTestRunner suite = unittest.TestSuite() -def visitor(recursive, dir, names): - tests = [n[:-3] for n in names if n.startswith('test') and n.endswith('.py')] - - for test in tests: - saved_syspath = sys.path[:] - sys.path.insert(0, dir) - try: - fp, path, desc = imp.find_module(test, [dir]) - m = imp.load_module(test, fp, path, desc) +def test_finder(recurse, dir, names): + if dir == os.curdir or '__init__.py' in names: + parts = [x for x in dir[len(os.curdir):].split(os.sep) if x] + tests = [x for x in names if x.startswith('test') and x.endswith('.py')] + for test in tests: + modpath = parts + [test[:-3]] + m = __import__('.'.join(modpath)) + for part in modpath[1:]: + m = getattr(m, part) if hasattr(m, 'test_suite'): suite.addTest(m.test_suite()) - finally: - fp.close() - sys.path[:] = saved_syspath - - if not recursive: + if not recurse: names[:] = [] if __name__ == '__main__': - os.path.walk(os.curdir, visitor, '-R' in sys.argv) + os.path.walk(os.curdir, test_finder, '-R' in sys.argv) TestRunner().run(suite) Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/zopedoctest/runalltests.py =================================================================== --- Zope/trunk/lib/python/Testing/ZopeTestCase/zopedoctest/runalltests.py 2005-05-18 06:52:18 UTC (rev 30381) +++ Zope/trunk/lib/python/Testing/ZopeTestCase/zopedoctest/runalltests.py 2005-05-18 14:02:32 UTC (rev 30382) @@ -15,38 +15,34 @@ Execute like: python runalltests.py [-R] -$Id:$ +$Id$ """ -__version__ = '0.2.1' +__version__ = '0.3.1' import os, sys if __name__ == '__main__': execfile(os.path.join(sys.path[0], 'framework.py')) -import unittest, imp +import unittest TestRunner = unittest.TextTestRunner suite = unittest.TestSuite() -def visitor(recursive, dir, names): - tests = [n[:-3] for n in names if n.startswith('test') and n.endswith('.py')] - - for test in tests: - saved_syspath = sys.path[:] - sys.path.insert(0, dir) - try: - fp, path, desc = imp.find_module(test, [dir]) - m = imp.load_module(test, fp, path, desc) +def test_finder(recurse, dir, names): + if dir == os.curdir or '__init__.py' in names: + parts = [x for x in dir[len(os.curdir):].split(os.sep) if x] + tests = [x for x in names if x.startswith('test') and x.endswith('.py')] + for test in tests: + modpath = parts + [test[:-3]] + m = __import__('.'.join(modpath)) + for part in modpath[1:]: + m = getattr(m, part) if hasattr(m, 'test_suite'): suite.addTest(m.test_suite()) - finally: - fp.close() - sys.path[:] = saved_syspath - - if not recursive: + if not recurse: names[:] = [] if __name__ == '__main__': - os.path.walk(os.curdir, visitor, '-R' in sys.argv) + os.path.walk(os.curdir, test_finder, '-R' in sys.argv) TestRunner().run(suite) _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins