本文整理汇总了Python中pyutilib.misc.Options.suite方法的典型用法代码示例。如果您正苦于以下问题:Python Options.suite方法的具体用法?Python Options.suite怎么用?Python Options.suite使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyutilib.misc.Options
的用法示例。
在下文中一共展示了Options.suite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_test_suite
# 需要导入模块: from pyutilib.misc import Options [as 别名]
# 或者: from pyutilib.misc.Options import suite [as 别名]
def create_test_suite(suite, config, _globals, options):
#
# Skip suite creation if the options categores do not intersect with the list of test suite categories
#
if len(options.categories) > 0:
flag = False
for cat in options.categories:
if cat in config['suites'][suite].get('categories',[]):
flag = True
break
if not flag:
return
#
# Create test driver
#
if suite in _globals:
raise IOError("Cannot create suite '%s' since there is another symbol with that name in the global namespace!" % suite)
def setUpClassFn(cls):
options = cls._options[None]
cls._test_driver.setUpClass(cls,options)
_globals[suite] = type(str(suite),(unittest.TestCase,),{'setUpClass': classmethod(setUpClassFn)})
_globals[suite]._options[None] = options
setattr(_globals[suite],'_test_driver', _globals['test_driver'])
setattr(_globals[suite],'suite_categories', config['suites'][suite].get('categories',[]))
#
# Create test functions
#
tests = []
if 'tests' in config['suites'][suite]:
for item in config['suites'][suite]['tests']:
tests.append( (item['solver'], item['problem'], item) )
else:
for solver in config['suites'][suite]['solvers']:
for problem in config['suites'][suite]['problems']:
tests.append( (solver, problem, {}) )
#
for solver, problem, item in tests:
##sname = solver
if options.testname_format is None:
test_name = solver+"_"+problem
else:
test_name = options.testname_format % (solver, problem)
#
def fn(testcase, name, suite):
options = testcase._options[suite,name]
fn.test_driver.setUp(testcase, options)
ans = fn.test_driver.run_test(testcase, name, options)
fn.test_driver.tearDown(testcase, options)
return ans
fn.test_driver = _globals['test_driver']
#
_options = Options()
#
problem_options = config['suites'][suite]['problems'][problem]
if not problem_options is None and 'problem' in problem_options:
_problem = problem_options['problem']
else:
_problem = problem
for attr,value in config['problems'].get(_problem,{}).items():
_options[attr] = _str(value)
if not problem_options is None:
for attr,value in problem_options.items():
_options[attr] = _str(value)
#
solver_options = config['suites'][suite]['solvers'][solver]
if not solver_options is None and 'solver' in solver_options:
_solver = solver_options['solver']
else:
_solver = solver
_name = _solver
for attr,value in config['solvers'].get(_solver,{}).items():
_options[attr] = _str(value)
if attr == 'name':
_name = value
if not solver_options is None:
for attr,value in solver_options.items():
_options[attr] = _str(value)
#
for key in item:
if key not in ['problem','solver']:
_options[key] = _str(item[key])
#
_options.solver = _str(_name)
_options.problem = _str(_problem)
_options.suite = _str(suite)
_options.currdir = _str(options.currdir)
#
_globals[suite].add_fn_test(name=test_name, fn=fn, suite=suite, options=_options)