Skip to content

Commit a044e3d

Browse files
committed
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-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) <[email protected]>" [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 <[email protected]>
2 parents e47f81b + 920fff9 commit a044e3d

18 files changed

+222
-60
lines changed

.cirrus.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
freebsd_12_task:
2+
freebsd_instance:
3+
image: freebsd-12-0-release-amd64
4+
cpu: 8
5+
memory: 8G
6+
env:
7+
CIRRUS_CLONE_DEPTH: 1
8+
install_script: pkg install -y
9+
bison curl cyrus-sasl git glib gmake gnutls
10+
nettle perl5 pixman pkgconf png usbredir
11+
script:
12+
- mkdir build
13+
- cd build
14+
- ../configure || { cat config.log; exit 1; }
15+
- gmake -j8
16+
- gmake -j8 V=1 check

.travis.yml

+20-11
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ addons:
4040
- gcovr
4141
homebrew:
4242
packages:
43-
- libffi
44-
- gettext
4543
- glib
4644
- pixman
4745

@@ -61,6 +59,7 @@ env:
6159
global:
6260
- SRC_DIR="."
6361
- BUILD_DIR="."
62+
- BASE_CONFIG="--disable-docs --disable-tools"
6463
- TEST_CMD="make check -j3 V=1"
6564

6665

@@ -71,7 +70,7 @@ git:
7170

7271
before_script:
7372
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
74-
- ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
73+
- ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
7574
script:
7675
- make -j3 && ${TEST_CMD}
7776

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

10099

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

104106

105107
- env:
106-
- CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
108+
- CONFIG="--with-coroutine=sigaltstack --disable-tcg"
109+
- TEST_CMD="make check-unit -j3 V=1"
107110

108111

112+
# Check we can build docs and tools
113+
- env:
114+
- BASE_CONFIG="--enable-tools --enable-docs"
115+
- CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user"
116+
addons:
117+
apt:
118+
packages:
119+
- python-sphinx
120+
- texinfo
121+
- perl
122+
109123
# Test out-of-tree builds
110124
- env:
111125
- CONFIG="--enable-debug --enable-debug-tcg"
@@ -152,11 +166,6 @@ matrix:
152166
- TEST_CMD=""
153167

154168

155-
- env:
156-
- CONFIG="--disable-tcg"
157-
- TEST_CMD=""
158-
159-
160169
# MacOSX builds
161170
- env:
162171
- CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
@@ -243,5 +252,5 @@ matrix:
243252

244253

245254
- env:
246-
- CONFIG="--disable-system --disable-docs"
255+
- CONFIG="--disable-system"
247256
- TEST_CMD="make -j3 check-tcg V=1"

MAINTAINERS

+9
Original file line numberDiff line numberDiff line change
@@ -2471,10 +2471,19 @@ F: scripts/travis/
24712471
F: .shippable.yml
24722472
F: tests/docker/
24732473
F: tests/vm/
2474+
F: scripts/archive-source.sh
24742475
W: https://travis-ci.org/qemu/qemu
24752476
W: https://app.shippable.com/github/qemu/qemu
24762477
W: http://patchew.org/QEMU/
24772478

2479+
FreeBSD Hosted Continuous Integration
2480+
M: Ed Maste <[email protected]>
2481+
M: Li-Wen Hsu <[email protected]>
2482+
2483+
S: Maintained
2484+
F: .cirrus.yml
2485+
W: https://cirrus-ci.com/github/qemu/qemu
2486+
24782487
Guest Test Compilation Support
24792488
M: Alex Bennée <[email protected]>
24802489
R: Philippe Mathieu-Daudé <[email protected]>

docs/devel/testing.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ An alternative method to set up permissions is by adding the current user to
301301
.. code::
302302
303303
$ sudo groupadd docker
304-
$ sudo usermod $USER -G docker
304+
$ sudo usermod $USER -a -G docker
305305
$ sudo chown :docker /var/run/docker.sock
306306
307307
Note that any one of above configurations makes it possible for the user to

scripts/archive-source.sh

+7
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ else
3838
fi
3939
git clone --shared . "$vroot_dir"
4040
test $? -ne 0 && error "failed to clone into '$vroot_dir'"
41+
for sm in $submodules; do
42+
if test -d "$sm/.git"
43+
then
44+
git clone --shared "$sm" "$vroot_dir/$sm"
45+
test $? -ne 0 && error "failed to clone submodule $sm"
46+
fi
47+
done
4148

4249
cd "$vroot_dir"
4350
test $? -ne 0 && error "failed to change into '$vroot_dir'"

scripts/qemu.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,18 @@
2525

2626
LOG = logging.getLogger(__name__)
2727

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

2935
def kvm_available(target_arch=None):
30-
if target_arch and target_arch != os.uname()[4]:
31-
return False
36+
host_arch = os.uname()[4]
37+
if target_arch and target_arch != host_arch:
38+
if target_arch != ADDITIONAL_ARCHES.get(host_arch):
39+
return False
3240
return os.access("/dev/kvm", os.R_OK | os.W_OK)
3341

3442

tests/docker/Makefile.include

+1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ docker-image-debian-amd64: docker-image-debian9
9090
docker-image-debian-armel-cross: docker-image-debian9
9191
docker-image-debian-armhf-cross: docker-image-debian9
9292
docker-image-debian-arm64-cross: docker-image-debian9
93+
docker-image-debian-buster-arm64-cross: docker-image-debian10
9394
docker-image-debian-mips-cross: docker-image-debian9
9495
docker-image-debian-mipsel-cross: docker-image-debian9
9596
docker-image-debian-mips64el-cross: docker-image-debian9

0 commit comments

Comments
 (0)