On 06/15/2018 04:47 PM, Alex Bennée wrote: > This command allows you to check if we need to re-build a docker > image. If the image isn't in the repository or the checksums don't > match then we return false and some text (for processing in > makefiles). > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > > --- > - fix prints to be "modern" > - PEP8 fixes > --- > tests/docker/docker.py | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/tests/docker/docker.py b/tests/docker/docker.py > index 2593a12d04..3666197a16 100755 > --- a/tests/docker/docker.py > +++ b/tests/docker/docker.py > @@ -442,6 +442,31 @@ class CcCommand(SubCommand): > return Docker().command("run", cmd, args.quiet) > > > +class CheckCommand(SubCommand): > + """Check if we need to re-build a docker image out of a dockerfile. > + Arguments: <tag> <dockerfile>""" > + name = "check" > + > + def args(self, parser): > + parser.add_argument("tag", > + help="Image Tag") > + parser.add_argument("dockerfile", > + help="Dockerfile name") > + > + def run(self, args, argv): > + dockerfile = open(args.dockerfile, "rb").read() > + tag = args.tag > + > + dkr = Docker() > + if dkr.image_matches_dockerfile(tag, dockerfile): > + if not args.quiet: > + print("Image is up to date.") > + return 0 > + else: > + print("Image needs updating") > + return 1 > + > + > def main(): > parser = argparse.ArgumentParser(description="A Docker helper", > usage="%s <subcommand> ..." % os.path.basename(sys.argv[0])) >