[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 10/13] docker: Add travis tool
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v3 10/13] docker: Add travis tool |
Date: |
Fri, 11 Mar 2016 16:14:04 +0000 |
User-agent: |
mu4e 0.9.17; emacs 25.0.92.3 |
Fam Zheng <address@hidden> writes:
> The script is not named test-travis.sh so it won't run with "make
> docker-run", because it can take too long.
>
> Run it with "make address@hidden".
16:08 address@hidden/x86_64 [qemu.git/review/docker-v3] >make address@hidden
ARCHIVE qemu.tgz
COPY RUNNER
RUN travis.sh in ubuntu
./run: line 49: /tmp/qemu-test/src/tests/docker/travis.sh: No such file or
directory
>
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> tests/docker/travis | 21 +++++++++++++++++++++
> tests/docker/travis.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 69 insertions(+)
> create mode 100755 tests/docker/travis
> create mode 100755 tests/docker/travis.py
>
> diff --git a/tests/docker/travis b/tests/docker/travis
> new file mode 100755
> index 0000000..d345393
> --- /dev/null
> +++ b/tests/docker/travis
> @@ -0,0 +1,21 @@
> +#!/bin/bash -e
> +#
> +# Mimic a travis testing matrix
> +#
> +# Copyright (c) 2016 Red Hat Inc.
> +#
> +# Authors:
> +# Fam Zheng <address@hidden>
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2
> +# or (at your option) any later version. See the COPYING file in
> +# the top-level directory.
> +
> +. common.rc
> +
> +requires pyyaml
> +cmdfile=/tmp/travis_cmd_list.sh
> +$QEMU_SRC/tests/docker/travis.py $QEMU_SRC/.travis.yml > $cmdfile
> +chmod +x $cmdfile
> +cd "$QEMU_SRC"
> +$cmdfile
> diff --git a/tests/docker/travis.py b/tests/docker/travis.py
> new file mode 100755
> index 0000000..8dcc964
> --- /dev/null
> +++ b/tests/docker/travis.py
> @@ -0,0 +1,48 @@
> +#!/usr/bin/env python
> +#
> +# Travis YAML config parser
> +#
> +# Copyright (c) 2016 Red Hat Inc.
> +#
> +# Authors:
> +# Fam Zheng <address@hidden>
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2
> +# or (at your option) any later version. See the COPYING file in
> +# the top-level directory.
> +
> +import sys
> +import yaml
> +import itertools
> +
> +def load_yaml(fname):
> + return yaml.load(open(fname, "r").read())
> +
> +def conf_iter(conf):
> + def env_to_list(env):
> + return env if isinstance(env, list) else [env]
> + global_env = conf["env"]["global"]
> + for entry in conf["matrix"]["include"]:
> + yield {"env": global_env + env_to_list(entry["env"]),
> + "compiler": entry["compiler"]}
> + for entry in itertools.product(conf["compiler"],
> + conf["env"]["matrix"]):
> + yield {"env": global_env + env_to_list(entry[1]),
> + "compiler": entry[0]}
> +
> +def main():
> + if len(sys.argv) < 2:
> + sys.stderr.write("Usage: %s <travis-file>\n" % sys.argv[0])
> + return 1
> + conf = load_yaml(sys.argv[1])
> + for config in conf_iter(conf):
> + print "("
> + print "\n".join(config["env"])
> + print "alias cc=" + config["compiler"]
> + print "\n".join(conf["before_script"])
> + print "\n".join(conf["script"])
> + print ")"
> + return 0
> +
> +if __name__ == "__main__":
> + sys.exit(main())
--
Alex Bennée
[Qemu-devel] [PATCH v3 11/13] docs: Add text for tests/docker in build-system.txt, Fam Zheng, 2016/03/04
[Qemu-devel] [PATCH v3 12/13] .gitignore: Ignore temporary dockerfile, Fam Zheng, 2016/03/04
[Qemu-devel] [PATCH v3 13/13] MAINTAINERS: Add tests/docker, Fam Zheng, 2016/03/04