'forget' now also deletes any proper .pyo files.

Added some docstrings.
This commit is contained in:
Brett Cannon 2003-05-04 21:15:27 +00:00
parent 015dd82136
commit f1cfb622e8
1 changed files with 19 additions and 1 deletions

View File

@ -1,4 +1,4 @@
"""Supporting definitions for the Python regression test."""
"""Supporting definitions for the Python regression tests."""
if __name__ != 'test.test_support':
raise ImportError, 'test_support must be imported from the test package'
@ -50,6 +50,8 @@ def unload(name):
pass
def forget(modname):
'''"Forget" a module was ever imported by removing it from sys.modules and
deleting any .pyc and .pyo files.'''
unload(modname)
import os
for dirname in sys.path:
@ -57,11 +59,24 @@ def forget(modname):
os.unlink(os.path.join(dirname, modname + '.pyc'))
except os.error:
pass
# Deleting the .pyo file cannot be within the 'try' for the .pyc since
# the chance exists that there is no .pyc (and thus the 'try' statement
# is exited) but there is a .pyo file.
try:
os.unlink(os.path.join(dirname, modname + '.pyo'))
except os.error:
pass
def is_resource_enabled(resource):
"""Test whether a resource is enabled. Known resources are set by
regrtest.py."""
return use_resources is not None and resource in use_resources
def requires(resource, msg=None):
"""Raise ResourceDenied if the specified resource is not available.
If the caller's module is __main__ then automatically return True. The
possibility of False being returned occurs when regrtest.py is executing."""
# see if the caller's module is __main__ - if so, treat as if
# the resource was set
if sys._getframe().f_back.f_globals.get("__name__") == "__main__":
@ -141,6 +156,9 @@ del os, fp
from os import unlink
def findfile(file, here=__file__):
"""Try to find a file on sys.path and the working directory. If it is not
found the argument passed to the function is returned (this does not
necessarily signal failure; could still be the legitimate path)."""
import os
if os.path.isabs(file):
return file