mbox series

[v11,00/13] tests: Add VM based build tests (for non-x86_64 and/or non-Linux)

Message ID 20170921150755.19914-1-famz@redhat.com
Headers show
Series tests: Add VM based build tests (for non-x86_64 and/or non-Linux) | expand

Message

Fam Zheng Sept. 21, 2017, 3:07 p.m. UTC
v11: Fix archive-source.sh. [Eric]

v10: Rebase - trivial conflict in docker Makefile.include.
     Specify bash in shebang. [Eric]
     Tweaks in README and pub key comment. [Eric]
     Clean up $1.list if tar failed. [Eric]
     Set locale in cloud-init for ubuntu image.

v9: Don't use 'set -e' in archive-source.sh. [Eric]
    Add tests/keys/README. [Eric]
    Fix direct invocation of ./netbsd etc. [Alex]
    Add a note about test image well-known ssh key. [Eric]

Build tests in one 32 bit Linux guest and three BSD images are defined in this
series. This is a more managable way than the manually maintained virtual
machines in patchew. Also, one big advantage of ephemeral VMs over long running
guests is the reduced RAM usage of host, which makes it possible to have one
host test all these BSD variants and probably more.

The BSD guest templates are manually prepared following

https://wiki.qemu.org/Hosts/BSD

as it is not easy to automate. (The ideal approach is like the ubuntu.i386
script, which configures the guest on top of an official released image, fully
automatically.)

Need for help: "gmake check" in the added OpenBSD image fails with -ENOMEM
errors, even if I change "-m 2G" to "-m 8G" when starting VM. Ideas? And there
is a warning from ./configure about OpenBSD going to be unsupported in coming
releases, is it still the case?

Fam

Fam Zheng (13):
  gitignore: Ignore vm test images
  qemu.py: Add "wait()" method
  scripts: Add archive-source.sh
  tests: Add a test key pair
  tests: Add vm test lib
  tests: Add ubuntu.i386 image
  tests: Add FreeBSD image
  tests: Add NetBSD image
  tests: Add OpenBSD image
  Makefile: Add rules to run vm tests
  MAINTAINERS: Add tests/vm entry
  tests: Add README for vm tests
  docker: Use archive-source.py

 .gitignore                    |   1 +
 MAINTAINERS                   |   1 +
 Makefile                      |   2 +
 configure                     |   2 +-
 scripts/archive-source.sh     |  51 ++++++++
 scripts/qemu.py               |   7 ++
 tests/.gitignore              |   1 +
 tests/docker/Makefile.include |  14 +--
 tests/docker/run              |   8 +-
 tests/keys/README             |   6 +
 tests/keys/id_rsa             |  27 +++++
 tests/keys/id_rsa.pub         |   1 +
 tests/vm/Makefile.include     |  42 +++++++
 tests/vm/README               |  89 ++++++++++++++
 tests/vm/basevm.py            | 262 ++++++++++++++++++++++++++++++++++++++++++
 tests/vm/freebsd              |  42 +++++++
 tests/vm/netbsd               |  42 +++++++
 tests/vm/openbsd              |  43 +++++++
 tests/vm/ubuntu.i386          |  89 ++++++++++++++
 19 files changed, 710 insertions(+), 20 deletions(-)
 create mode 100755 scripts/archive-source.sh
 create mode 100644 tests/keys/README
 create mode 100644 tests/keys/id_rsa
 create mode 100644 tests/keys/id_rsa.pub
 create mode 100644 tests/vm/Makefile.include
 create mode 100644 tests/vm/README
 create mode 100755 tests/vm/basevm.py
 create mode 100755 tests/vm/freebsd
 create mode 100755 tests/vm/netbsd
 create mode 100755 tests/vm/openbsd
 create mode 100755 tests/vm/ubuntu.i386