Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2…
Browse files Browse the repository at this point in the history
…020-08-05' into staging

* Test rx-softmmu, avr-softmmu, Centos7 and Debian on gitlab-CI
* Fix compiler warning on 32-bit big endian systems
* Remove remainders of libqemustub.a

# gpg: Signature made Wed 05 Aug 2020 10:51:32 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2020-08-05:
  Get rid of the libqemustub.a remainders
  target/riscv/vector_helper: Fix build on 32-bit big endian hosts
  gitlab-ci: Fix Avocado cache usage
  gitlab-ci.yml: Add build-system-debian and build-system-centos jobs
  tests/acceptance: Disable the rx sash and arm cubieboard replay test on Gitlab
  tests/docker: Add python3-venv and netcat to the debian-amd64 container

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
pm215 committed Aug 5, 2020
2 parents fd3cd58 + d2a71d7 commit 616dab9
Show file tree
Hide file tree
Showing 8 changed files with 103 additions and 27 deletions.
109 changes: 90 additions & 19 deletions .gitlab-ci.yml
Expand Up @@ -47,73 +47,144 @@ include:
- find . -type f -exec touch {} +
- make $MAKE_CHECK_ARGS

.post_acceptance_template: &post_acceptance
.acceptance_template: &acceptance_definition
cache:
key: "${CI_JOB_NAME}-cache"
paths:
- ${CI_PROJECT_DIR}/avocado-cache
policy: pull-push
before_script:
- mkdir -p ~/.config/avocado
- echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
- echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']"
>> ~/.config/avocado/avocado.conf
- if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then
du -chs ${CI_PROJECT_DIR}/avocado-cache ;
fi
after_script:
- cd build
- python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
- du -chs $HOME/avocado/data/cache
- du -chs ${CI_PROJECT_DIR}/avocado-cache

build-system-ubuntu-main:
build-system-ubuntu:
<<: *native_build_job_definition
variables:
IMAGE: ubuntu2004
TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu lm32-softmmu
moxie-softmmu microblazeel-softmmu mips64el-softmmu m68k-softmmu ppc-softmmu
riscv64-softmmu sparc-softmmu
TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
moxie-softmmu microblazeel-softmmu mips64el-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
paths:
- build

check-system-ubuntu-main:
check-system-ubuntu:
<<: *native_test_job_definition
needs:
- job: build-system-ubuntu-main
- job: build-system-ubuntu
artifacts: true
variables:
IMAGE: ubuntu2004
MAKE_CHECK_ARGS: check

acceptance-system-ubuntu-main:
acceptance-system-ubuntu:
<<: *native_test_job_definition
needs:
- job: build-system-ubuntu-main
- job: build-system-ubuntu
artifacts: true
variables:
IMAGE: ubuntu2004
MAKE_CHECK_ARGS: check-acceptance
<<: *post_acceptance
<<: *acceptance_definition

build-system-debian:
<<: *native_build_job_definition
variables:
IMAGE: debian-amd64
TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu
riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
paths:
- build

check-system-debian:
<<: *native_test_job_definition
needs:
- job: build-system-debian
artifacts: true
variables:
IMAGE: debian-amd64
MAKE_CHECK_ARGS: check

acceptance-system-debian:
<<: *native_test_job_definition
needs:
- job: build-system-debian
artifacts: true
variables:
IMAGE: debian-amd64
MAKE_CHECK_ARGS: check-acceptance
<<: *acceptance_definition

build-system-fedora-alt:
build-system-fedora:
<<: *native_build_job_definition
variables:
IMAGE: fedora
TARGETS: tricore-softmmu unicore32-softmmu microblaze-softmmu mips-softmmu
riscv32-softmmu s390x-softmmu sh4-softmmu sparc64-softmmu x86_64-softmmu
xtensa-softmmu nios2-softmmu or1k-softmmu
xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
paths:
- build

check-system-fedora-alt:
check-system-fedora:
<<: *native_test_job_definition
needs:
- job: build-system-fedora-alt
- job: build-system-fedora
artifacts: true
variables:
IMAGE: fedora
MAKE_CHECK_ARGS: check

acceptance-system-fedora-alt:
acceptance-system-fedora:
<<: *native_test_job_definition
needs:
- job: build-system-fedora-alt
- job: build-system-fedora
artifacts: true
variables:
IMAGE: fedora
MAKE_CHECK_ARGS: check-acceptance
<<: *post_acceptance
<<: *acceptance_definition

build-system-centos:
<<: *native_build_job_definition
variables:
IMAGE: centos8
TARGETS: ppc64-softmmu lm32-softmmu or1k-softmmu s390x-softmmu
x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
paths:
- build

check-system-centos:
<<: *native_test_job_definition
needs:
- job: build-system-centos
artifacts: true
variables:
IMAGE: centos8
MAKE_CHECK_ARGS: check

acceptance-system-centos:
<<: *native_test_job_definition
needs:
- job: build-system-centos
artifacts: true
variables:
IMAGE: centos8
MAKE_CHECK_ARGS: check-acceptance
<<: *acceptance_definition

build-disabled:
<<: *native_build_job_definition
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -726,7 +726,7 @@ virtiofsd$(EXESUF): $(virtiofsd-obj-y) libvhost-user.a $(COMMON_LDADDS)
$(call LINK, $^)
endif

vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) $(libvhost-user-obj-y) libqemuutil.a libqemustub.a
vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) $(libvhost-user-obj-y) libqemuutil.a
$(call LINK, $^)

ifdef CONFIG_VHOST_USER_INPUT
Expand Down
3 changes: 0 additions & 3 deletions scripts/coverity-scan/run-coverity-scan
Expand Up @@ -403,9 +403,6 @@ echo "Configuring..."
--enable-mpath --enable-libxml2 --enable-glusterfs \
--enable-virtfs --enable-zstd

echo "Making libqemustub.a..."
make libqemustub.a

echo "Running cov-build..."
rm -rf cov-int
mkdir cov-int
Expand Down
4 changes: 2 additions & 2 deletions target/riscv/vector_helper.c
Expand Up @@ -151,8 +151,8 @@ static void vext_clear(void *tail, uint32_t cnt, uint32_t tot)
if (cnt % 8) {
part1 = 8 - (cnt % 8);
part2 = tot - cnt - part1;
memset((void *)((uintptr_t)tail & ~(7ULL)), 0, part1);
memset((void *)(((uintptr_t)tail + 8) & ~(7ULL)), 0, part2);
memset(QEMU_ALIGN_PTR_DOWN(tail, 8), 0, part1);
memset(QEMU_ALIGN_PTR_UP(tail, 8), 0, part2);
} else {
memset(tail, 0, part2);
}
Expand Down
4 changes: 4 additions & 0 deletions tests/acceptance/machine_rx_gdbsim.py
Expand Up @@ -8,6 +8,9 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.

import os

from avocado import skipIf
from avocado_qemu import Test
from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import wait_for_console_pattern
Expand Down Expand Up @@ -42,6 +45,7 @@ def test_uboot(self):
# FIXME limit baudrate on chardev, else we type too fast
#exec_command_and_wait_for_pattern(self, 'version', gcc_version)

@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_linux_sash(self):
"""
Boots a Linux kernel and checks that the console is operational.
Expand Down
1 change: 1 addition & 0 deletions tests/acceptance/replay_kernel.py
Expand Up @@ -126,6 +126,7 @@ def test_arm_virt(self):

self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1)

@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_arm_cubieboard_initrd(self):
"""
:avocado: tags=arch:arm
Expand Down
4 changes: 3 additions & 1 deletion tests/docker/dockerfiles/debian-amd64.docker
Expand Up @@ -20,7 +20,9 @@ RUN apt update && \
librdmacm-dev \
libsasl2-dev \
libsnappy-dev \
libvte-dev
libvte-dev \
netcat-openbsd \
python3-venv

# virgl
RUN apt update && \
Expand Down
3 changes: 2 additions & 1 deletion tests/test-util-sockets.c
Expand Up @@ -64,7 +64,8 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
return dup(mon_fd);
}

/* Syms in libqemustub.a are discarded at .o file granularity.
/*
* Syms of stubs in libqemuutil.a are discarded at .o file granularity.
* To replace monitor_get_fd() we must ensure everything in
* stubs/monitor.c is defined, to make sure monitor.o is discarded
* otherwise we get duplicate syms at link time.
Expand Down

0 comments on commit 616dab9

Please sign in to comment.