mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
build: use RUN_COMMAND() to wrap os.system()
This commit is contained in:
parent
6e550ac4c7
commit
3ff3a11c33
@ -296,3 +296,21 @@ def mkdir_p(dir):
|
||||
return
|
||||
mkdir_p(os.path.dirname(dir))
|
||||
os.mkdir(dir)
|
||||
|
||||
|
||||
def RUN_COMMAND(cmd,
|
||||
env=None,
|
||||
shell=False):
|
||||
'''run a external command, return exit code or signal'''
|
||||
# recursively expand variables
|
||||
if env:
|
||||
while cmd.find('${') != -1:
|
||||
cmd = Utils.subst_vars(cmd, env)
|
||||
|
||||
status = os.system(cmd)
|
||||
if os.WIFEXITED(status):
|
||||
return os.WEXITSTATUS(status)
|
||||
if os.WIFSIGNALED(status):
|
||||
return - os.WTERMSIG(status)
|
||||
print "Unknown exit reason %d for command: %s" (status, cmd)
|
||||
return -1
|
||||
|
@ -1,6 +1,7 @@
|
||||
# selftest main code.
|
||||
|
||||
import Scripting, os, Options, Utils, Environment, optparse, sys
|
||||
from samba_utils import RUN_COMMAND
|
||||
|
||||
def set_options(opt):
|
||||
opt.ADD_COMMAND('test', cmd_test)
|
||||
@ -70,14 +71,10 @@ def cmd_testonly(opt):
|
||||
if os.path.exists(st_done):
|
||||
os.unlink(st_done)
|
||||
|
||||
cmd = '(PYTHON=/usr/bin/python perl -W ../selftest/selftest.pl --prefix=./st --builddir=. --srcdir=. --exclude=./selftest/skip --testlist="./selftest/tests.sh|" ${OPTIONS} --socket-wrapper ${TESTS} && touch st/st_done) | ${FILTER_OPTIONS}'
|
||||
|
||||
# recursively expand variables
|
||||
while cmd.find('${') != -1:
|
||||
cmd = Utils.subst_vars(cmd, env)
|
||||
cmd = '(PYTHON=/usr/bin/python perl -W ../selftest/selftest.pl --prefix=./st --builddir=. --srcdir=. --exclude=./selftest/skip --testlist="./selftest/tests.sh|" ${OPTIONS} --socket-wrapper ${TESTS} && touch st/st_done) | tee st/test.out | ${FILTER_OPTIONS}'
|
||||
|
||||
print "test: running %s" % cmd
|
||||
ret = os.system(cmd)
|
||||
ret = RUN_COMMAND(cmd, env=env)
|
||||
if ret != 0:
|
||||
print("ERROR: test failed with exit code %d" % ret)
|
||||
sys.exit(ret)
|
||||
|
Loading…
x
Reference in New Issue
Block a user