Re: [Qemu-devel] [PATCH v1 05/24] docker: Add "cc" subcommand

2018-04-15 Thread Philippe Mathieu-Daudé
On 04/10/2018 04:39 PM, Alex Bennée wrote:
> From: Fam Zheng 
> 
> Signed-off-by: Fam Zheng 

Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 

> ---
>  tests/docker/docker.py | 23 +++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index 1246ba9578..8733266153 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -390,6 +390,29 @@ class ImagesCommand(SubCommand):
>  def run(self, args, argv):
>  return Docker().command("images", argv, args.quiet)
>  
> +class CcCommand(SubCommand):
> +"""Compile sources with cc in images"""
> +name = "cc"
> +
> +def args(self, parser):
> +parser.add_argument("--image", "-i", required=True,
> +help="The docker image in which to run cc")
> +parser.add_argument("--source-path", "-s", nargs="*", dest="paths",
> +help="""Extra paths to (ro) mount into container 
> for
> +reading sources""")
> +
> +def run(self, args, argv):
> +if argv and argv[0] == "--":
> +argv = argv[1:]
> +cwd = os.getcwd()
> +cmd = ["--rm", "-w", cwd,
> +   "-v", "%s:%s:rw" % (cwd, cwd)]
> +for p in args.paths:
> +   cmd += ["-v", "%s:%s:ro,z" % (p, p)]
> +cmd += [args.image, "cc"]
> +cmd += argv
> +return Docker().command("run", cmd, True)
> +
>  def main():
>  parser = argparse.ArgumentParser(description="A Docker helper",
>  usage="%s  ..." % os.path.basename(sys.argv[0]))
> 



[Qemu-devel] [PATCH v1 05/24] docker: Add "cc" subcommand

2018-04-10 Thread Alex Bennée
From: Fam Zheng 

Signed-off-by: Fam Zheng 
---
 tests/docker/docker.py | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 1246ba9578..8733266153 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -390,6 +390,29 @@ class ImagesCommand(SubCommand):
 def run(self, args, argv):
 return Docker().command("images", argv, args.quiet)
 
+class CcCommand(SubCommand):
+"""Compile sources with cc in images"""
+name = "cc"
+
+def args(self, parser):
+parser.add_argument("--image", "-i", required=True,
+help="The docker image in which to run cc")
+parser.add_argument("--source-path", "-s", nargs="*", dest="paths",
+help="""Extra paths to (ro) mount into container 
for
+reading sources""")
+
+def run(self, args, argv):
+if argv and argv[0] == "--":
+argv = argv[1:]
+cwd = os.getcwd()
+cmd = ["--rm", "-w", cwd,
+   "-v", "%s:%s:rw" % (cwd, cwd)]
+for p in args.paths:
+   cmd += ["-v", "%s:%s:ro,z" % (p, p)]
+cmd += [args.image, "cc"]
+cmd += argv
+return Docker().command("run", cmd, True)
+
 def main():
 parser = argparse.ArgumentParser(description="A Docker helper",
 usage="%s  ..." % os.path.basename(sys.argv[0]))
-- 
2.16.2