v5: Use docker run's selinux option "z" on passed volume, drop --privileged. Allow overriding "TARGET_LIST" in clang-test. Add Alex's r-b lines in patches 1, 3, 9, 11 and 13.
This series adds a new "docker" make target family to run tests in created docker containers. To begin with, this can be a place to store standard env/command combinations to build and test QEMU. Secondly, CI usually provides "docker" capability, where we specify standard/repeatable test environments, and run tests in them. However, what tests to cover is better maintained in-tree, in order to keep in sync with the code development. Lastly, this makes it very simple for developers to replicate such tests themselves. Fam Zheng (14): tests: Add utilities for docker testing rules.mak: Add "COMMA" constant Makefile: Rules for docker testing docker: Add images docker: Add test runner docker: Add common.rc docker: Add quick test docker: Add full test docker: Add clang test docker: Add mingw test docker: Add travis tool docs: Add text for tests/docker in build-system.txt docker: Add EXTRA_CONFIGURE_OPTS MAINTAINERS: Add tests/docker MAINTAINERS | 7 ++ Makefile | 4 +- docs/build-system.txt | 5 + rules.mak | 2 + tests/docker/Makefile.include | 124 +++++++++++++++++++++ tests/docker/common.rc | 32 ++++++ tests/docker/docker.py | 191 ++++++++++++++++++++++++++++++++ tests/docker/dockerfiles/centos6.docker | 6 + tests/docker/dockerfiles/fedora.docker | 7 ++ tests/docker/dockerfiles/ubuntu.docker | 11 ++ tests/docker/run | 58 ++++++++++ tests/docker/test-clang | 26 +++++ tests/docker/test-full | 17 +++ tests/docker/test-mingw | 34 ++++++ tests/docker/test-quick | 19 ++++ tests/docker/travis | 21 ++++ tests/docker/travis.py | 48 ++++++++ 17 files changed, 611 insertions(+), 1 deletion(-) create mode 100644 tests/docker/Makefile.include create mode 100755 tests/docker/common.rc create mode 100755 tests/docker/docker.py create mode 100644 tests/docker/dockerfiles/centos6.docker create mode 100644 tests/docker/dockerfiles/fedora.docker create mode 100644 tests/docker/dockerfiles/ubuntu.docker create mode 100755 tests/docker/run create mode 100755 tests/docker/test-clang create mode 100755 tests/docker/test-full create mode 100755 tests/docker/test-mingw create mode 100755 tests/docker/test-quick create mode 100755 tests/docker/travis create mode 100755 tests/docker/travis.py -- 2.8.2