本文整理汇总了Python中waflib.Utils.cmd_output方法的典型用法代码示例。如果您正苦于以下问题:Python Utils.cmd_output方法的具体用法?Python Utils.cmd_output怎么用?Python Utils.cmd_output使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类waflib.Utils
的用法示例。
在下文中一共展示了Utils.cmd_output方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: exec_test
# 需要导入模块: from waflib import Utils [as 别名]
# 或者: from waflib.Utils import cmd_output [as 别名]
def exec_test(self):
testlock.acquire()
fail = False
try:
filename = self.inputs[0].abspath(self.env)
try:
fu = getattr(self.generator.bld, 'all_test_paths')
except AttributeError:
fu = os.environ.copy()
self.generator.bld.all_test_paths = fu
lst = []
for g in self.generator.bld.groups:
for tg in g:
link_task = getattr(tg, 'link_task', None)
if link_task:
lst.append(link_task.outputs[0].parent.abspath())
def add_path(dct, path, var):
dct[var] = os.pathsep.join(Utils.to_list(path) + [os.environ.get(var, '')])
if sys.platform == 'win32':
add_path(fu, lst, 'PATH')
elif sys.platform == 'darwin':
add_path(fu, lst, 'DYLD_LIBRARY_PATH')
add_path(fu, lst, 'LD_LIBRARY_PATH')
else:
add_path(fu, lst, 'LD_LIBRARY_PATH')
try:
ret = Utils.cmd_output(filename, cwd=self.inputs[0].parent.abspath(self.env), env=fu)
except Exception as e:
fail = True
ret = '' + str(e)
else:
pass
stats = getattr(self.generator.bld, 'utest_results', [])
stats.append((filename, fail, ret))
self.generator.bld.utest_results = stats
finally:
testlock.release()