本文整理汇总了Python中test.framework.utilities.find_full_path函数的典型用法代码示例。如果您正苦于以下问题:Python find_full_path函数的具体用法?Python find_full_path怎么用?Python find_full_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了find_full_path函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_toolchain
def test_toolchain(self):
"""Test whether toolchain is initialized correctly."""
test_ecs = os.path.join('test', 'framework', 'easyconfigs', 'test_ecs')
ec_file = find_full_path(os.path.join(test_ecs, 'g', 'gzip', 'gzip-1.4.eb'))
ec = EasyConfig(ec_file, validate=False)
tc = ec.toolchain
self.assertTrue('debug' in tc.options)
开发者ID:pescobar,项目名称:easybuild-framework,代码行数:7,代码来源:toolchain.py
示例2: legacySetUp
def legacySetUp(self):
self.log.deprecated("legacySetUp", "2.0")
cfg_path = os.path.join("easybuild", "easybuild_config.py")
cfg_full_path = find_full_path(cfg_path)
self.assertTrue(cfg_full_path)
config.oldstyle_init(cfg_full_path)
self.cwd = os.getcwd()
开发者ID:stdweird,项目名称:easybuild-framework,代码行数:8,代码来源:filetools.py
示例3: setUp
def setUp(self):
"""Set up everything for a unit test."""
# initialize configuration so config.get_modules_tool function works
eb_go = eboptions.parse_options()
config.init(eb_go.options, eb_go.get_options_by_section('config'))
# make sure path with modules for testing is added to MODULEPATH
self.orig_modpath = os.environ.get('MODULEPATH', '')
os.environ['MODULEPATH'] = find_full_path(os.path.join('test', 'framework', 'modules'))
开发者ID:Bart-VUB,项目名称:easybuild-framework,代码行数:9,代码来源:toolchain.py
示例4: setUp
def setUp(self):
"""Set up everything for a unit test."""
super(ToolchainTest, self).setUp()
# start with a clean slate
modules.modules_tool().purge()
# make sure path with modules for testing is added to MODULEPATH
self.orig_modpath = os.environ.get('MODULEPATH', '')
os.environ['MODULEPATH'] = find_full_path(os.path.join('test', 'framework', 'modules'))
开发者ID:JackPerdue,项目名称:easybuild-framework,代码行数:10,代码来源:toolchain.py
示例5: setUp
def setUp(self):
"""Set up everything for a unit test."""
super(RobotTest, self).setUp()
# replace Modules class with something we have control over
config.modules_tool = mock_module
ectools.modules_tool = mock_module
os.environ['module'] = "() { eval `/bin/echo $*`\n}"
self.base_easyconfig_dir = find_full_path(os.path.join("test", "framework", "easyconfigs"))
self.assertTrue(self.base_easyconfig_dir)
开发者ID:JensTimmerman,项目名称:easybuild-framework,代码行数:11,代码来源:robot.py
示例6: setUp
def setUp(self):
"""Test setup."""
super(ModuleGeneratorTest, self).setUp()
# find .eb file
eb_path = os.path.join(os.path.join(os.path.dirname(__file__), 'easyconfigs'), 'gzip-1.4.eb')
eb_full_path = find_full_path(eb_path)
self.assertTrue(eb_full_path)
ec = EasyConfig(eb_full_path)
self.eb = EasyBlock(ec)
self.modgen = self.MODULE_GENERATOR_CLASS(self.eb)
self.modgen.app.installdir = tempfile.mkdtemp(prefix='easybuild-modgen-test-')
self.orig_module_naming_scheme = config.get_module_naming_scheme()
开发者ID:besserox,项目名称:easybuild-framework,代码行数:14,代码来源:module_generator.py
示例7: setUp
def setUp(self):
""" dynamically replace Modules class with MockModule """
# replace Modules class with something we have control over
config.modules_tool = mock_module
main.modules_tool = mock_module
self.log = fancylogger.getLogger("RobotTest", fname=False)
# redefine the main log when calling the main functions directly
main._log = fancylogger.getLogger("main", fname=False)
self.cwd = os.getcwd()
self.base_easyconfig_dir = find_full_path(os.path.join("test", "framework", "easyconfigs"))
self.assertTrue(self.base_easyconfig_dir)
开发者ID:damienfrancois,项目名称:easybuild-framework,代码行数:14,代码来源:robot.py
示例8: setUp
def setUp(self):
""" initialize ModuleGenerator with test Application """
super(ModuleGeneratorTest, self).setUp()
# find .eb file
eb_path = os.path.join(os.path.join(os.path.dirname(__file__), 'easyconfigs'), 'gzip-1.4.eb')
eb_full_path = find_full_path(eb_path)
self.assertTrue(eb_full_path)
ec = EasyConfig(eb_full_path)
self.eb = EasyBlock(ec)
self.modgen = ModuleGenerator(self.eb)
self.modgen.app.installdir = tempfile.mkdtemp(prefix='easybuild-modgen-test-')
self.orig_module_naming_scheme = config.get_module_naming_scheme()
开发者ID:JensTimmerman,项目名称:easybuild-framework,代码行数:14,代码来源:module_generator.py
示例9: setUp
def setUp(self):
"""Set up everything for a unit test."""
# initialize configuration so config.get_modules_tool function works
eb_go = eboptions.parse_options()
config.init(eb_go.options, eb_go.get_options_by_section('config'))
# replace Modules class with something we have control over
config.modules_tool = mock_module
ectools.modules_tool = mock_module
self.log = fancylogger.getLogger("RobotTest", fname=False)
self.cwd = os.getcwd()
self.base_easyconfig_dir = find_full_path(os.path.join("test", "framework", "easyconfigs"))
self.assertTrue(self.base_easyconfig_dir)
开发者ID:ebirn,项目名称:easybuild-framework,代码行数:16,代码来源:robot.py
示例10: test_obtain_easyconfig
#.........这里部分代码省略.........
self.assertEqual(ec['versionsuffix'], specs['versionsuffix'])
self.assertEqual(ec['toolchain'], {'name': tcname, 'version': tcver})
# can't check for key 'foo', because EasyConfig ignores parameter names it doesn't know about
txt = read_file(res[1])
self.assertTrue(re.search('foo = "%s"' % specs['foo'], txt))
os.remove(res[1])
# should pick correct version, i.e. not newer than what's specified, if a choice needs to be made
ver = '3.14'
specs.update({'version': ver})
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['version'], specs['version'])
txt = read_file(res[1])
self.assertTrue(re.search("version = [\"']%s[\"'] .*was: [\"']3.13[\"']" % ver, txt))
os.remove(res[1])
# should pick correct toolchain version as well, i.e. now newer than what's specified, if a choice needs to be made
specs.update({
'version': '3.15',
'toolchain_version': '4.4.5',
})
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['version'], specs['version'])
self.assertEqual(ec['toolchain']['version'], specs['toolchain_version'])
txt = read_file(res[1])
pattern = "toolchain = .*version.*[\"']%s[\"'].*was: .*version.*[\"']%s[\"']" % (specs['toolchain_version'], tcver)
self.assertTrue(re.search(pattern, txt))
os.remove(res[1])
# should be able to prepend to list of patches and handle list of dependencies
new_patches = ['two.patch', 'three.patch']
deps = [('foo', '1.2.3'), ('bar', '666')]
specs.update({
'patches': new_patches[:],
'dependencies': deps
})
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['patches'], specs['patches'])
self.assertEqual(ec['dependencies'], specs['dependencies'])
os.remove(res[1])
# verify append functionality for lists
specs['patches'].insert(0, '')
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['patches'], patches + new_patches)
specs['patches'].remove('')
os.remove(res[1])
# verify prepend functionality for lists
specs['patches'].append('')
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['patches'], new_patches + patches)
os.remove(res[1])
# should use supplied filename
fn = "my.eb"
res = obtain_ec_for(specs, [self.ec_dir], fn)
self.assertEqual(res[0], True)
self.assertEqual(res[1], fn)
os.remove(res[1])
# should use a template if it's there
tpl_path = os.path.join("share", "easybuild", "easyconfigs", "TEMPLATE.eb")
def trim_path(path):
dirs = path.split(os.path.sep)
if len(dirs) > 3 and 'site-packages' in dirs:
if path.endswith('.egg'):
path = os.path.sep.join(dirs[:-4]) # strip of lib/python2.7/site-packages/*.egg part
else:
path = os.path.sep.join(dirs[:-3]) # strip of lib/python2.7/site-packages part
return path
tpl_full_path = find_full_path(tpl_path, trim=trim_path)
# only run this test if the TEMPLATE.eb file is available
# TODO: use unittest.skip for this (but only works from Python 2.7)
if tpl_full_path:
shutil.copy2(tpl_full_path, self.ec_dir)
specs.update({'name': 'nosuchsoftware'})
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1], valid_stops=self.all_stops)
self.assertEqual(ec['name'], specs['name'])
os.remove(res[1])
# cleanup
shutil.rmtree(self.ec_dir)
开发者ID:damienfrancois,项目名称:easybuild-framework,代码行数:101,代码来源:easyconfig.py
示例11: xtest_resolve_dependencies
def xtest_resolve_dependencies(self):
""" Test with some basic testcases (also check if he can find dependencies inside the given directory """
# replace Modules class with something we have control over
config.modules_tool = mock_module
ectools.modules_tool = mock_module
robot.modules_tool = mock_module
os.environ['module'] = "() { eval `/bin/echo $*`\n}"
base_easyconfig_dir = find_full_path(os.path.join("test", "framework", "easyconfigs"))
self.assertTrue(base_easyconfig_dir)
easyconfig = {
'spec': '_',
'full_mod_name': 'name/version',
'short_mod_name': 'name/version',
'dependencies': []
}
build_options = {
'allow_modules_tool_mismatch': True,
'robot_path': None,
'validate': False,
}
init_config(build_options=build_options)
res = resolve_dependencies([deepcopy(easyconfig)])
self.assertEqual([easyconfig], res)
easyconfig_dep = {
'ec': {
'name': 'foo',
'version': '1.2.3',
'versionsuffix': '',
'toolchain': {'name': 'dummy', 'version': 'dummy'},
},
'spec': '_',
'short_mod_name': 'foo/1.2.3',
'full_mod_name': 'foo/1.2.3',
'dependencies': [{
'name': 'gzip',
'version': '1.4',
'versionsuffix': '',
'toolchain': {'name': 'dummy', 'version': 'dummy'},
'dummy': True,
'hidden': False,
}],
'parsed': True,
}
build_options.update({'robot': True, 'robot_path': base_easyconfig_dir})
init_config(build_options=build_options)
res = resolve_dependencies([deepcopy(easyconfig_dep)])
# dependency should be found, order should be correct
self.assertEqual(len(res), 2)
self.assertEqual('gzip/1.4', res[0]['full_mod_name'])
self.assertEqual('foo/1.2.3', res[-1]['full_mod_name'])
# hidden dependencies are found too, but only retained if they're not available (or forced to be retained
hidden_dep = {
'name': 'toy',
'version': '0.0',
'versionsuffix': '-deps',
'toolchain': {'name': 'dummy', 'version': 'dummy'},
'dummy': True,
'hidden': True,
}
easyconfig_moredeps = deepcopy(easyconfig_dep)
easyconfig_moredeps['dependencies'].append(hidden_dep)
easyconfig_moredeps['hiddendependencies'] = [hidden_dep]
# toy/.0.0-deps is available and thus should be omitted
res = resolve_dependencies([deepcopy(easyconfig_moredeps)])
self.assertEqual(len(res), 2)
full_mod_names = [ec['full_mod_name'] for ec in res]
self.assertFalse('toy/.0.0-deps' in full_mod_names)
res = resolve_dependencies([deepcopy(easyconfig_moredeps)], retain_all_deps=True)
self.assertEqual(len(res), 4) # hidden dep toy/.0.0-deps (+1) depends on (fake) ictce/4.1.13 (+1)
self.assertEqual('gzip/1.4', res[0]['full_mod_name'])
self.assertEqual('foo/1.2.3', res[-1]['full_mod_name'])
full_mod_names = [ec['full_mod_name'] for ec in res]
self.assertTrue('toy/.0.0-deps' in full_mod_names)
self.assertTrue('ictce/4.1.13' in full_mod_names)
# here we have included a dependency in the easyconfig list
easyconfig['full_mod_name'] = 'gzip/1.4'
ecs = [deepcopy(easyconfig_dep), deepcopy(easyconfig)]
build_options.update({'robot_path': None})
init_config(build_options=build_options)
res = resolve_dependencies(ecs)
# all dependencies should be resolved
self.assertEqual(0, sum(len(ec['dependencies']) for ec in res))
# this should not resolve (cannot find gzip-1.4.eb), both with and without robot enabled
ecs = [deepcopy(easyconfig_dep)]
msg = "Irresolvable dependencies encountered"
self.assertErrorRegex(EasyBuildError, msg, resolve_dependencies, ecs)
# test if dependencies of an automatically found file are also loaded
easyconfig_dep['dependencies'] = [{
'name': 'gzip',
#.........这里部分代码省略.........
开发者ID:billy-mahimahi,项目名称:easybuild-framework,代码行数:101,代码来源:robot.py
示例12: setUp
def setUp(self):
"""Setup for tests."""
# make sure path with modules for testing is added to MODULEPATH
self.orig_modpath = os.environ.get('MODULEPATH', '')
os.environ['MODULEPATH'] = find_full_path(os.path.join('test', 'framework', 'modules'))
开发者ID:damienfrancois,项目名称:easybuild-framework,代码行数:5,代码来源:toolchain.py
示例13: test_obtain_easyconfig
#.........这里部分代码省略.........
'toolchain': {'name': 'gompi', 'version': '1.4.10'},
'dummy': False,
'short_mod_name': 'bar/666-gompi-1.4.10-bleh',
'full_mod_name': 'bar/666-gompi-1.4.10-bleh',
'hidden': False,
'external_module': False,
'external_module_metadata': {},
},
{
'name': 'test',
'version': '3.2.1',
'versionsuffix': '',
'toolchain': ec['toolchain'],
'dummy': False,
'short_mod_name': 'test/.3.2.1-GCC-4.4.5',
'full_mod_name': 'test/.3.2.1-GCC-4.4.5',
'hidden': True,
'external_module': False,
'external_module_metadata': {},
},
]
# hidden dependencies must be included in list of dependencies
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
error_pattern = "Hidden dependencies with visible module names .* not in list of dependencies: .*"
self.assertErrorRegex(EasyBuildError, error_pattern, EasyConfig, res[1])
specs['dependencies'].append(('test', '3.2.1'))
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1])
self.assertEqual(ec['patches'], specs['patches'])
self.assertEqual(ec.dependencies(), parsed_deps)
# hidden dependencies are filtered from list of dependencies
self.assertFalse('test/3.2.1-GCC-4.4.5' in [d['full_mod_name'] for d in ec['dependencies']])
self.assertTrue('test/.3.2.1-GCC-4.4.5' in [d['full_mod_name'] for d in ec['hiddendependencies']])
os.remove(res[1])
# hidden dependencies are also filtered from list of dependencies when validation is skipped
res = obtain_ec_for(specs, [self.ec_dir], None)
ec = EasyConfig(res[1], validate=False)
self.assertFalse('test/3.2.1-GCC-4.4.5' in [d['full_mod_name'] for d in ec['dependencies']])
self.assertTrue('test/.3.2.1-GCC-4.4.5' in [d['full_mod_name'] for d in ec['hiddendependencies']])
os.remove(res[1])
# verify append functionality for lists
specs['patches'].insert(0, '')
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1])
self.assertEqual(ec['patches'], patches + new_patches)
specs['patches'].remove('')
os.remove(res[1])
# verify prepend functionality for lists
specs['patches'].append('')
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1])
self.assertEqual(ec['patches'], new_patches + patches)
os.remove(res[1])
# should use supplied filename
fn = "my.eb"
res = obtain_ec_for(specs, [self.ec_dir], fn)
self.assertEqual(res[0], True)
self.assertEqual(res[1], fn)
os.remove(res[1])
# should use a template if it's there
tpl_path = os.path.join("share", "easybuild", "easyconfigs", "TEMPLATE.eb")
def trim_path(path):
dirs = path.split(os.path.sep)
if len(dirs) > 3 and 'site-packages' in dirs:
if path.endswith('.egg'):
path = os.path.join(*dirs[:-4]) # strip of lib/python2.7/site-packages/*.egg part
else:
path = os.path.join(*dirs[:-3]) # strip of lib/python2.7/site-packages part
return path
tpl_full_path = find_full_path(tpl_path, trim=trim_path)
# only run this test if the TEMPLATE.eb file is available
# TODO: use unittest.skip for this (but only works from Python 2.7)
if tpl_full_path:
shutil.copy2(tpl_full_path, self.ec_dir)
specs.update({'name': 'nosuchsoftware'})
res = obtain_ec_for(specs, [self.ec_dir], None)
self.assertEqual(res[0], True)
ec = EasyConfig(res[1])
self.assertEqual(ec['name'], specs['name'])
os.remove(res[1])
# cleanup
shutil.rmtree(self.ec_dir)
开发者ID:dnangellight,项目名称:easybuild-framework,代码行数:101,代码来源:easyconfig.py
示例14: legacySetUp
def legacySetUp(self):
self.log.deprecated("legacySetUp", "2.0")
cfg_path = os.path.join('easybuild', 'easybuild_config.py')
cfg_full_path = find_full_path(cfg_path)
self.assertTrue(cfg_full_path)
开发者ID:Spencerx,项目名称:easybuild-framework,代码行数:5,代码来源:filetools.py
注:本文中的test.framework.utilities.find_full_path函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论