Browse Source
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 docker-travis@ubuntu". Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1464755128-32490-13-git-send-email-famz@redhat.compull/42/head
2 changed files with 69 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||
#!/bin/bash -e |
|||
# |
|||
# Mimic a travis testing matrix |
|||
# |
|||
# Copyright (c) 2016 Red Hat Inc. |
|||
# |
|||
# Authors: |
|||
# Fam Zheng <famz@redhat.com> |
|||
# |
|||
# 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 |
|||
@ -0,0 +1,48 @@ |
|||
#!/usr/bin/env python |
|||
# |
|||
# Travis YAML config parser |
|||
# |
|||
# Copyright (c) 2016 Red Hat Inc. |
|||
# |
|||
# Authors: |
|||
# Fam Zheng <famz@redhat.com> |
|||
# |
|||
# 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()) |
|||
Loading…
Reference in new issue