qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 4485b0: tests: Add utilities for docker testi


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4485b0: tests: Add utilities for docker testing
Date: Thu, 02 Jun 2016 06:30:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4485b04be9af47e3c6beed47ce4277c23bd3edea
      
https://github.com/qemu/qemu/commit/4485b04be9af47e3c6beed47ce4277c23bd3edea
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/docker.py

  Log Message:
  -----------
  tests: Add utilities for docker testing

docker.py is added with a number of useful subcommands to manager docker
images and instances for QEMU docker testing. Subcommands are:

run: A wrapper of "docker run" (or "sudo -n docker run" if necessary),
which takes care of killing and removing the running container at
SIGINT.

clean: Tear down all the containers including inactive ones that are
started by docker_run.

build: Compare an image from given dockerfile and rebuild it if they're
different.

Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: 2f4e4dc237261c76734d8ae1d8e09d2983d2f1ca
      
https://github.com/qemu/qemu/commit/2f4e4dc237261c76734d8ae1d8e09d2983d2f1ca
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M rules.mak

  Log Message:
  -----------
  rules.mak: Add "COMMA" constant

Using "," literal in $(call quiet-command, ...) arguments is awkward.
Add this constant to make it at least doable.

Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: fb57c881022ebbf4ad5fdb688360985d11521b4a
      
https://github.com/qemu/qemu/commit/fb57c881022ebbf4ad5fdb688360985d11521b4a
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: Always include rules.mak

When config-host.mak is not found it is safe to assume SRC_PATH is ".".
So, it is okay to move inclusion of ruls.mak out of the ifeq condition.

Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: 324027c24cd02d8333c0035de3d69b025fb1030f
      
https://github.com/qemu/qemu/commit/324027c24cd02d8333c0035de3d69b025fb1030f
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M Makefile
    A tests/docker/Makefile.include

  Log Message:
  -----------
  Makefile: Rules for docker testing

This adds a group of make targets to run docker tests, all are available
in source tree without running ./configure.

The usage is shown with "make docker".

Besides the fixed ones, dynamic targets for building each image and
running each test in each image are generated automatically by make,
scanning $(SRC_PATH)/tests/docker/ files with specific patterns.

Alternative to manually list particular targets (address@hidden)
set, you can control which tests/images to run by filtering variables,
TESTS= and IMAGES=, which are expressed in Makefile pattern syntax,
"foo% %bar ...". For example:

    $ make docker-test IMAGES="ubuntu fedora"

Unfortunately, it's impossible to propagate "-j $JOBS" into make in
containers, however since each combination is made a first class target
in the top Makefile, "make -j$N docker-test" still parallels the tests
coarsely.

Still, $J is made a magic variable to let all make invocations in
containers to use -j$J.

Instead of providing a live version of the source tree to the docker
container we snapshot it with git-archive. This ensures the tree is in a
pristine state for whatever operations the container is going to run on
them.

Uncommitted changes known to files known by the git index will be
included in the snapshot if there are any.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-id: address@hidden


  Commit: ca853f0c76e39044df66e4afe0195552aad814ce
      
https://github.com/qemu/qemu/commit/ca853f0c76e39044df66e4afe0195552aad814ce
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/dockerfiles/centos6.docker
    A tests/docker/dockerfiles/fedora.docker
    A tests/docker/dockerfiles/ubuntu.docker

  Log Message:
  -----------
  docker: Add images

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: b344aa9132e832127b7d740b5ae26ae9a2c453f0
      
https://github.com/qemu/qemu/commit/b344aa9132e832127b7d740b5ae26ae9a2c453f0
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/run

  Log Message:
  -----------
  docker: Add test runner

It's better to have a launcher for all tests, to make it easier to
initialize and manage the environment.

If "DEBUG=1"  a shell prompt will show up before the test runs.

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: 3568f98ca56099309417a9bbf0e22435fa7094a5
      
https://github.com/qemu/qemu/commit/3568f98ca56099309417a9bbf0e22435fa7094a5
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/common.rc

  Log Message:
  -----------
  docker: Add common.rc

"requires" checks the "FEATURE" environment for specified prerequisits,
and skip the execution of test if not found.

"build_qemu" is the central routine to compile QEMU for tests to call.

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: b7899d63c8780a69b690974de48d4ecabc773308
      
https://github.com/qemu/qemu/commit/b7899d63c8780a69b690974de48d4ecabc773308
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/test-quick

  Log Message:
  -----------
  docker: Add quick test

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: d710ac871c1d4023528d41d1867413f123e14c93
      
https://github.com/qemu/qemu/commit/d710ac871c1d4023528d41d1867413f123e14c93
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/test-full

  Log Message:
  -----------
  docker: Add full test

This builds all available targets.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden


  Commit: c8908570dcb93e2675440787bacb3ad81efd6be9
      
https://github.com/qemu/qemu/commit/c8908570dcb93e2675440787bacb3ad81efd6be9
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/test-clang

  Log Message:
  -----------
  docker: Add clang test

The (currently partially commented out) configure options are suggested
by John Snow <address@hidden>.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden


  Commit: c4f0eed1f33b107c08ae204ae06fd05b9b50410d
      
https://github.com/qemu/qemu/commit/c4f0eed1f33b107c08ae204ae06fd05b9b50410d
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/test-mingw

  Log Message:
  -----------
  docker: Add mingw test

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: d5bd7891980926c075604ec6a1fd530301771443
      
https://github.com/qemu/qemu/commit/d5bd7891980926c075604ec6a1fd530301771443
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    A tests/docker/travis
    A tests/docker/travis.py

  Log Message:
  -----------
  docker: Add travis tool

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".

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: dc2e7eebd8603e36d63b6a1f5299bc49fe721b3b
      
https://github.com/qemu/qemu/commit/dc2e7eebd8603e36d63b6a1f5299bc49fe721b3b
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M docs/build-system.txt

  Log Message:
  -----------
  docs: Add text for tests/docker in build-system.txt

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: 35e0f959b51dd8d4df0add9c01bff29ec74828ea
      
https://github.com/qemu/qemu/commit/35e0f959b51dd8d4df0add9c01bff29ec74828ea
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M tests/docker/Makefile.include
    M tests/docker/common.rc

  Log Message:
  -----------
  docker: Add EXTRA_CONFIGURE_OPTS

Whatever passed in this variable will be appended to all
configure commands.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden


  Commit: 8a49e97f4524c97aafb2f8516aa7d49f7656066a
      
https://github.com/qemu/qemu/commit/8a49e97f4524c97aafb2f8516aa7d49f7656066a
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add tests/docker

Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden


  Commit: 0bc7a6f3079af7b96e863c6eedef37a86abe1e24
      
https://github.com/qemu/qemu/commit/0bc7a6f3079af7b96e863c6eedef37a86abe1e24
  Author: Fam Zheng <address@hidden>
  Date:   2016-06-01 (Wed, 01 Jun 2016)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  .gitignore: Ignore docker source copy

Signed-off-by: Fam Zheng <address@hidden>


  Commit: cbd614870fce00f46088be7054a7bf5eadcc77ac
      
https://github.com/qemu/qemu/commit/cbd614870fce00f46088be7054a7bf5eadcc77ac
  Author: Peter Maydell <address@hidden>
  Date:   2016-06-02 (Thu, 02 Jun 2016)

  Changed paths:
    M .gitignore
    M MAINTAINERS
    M Makefile
    M docs/build-system.txt
    M rules.mak
    A tests/docker/Makefile.include
    A tests/docker/common.rc
    A tests/docker/docker.py
    A tests/docker/dockerfiles/centos6.docker
    A tests/docker/dockerfiles/fedora.docker
    A tests/docker/dockerfiles/ubuntu.docker
    A tests/docker/run
    A tests/docker/test-clang
    A tests/docker/test-full
    A tests/docker/test-mingw
    A tests/docker/test-quick
    A tests/docker/travis
    A tests/docker/travis.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/famz/tags/pull-docker-20160601' into 
staging

v2: Fix warning due to include.
    Various temp dir/file changes.
    Don't use "find -executable" to be compatible with Mac.

# gpg: Signature made Wed 01 Jun 2016 10:30:33 BST using RSA key ID 6A9171C6
# gpg: Good signature from "Fam Zheng <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 5003 7CB7 9706 0F76 F021  AD56 CA35 624C 6A91 71C6

* remotes/famz/tags/pull-docker-20160601:
  .gitignore: Ignore docker source copy
  MAINTAINERS: Add tests/docker
  docker: Add EXTRA_CONFIGURE_OPTS
  docs: Add text for tests/docker in build-system.txt
  docker: Add travis tool
  docker: Add mingw test
  docker: Add clang test
  docker: Add full test
  docker: Add quick test
  docker: Add common.rc
  docker: Add test runner
  docker: Add images
  Makefile: Rules for docker testing
  Makefile: Always include rules.mak
  rules.mak: Add "COMMA" constant
  tests: Add utilities for docker testing

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/500acc9c410b...cbd614870fce

reply via email to

[Prev in Thread] Current Thread [Next in Thread]