[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 10/13] docker: Add travis tool
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v4 10/13] docker: Add travis tool |
Date: |
Thu, 31 Mar 2016 14:14:41 +0100 |
User-agent: |
mu4e 0.9.17; emacs 25.0.92.2 |
Fam Zheng <address@hidden> writes:
> The script is not prefixed with test- so it won't run with "make docker-test",
> because it can take too long.
>
> Run it with "make address@hidden".
Currently we can only really use this with ubuntu anyway. How would you
expand the matrix on other platforms? Tweak the docker files for
dependencies or feed it via travis somehow?
Anyway:
Reviewed-by: Alex Bennée <address@hidden>
>
> 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 v4 04/13] docker: Add test runner, (continued)
- [Qemu-devel] [PATCH v4 04/13] docker: Add test runner, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 03/13] docker: Add images, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 05/13] docker: Add common.rc, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 06/13] docker: Add quick test, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 07/13] docker: Add full test, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 08/13] docker: Add clang test, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 09/13] docker: Add mingw test, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 10/13] docker: Add travis tool, Fam Zheng, 2016/03/17
- Re: [Qemu-devel] [PATCH v4 10/13] docker: Add travis tool,
Alex Bennée <=
- [Qemu-devel] [PATCH v4 11/13] docs: Add text for tests/docker in build-system.txt, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 12/13] docker: Add EXTRA_CONFIGURE_OPTS, Fam Zheng, 2016/03/17
- [Qemu-devel] [PATCH v4 13/13] MAINTAINERS: Add tests/docker, Fam Zheng, 2016/03/17
- Re: [Qemu-devel] [PATCH v4 00/13] tests: Introducing docker tests, Fam Zheng, 2016/03/27