Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-…
Browse files Browse the repository at this point in the history
…110219-1' into staging

Testing updates:

  - .travis.yml tweaks and optimisations
  - .cirrus.yml enabled for FreeBSD CI
  - docker.py clean-ups for binfmt_misc
  - more control of vm-test builds

# gpg: Signature made Mon 11 Feb 2019 13:03:14 GMT
# gpg:                using RSA key F715F7CD46F94435F4F588658E520D61289519AE
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44
#      Subkey fingerprint: F715 F7CD 46F9 4435 F4F5  8865 8E52 0D61 2895 19AE

* remotes/stsquad/tags/pull-testing-next-110219-1:
  tests/vm: Be verbose while extracting compressed images
  docs/devel/testing: Add -a option to usermod command on docker setup
  scripts/qemu.py: allow arches use KVM for their 32bit cousins
  tests/vm: expose BUILD_TARGET, TARGET_LIST and EXTRA_CONFIGURE_OPTS
  tests/vm: add --build-target option
  tests/vm: call make check directly for netbsd/freebsd/ubuntu.i386
  tests/vm: move images to $HOME/.cache/qemu-vm/images
  tests: PEP8 cleanup of docker.py, mostly white space
  tests: docker.py be even smarter with persistent binfmt_misc
  tests: make docker.py check for persistent configs
  tests: make docker.py update use configured binfmt path
  docker: add debian-buster-arm64-cross
  archive-source.sh: Clone the submodules locally
  MAINTAINERS: Add an entry for scripts/archive-source.sh
  .travis.yml: fold --disable-tcg into alternate coroutine builds
  .travis.yml: separate tools and docs into another entry
  .travis.yml: stop requesting libffi & gettext from homebrew
  .cirrus.yml: basic compile and test for FreeBSD

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
pm215 committed Feb 11, 2019
2 parents e47f81b + 920fff9 commit a044e3d
Show file tree
Hide file tree
Showing 18 changed files with 222 additions and 60 deletions.
16 changes: 16 additions & 0 deletions .cirrus.yml
@@ -0,0 +1,16 @@
freebsd_12_task:
freebsd_instance:
image: freebsd-12-0-release-amd64
cpu: 8
memory: 8G
env:
CIRRUS_CLONE_DEPTH: 1
install_script: pkg install -y
bison curl cyrus-sasl git glib gmake gnutls
nettle perl5 pixman pkgconf png usbredir
script:
- mkdir build
- cd build
- ../configure || { cat config.log; exit 1; }
- gmake -j8
- gmake -j8 V=1 check
31 changes: 20 additions & 11 deletions .travis.yml
Expand Up @@ -40,8 +40,6 @@ addons:
- gcovr
homebrew:
packages:
- libffi
- gettext
- glib
- pixman

Expand All @@ -61,6 +59,7 @@ env:
global:
- SRC_DIR="."
- BUILD_DIR="."
- BASE_CONFIG="--disable-docs --disable-tools"
- TEST_CMD="make check -j3 V=1"


Expand All @@ -71,7 +70,7 @@ git:

before_script:
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
- ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
- ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
script:
- make -j3 && ${TEST_CMD}

Expand All @@ -98,14 +97,29 @@ matrix:
- CONFIG="--enable-modules --disable-linux-user"


# Alternate coroutines implementations are only really of interest to KVM users
# However we can't test against KVM on Travis so we can only run unit tests
- env:
- CONFIG="--with-coroutine=ucontext --disable-linux-user"
- CONFIG="--with-coroutine=ucontext --disable-tcg"
- TEST_CMD="make check-unit -j3 V=1"


- env:
- CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
- CONFIG="--with-coroutine=sigaltstack --disable-tcg"
- TEST_CMD="make check-unit -j3 V=1"


# Check we can build docs and tools
- env:
- BASE_CONFIG="--enable-tools --enable-docs"
- CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user"
addons:
apt:
packages:
- python-sphinx
- texinfo
- perl

# Test out-of-tree builds
- env:
- CONFIG="--enable-debug --enable-debug-tcg"
Expand Down Expand Up @@ -152,11 +166,6 @@ matrix:
- TEST_CMD=""


- env:
- CONFIG="--disable-tcg"
- TEST_CMD=""


# MacOSX builds
- env:
- CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
Expand Down Expand Up @@ -243,5 +252,5 @@ matrix:


- env:
- CONFIG="--disable-system --disable-docs"
- CONFIG="--disable-system"
- TEST_CMD="make -j3 check-tcg V=1"
9 changes: 9 additions & 0 deletions MAINTAINERS
Expand Up @@ -2471,10 +2471,19 @@ F: scripts/travis/
F: .shippable.yml
F: tests/docker/
F: tests/vm/
F: scripts/archive-source.sh
W: https://travis-ci.org/qemu/qemu
W: https://app.shippable.com/github/qemu/qemu
W: http://patchew.org/QEMU/

FreeBSD Hosted Continuous Integration
M: Ed Maste <emaste@freebsd.org>
M: Li-Wen Hsu <lwhsu@freebsd.org>
L: qemu-devel@nongnu.org
S: Maintained
F: .cirrus.yml
W: https://cirrus-ci.com/github/qemu/qemu

Guest Test Compilation Support
M: Alex Bennée <alex.bennee@linaro.org>
R: Philippe Mathieu-Daudé <f4bug@amsat.org>
Expand Down
2 changes: 1 addition & 1 deletion docs/devel/testing.rst
Expand Up @@ -301,7 +301,7 @@ An alternative method to set up permissions is by adding the current user to
.. code::
$ sudo groupadd docker
$ sudo usermod $USER -G docker
$ sudo usermod $USER -a -G docker
$ sudo chown :docker /var/run/docker.sock
Note that any one of above configurations makes it possible for the user to
Expand Down
7 changes: 7 additions & 0 deletions scripts/archive-source.sh
Expand Up @@ -38,6 +38,13 @@ else
fi
git clone --shared . "$vroot_dir"
test $? -ne 0 && error "failed to clone into '$vroot_dir'"
for sm in $submodules; do
if test -d "$sm/.git"
then
git clone --shared "$sm" "$vroot_dir/$sm"
test $? -ne 0 && error "failed to clone submodule $sm"
fi
done

cd "$vroot_dir"
test $? -ne 0 && error "failed to change into '$vroot_dir'"
Expand Down
12 changes: 10 additions & 2 deletions scripts/qemu.py
Expand Up @@ -25,10 +25,18 @@

LOG = logging.getLogger(__name__)

# Mapping host architecture to any additional architectures it can
# support which often includes its 32 bit cousin.
ADDITIONAL_ARCHES = {
"x86_64" : "i386",
"aarch64" : "armhf"
}

def kvm_available(target_arch=None):
if target_arch and target_arch != os.uname()[4]:
return False
host_arch = os.uname()[4]
if target_arch and target_arch != host_arch:
if target_arch != ADDITIONAL_ARCHES.get(host_arch):
return False
return os.access("/dev/kvm", os.R_OK | os.W_OK)


Expand Down
1 change: 1 addition & 0 deletions tests/docker/Makefile.include
Expand Up @@ -90,6 +90,7 @@ docker-image-debian-amd64: docker-image-debian9
docker-image-debian-armel-cross: docker-image-debian9
docker-image-debian-armhf-cross: docker-image-debian9
docker-image-debian-arm64-cross: docker-image-debian9
docker-image-debian-buster-arm64-cross: docker-image-debian10
docker-image-debian-mips-cross: docker-image-debian9
docker-image-debian-mipsel-cross: docker-image-debian9
docker-image-debian-mips64el-cross: docker-image-debian9
Expand Down

0 comments on commit a044e3d

Please sign in to comment.