[Checkins] SVN: grokproject/branches/rochael-alternate-grok_release_url/tests.py use a 'tempfile' temporary directory instead of a hardcoded one
Leonardo Rochael Almeida
leo at hiper.com.br
Sun Sep 28 04:14:59 EDT 2008
Log message for revision 91572:
use a 'tempfile' temporary directory instead of a hardcoded one
Changed:
U grokproject/branches/rochael-alternate-grok_release_url/tests.py
-=-
Modified: grokproject/branches/rochael-alternate-grok_release_url/tests.py
===================================================================
--- grokproject/branches/rochael-alternate-grok_release_url/tests.py 2008-09-28 08:07:53 UTC (rev 91571)
+++ grokproject/branches/rochael-alternate-grok_release_url/tests.py 2008-09-28 08:14:58 UTC (rev 91572)
@@ -14,6 +14,7 @@
import shutil
import popen2
import StringIO
+import tempfile
from zope.testing import doctest
@@ -70,7 +71,7 @@
open(filename, 'w').write(kwargs.get('data',''))
execdir = os.path.abspath(os.path.dirname(sys.executable))
-tempdir = os.getenv('TEMP','/tmp')
+testfiles = ['tests.txt',]# 'test_offline.txt']
def doc_suite(package_dir, setUp=None, tearDown=None, globs=None):
"""Returns a test suite, based on doctests found in /doctest."""
@@ -78,18 +79,28 @@
if globs is None:
globs = globals()
+ tempdir = tempfile.mkdtemp()
+ globs.update(tempdir=tempdir)
+ def docTearDown(doctest):
+ tempdir = doctest.globs['tempdir']
+ assert os.path.isdir(tempdir)
+ rmdir(tempdir)
+ assert not os.path.exists(tempdir)
+ if tearDown is not None:
+ tearDown(doctest)
+
flags = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE |
doctest.REPORT_ONLY_FIRST_FAILURE)
if package_dir not in sys.path:
sys.path.append(package_dir)
- docs = [os.path.join(package_dir, 'tests.txt')]
+ docs = [os.path.join(package_dir, name) for name in testfiles]
for test in docs:
suite.append(doctest.DocFileSuite(test, optionflags=flags,
globs=globs, setUp=setUp,
- tearDown=tearDown,
+ tearDown=docTearDown,
module_relative=False))
return unittest.TestSuite(suite)
More information about the Checkins
mailing list