v1: Since RFC, addressed comments from reviewers, and improved a lot of things. Thanks to Daniel, Eric, Paolo, Stefan, for the feedback.
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 (such as travis [1]), where we define 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. [1]: https://docs.travis-ci.com/user/docker/ Fam Zheng (12): tests: Add utilities for docker testing Makefile: Rules for docker testing docker: Add images docker: Add test runner docker: Add common.rc docker: Add basic test docker: Add clang test docker: Add mingw test docker: Add travis tool docs: Add text for tests/docker in build-system.txt .gitignore: Ignore temporary dockerfile MAINTAINERS: Add tests/docker .gitignore | 1 + MAINTAINERS | 7 +++ Makefile | 4 +- docs/build-system.txt | 5 ++ tests/docker/Makefile.include | 88 ++++++++++++++++++++++++++++++++++ tests/docker/centos6.docker | 5 ++ tests/docker/common.rc | 28 +++++++++++ tests/docker/docker.py | 108 ++++++++++++++++++++++++++++++++++++++++++ tests/docker/docker_build | 42 ++++++++++++++++ tests/docker/docker_clean | 22 +++++++++ tests/docker/docker_run | 28 +++++++++++ tests/docker/fedora.docker | 7 +++ tests/docker/run | 23 +++++++++ tests/docker/test-basic.sh | 22 +++++++++ tests/docker/test-clang.sh | 26 ++++++++++ tests/docker/test-mingw.sh | 34 +++++++++++++ tests/docker/travis.py | 53 +++++++++++++++++++++ tests/docker/travis.sh | 20 ++++++++ tests/docker/ubuntu.docker | 9 ++++ 19 files changed, 531 insertions(+), 1 deletion(-) create mode 100644 tests/docker/Makefile.include create mode 100644 tests/docker/centos6.docker create mode 100755 tests/docker/common.rc create mode 100755 tests/docker/docker.py create mode 100755 tests/docker/docker_build create mode 100755 tests/docker/docker_clean create mode 100755 tests/docker/docker_run create mode 100644 tests/docker/fedora.docker create mode 100755 tests/docker/run create mode 100755 tests/docker/test-basic.sh create mode 100755 tests/docker/test-clang.sh create mode 100755 tests/docker/test-mingw.sh create mode 100755 tests/docker/travis.py create mode 100755 tests/docker/travis.sh create mode 100644 tests/docker/ubuntu.docker -- 2.4.3