本文整理汇总了Python中rebasehelper.utils.ProcessHelper.run_subprocess_cwd_env方法的典型用法代码示例。如果您正苦于以下问题:Python ProcessHelper.run_subprocess_cwd_env方法的具体用法?Python ProcessHelper.run_subprocess_cwd_env怎么用?Python ProcessHelper.run_subprocess_cwd_env使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rebasehelper.utils.ProcessHelper
的用法示例。
在下文中一共展示了ProcessHelper.run_subprocess_cwd_env方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _do_build_srpm
# 需要导入模块: from rebasehelper.utils import ProcessHelper [as 别名]
# 或者: from rebasehelper.utils.ProcessHelper import run_subprocess_cwd_env [as 别名]
def _do_build_srpm(cls, spec, workdir, results_dir):
"""
Build SRPM using rpmbuild.
:param spec: abs path to SPEC file inside the rpmbuild/SPECS in workdir.
:param workdir: abs path to working directory with rpmbuild directory
structure, which will be used as HOME dir.
:param results_dir: abs path to dir where the log should be placed.
:return: If build process ends successfully returns abs path
to built SRPM, otherwise 'None'.
"""
logger.info("Building SRPM")
spec_loc, spec_name = os.path.split(spec)
output = os.path.join(results_dir, "build.log")
cmd = ['rpmbuild', '-bs', spec_name]
ret = ProcessHelper.run_subprocess_cwd_env(cmd,
cwd=spec_loc,
env={'HOME': workdir},
output=output)
if ret != 0:
return None
else:
return PathHelper.find_first_file(workdir, '*.src.rpm')
示例2: test_setting_existing_env
# 需要导入模块: from rebasehelper.utils import ProcessHelper [as 别名]
# 或者: from rebasehelper.utils.ProcessHelper import run_subprocess_cwd_env [as 别名]
def test_setting_existing_env(self):
# make copy of existing environment
en_variables = list(os.environ.copy().keys())
# there are no variables set on the system -> nothing to test
if not en_variables:
pass
assert os.environ.get(en_variables[0]) != self.PHRASE
cmd = 'echo "$' + en_variables[0] + '"'
ret = ProcessHelper.run_subprocess_cwd_env(
cmd, env={en_variables[0]: self.PHRASE}, output=self.OUT_FILE, shell=True
)
assert ret == 0
assert os.path.exists(self.OUT_FILE)
assert open(self.OUT_FILE).readline().strip("\n") == self.PHRASE
示例3: test_setting_new_env
# 需要导入模块: from rebasehelper.utils import ProcessHelper [as 别名]
# 或者: from rebasehelper.utils.ProcessHelper import run_subprocess_cwd_env [as 别名]
def test_setting_new_env(self):
# make copy of existing environment
en_variables = os.environ.copy().keys()
# pick up non-existing name
while True:
rand_name = "".join(random.choice(string.ascii_letters) for _ in range(6)).upper()
if rand_name not in en_variables:
break
cmd = 'echo "$' + rand_name + '"'
ret = ProcessHelper.run_subprocess_cwd_env(
cmd, env={rand_name: self.PHRASE}, output=self.OUT_FILE, shell=True
)
assert ret == 0
assert os.path.exists(self.OUT_FILE)
assert open(self.OUT_FILE).readline().strip("\n") == self.PHRASE