On 04/10/2018 04:39 PM, Alex Bennée wrote: > From: Fam Zheng <f...@redhat.com> > > Signed-off-by: Fam Zheng <f...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > 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 <subcommand> ..." % os.path.basename(sys.argv[0])) >