mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
land: Only pass shell=True if necessary.
This commit is contained in:
parent
d03ff1c9da
commit
554289c261
@ -73,17 +73,17 @@ retry_task = [ ( "retry",
|
||||
''' % samba_master, "test/plain" ) ]
|
||||
|
||||
|
||||
def run_cmd(cmd, dir=".", show=None, output=False, checkfail=True):
|
||||
def run_cmd(cmd, dir=None, show=None, output=False, checkfail=True, shell=False):
|
||||
if show is None:
|
||||
show = options.verbose
|
||||
if show:
|
||||
print("Running: '%s' in '%s'" % (cmd, dir))
|
||||
if output:
|
||||
return Popen(cmd, stdout=PIPE, cwd=dir).communicate()[0]
|
||||
return Popen(cmd, stdout=PIPE, cwd=dir, shell=shell).communicate()[0]
|
||||
elif checkfail:
|
||||
return check_call(cmd, cwd=dir)
|
||||
return check_call(cmd, cwd=dir, shell=shell)
|
||||
else:
|
||||
return call(cmd, cwd=dir)
|
||||
return call(cmd, cwd=dir, shell=shell)
|
||||
|
||||
|
||||
class Builder(object):
|
||||
@ -106,17 +106,20 @@ class Builder(object):
|
||||
if options.verbose:
|
||||
print("stdout for %s in %s" % (self.name, self.stdout_path))
|
||||
print("stderr for %s in %s" % (self.name, self.stderr_path))
|
||||
run_cmd("rm -f %s %s" % (self.stdout_path, self.stderr_path))
|
||||
if os.path.exists(self.stdout_path):
|
||||
os.unlink(self.stdout_path)
|
||||
if os.path.exists(self.stderr_path):
|
||||
os.unlink(self.stderr_path)
|
||||
self.stdout = open(self.stdout_path, 'w')
|
||||
self.stderr = open(self.stderr_path, 'w')
|
||||
self.stdin = open("/dev/null", 'r')
|
||||
self.sdir = "%s/%s" % (testbase, self.tag)
|
||||
self.prefix = "%s/prefix/%s" % (testbase, self.tag)
|
||||
run_cmd("rm -rf %s" % self.sdir)
|
||||
run_cmd(["rm", "-rf", self.sdir])
|
||||
cleanup_list.append(self.sdir)
|
||||
cleanup_list.append(self.prefix)
|
||||
os.makedirs(self.sdir)
|
||||
run_cmd("rm -rf %s" % self.sdir)
|
||||
run_cmd(["rm", "-rf", self.sdir])
|
||||
run_cmd(["git", "clone", "--shared", gitroot, self.sdir])
|
||||
self.start_next()
|
||||
|
||||
@ -252,7 +255,7 @@ def cleanup():
|
||||
return
|
||||
print("Cleaning up ....")
|
||||
for d in cleanup_list:
|
||||
run_cmd("rm -rf %s" % d)
|
||||
run_cmd(["rm", "-rf", d])
|
||||
|
||||
|
||||
def find_git_root(p):
|
||||
@ -290,13 +293,13 @@ def daemonize(logfile):
|
||||
|
||||
def rebase_tree(url):
|
||||
print("Rebasing on %s" % url)
|
||||
run_cmd("git remote add -t master master %s" % url, show=True, dir=test_master)
|
||||
run_cmd("git fetch master", show=True, dir=test_master)
|
||||
run_cmd(["git", "remote", "add", "-t", "master", "master", url], show=True, dir=test_master)
|
||||
run_cmd(["git", "fetch", "master"], show=True, dir=test_master)
|
||||
if options.fix_whitespace:
|
||||
run_cmd("git rebase --whitespace=fix master/master", show=True, dir=test_master)
|
||||
run_cmd(["git", "rebase", "--whitespace=fix", "master/master"], show=True, dir=test_master)
|
||||
else:
|
||||
run_cmd("git rebase master/master", show=True, dir=test_master)
|
||||
diff = run_cmd("git --no-pager diff HEAD master/master", dir=test_master, output=True)
|
||||
run_cmd(["git", "rebase", "master/master"], show=True, dir=test_master)
|
||||
diff = run_cmd(["git", "--no-pager", "diff", "HEAD", "master/master"], dir=test_master, output=True)
|
||||
if diff == '':
|
||||
print("No differences between HEAD and master/master - exiting")
|
||||
sys.exit(0)
|
||||
@ -304,11 +307,11 @@ def rebase_tree(url):
|
||||
def push_to(url):
|
||||
print("Pushing to %s" % url)
|
||||
if options.mark:
|
||||
run_cmd("EDITOR=script/commit_mark.sh git commit --amend -c HEAD", dir=test_master)
|
||||
run_cmd("EDITOR=script/commit_mark.sh git commit --amend -c HEAD", dir=test_master, shell=True)
|
||||
# the notes method doesn't work yet, as metze hasn't allowed refs/notes/* in master
|
||||
# run_cmd("EDITOR=script/commit_mark.sh git notes edit HEAD", dir=test_master)
|
||||
run_cmd("git remote add -t master pushto %s" % url, show=True, dir=test_master)
|
||||
run_cmd("git push pushto +HEAD:master", show=True, dir=test_master)
|
||||
run_cmd(["git", "remote", "add", "-t", "master", "pushto", url], show=True, dir=test_master)
|
||||
run_cmd(["git", "push", "pushto", "+HEAD:master"], show=True, dir=test_master)
|
||||
|
||||
def_testbase = os.getenv("AUTOBUILD_TESTBASE", "/memdisk/%s" % os.getenv('USER'))
|
||||
|
||||
@ -437,9 +440,9 @@ if options.daemon:
|
||||
|
||||
while True:
|
||||
try:
|
||||
run_cmd("rm -rf %s" % test_master)
|
||||
run_cmd(["rm", "-rf", test_master])
|
||||
cleanup_list.append(test_master)
|
||||
run_cmd("git clone --shared %s %s" % (gitroot, test_master))
|
||||
run_cmd(["git", "clone", "--shared", gitroot, test_master])
|
||||
except:
|
||||
cleanup()
|
||||
raise
|
||||
@ -469,7 +472,7 @@ if status == 0:
|
||||
print errstr
|
||||
if options.passcmd is not None:
|
||||
print("Running passcmd: %s" % options.passcmd)
|
||||
run_cmd(options.passcmd, dir=test_master)
|
||||
run_cmd(options.passcmd, dir=test_master, shell=True)
|
||||
if options.pushto is not None:
|
||||
push_to(options.pushto)
|
||||
elif options.push_master:
|
||||
|
Loading…
x
Reference in New Issue
Block a user