blob: 9ae3681dce8a54b439b6130f8a8d84b30a227f84 [file] [log] [blame]
"""
Access to built-in tests.
"""
# FIXME: There are better ways to do this, no doubt. We also would like this to
# be extensible outside of the installation. Lookup how 'nose' handles this.
_known_tests = set(['compile', 'nt', 'test_suite'])
def get_names():
"""get_test_names() -> list
Return the list of known built-in test names.
"""
return sorted(_known_tests)
def get_module(name):
import importlib
"""get_test_instance(name) -> lnt.test.BuiltinTest
Return an instance of the named test.
"""
# Allow hyphens instead of underscores when specifying the test on the
# command line. (test-suite instead of test_suite).
name = name.replace('-', '_')
if name not in _known_tests:
raise KeyError(name)
module_name = "lnt.tests.%s" % name
module = importlib.import_module(module_name)
return module
__all__ = ['get_names', 'get_module']