* 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
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAl8qgSQRHHRodXRoQHJl
 ZGhhdC5jb20ACgkQLtnXdP5wLbXafg/+P24AH97EFP/1/FrSWH7xX3J1dXV8YQqk
 bGnP60ybsCxsTlPMItM5j9X2yGHuASsGD4J1QIOfm+c+nQgRy1BaA7qbPls1TNS3
 XMkO4gkla2BK9InOOskCUX6JQPVeLBbPSll0lNXwypZn281Sw7VpHgMMjpdDvGqB
 HYF/0aQZpS64zSik13liXPoNajyEovbLPUEuG8nYBrfk2thMnhsBnQu4cuQ3m1jI
 gurgmJAnlLTK0W8ZlyIF6rq5EJEfixz/o+L9MHwZ6jYWcWoveSEUI/ev4oQ9Awzx
 pIBLgHyE/ibomUNn9p2HXN/oYPR6ZdfFsLoUQIszWd6rdqp67RGHQ68OqgIOrP80
 eMBllM+p1wej9z1TvrL+mvQusM+5FHvwYGOh/JlHGiZv83sClv1Yws8otJt8KEA0
 6C/kiaksxPOcNOE7ftup/ifSSzBqSuAVVEKndtqQx04QRFfS+Pzqtj0gaHNDFijJ
 BOsT1mGqsufNF/b6pJ/fvnMTZIIfvevLyW44ecyxjqcY/gwAvY274AotFf+1tOAC
 e2f+ZxDvGqMZGy7r0znADtCGRM8xrSow6IVGjbNXnEfTJ2aA5GY2wRvfqiiVoFs6
 BOGewHwm41uj9LKJsfszmHp64M3WTcZ6KqUsAKKjoRwenwlD5VugBKZ/cF/NSW7p
 5f4jCuB4S3Q=
 =cy92
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-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>
This commit is contained in:
Peter Maydell 2020-08-05 11:02:46 +01:00
commit 616dab9afc
8 changed files with 103 additions and 27 deletions

View File

@ -47,73 +47,144 @@ include:
- find . -type f -exec touch {} + - find . -type f -exec touch {} +
- make $MAKE_CHECK_ARGS - 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: after_script:
- cd build - 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 - 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 <<: *native_build_job_definition
variables: variables:
IMAGE: ubuntu2004 IMAGE: ubuntu2004
TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu lm32-softmmu TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
moxie-softmmu microblazeel-softmmu mips64el-softmmu m68k-softmmu ppc-softmmu moxie-softmmu microblazeel-softmmu mips64el-softmmu
riscv64-softmmu sparc-softmmu
MAKE_CHECK_ARGS: check-build MAKE_CHECK_ARGS: check-build
artifacts: artifacts:
paths: paths:
- build - build
check-system-ubuntu-main: check-system-ubuntu:
<<: *native_test_job_definition <<: *native_test_job_definition
needs: needs:
- job: build-system-ubuntu-main - job: build-system-ubuntu
artifacts: true artifacts: true
variables: variables:
IMAGE: ubuntu2004 IMAGE: ubuntu2004
MAKE_CHECK_ARGS: check MAKE_CHECK_ARGS: check
acceptance-system-ubuntu-main: acceptance-system-ubuntu:
<<: *native_test_job_definition <<: *native_test_job_definition
needs: needs:
- job: build-system-ubuntu-main - job: build-system-ubuntu
artifacts: true artifacts: true
variables: variables:
IMAGE: ubuntu2004 IMAGE: ubuntu2004
MAKE_CHECK_ARGS: check-acceptance MAKE_CHECK_ARGS: check-acceptance
<<: *post_acceptance <<: *acceptance_definition
build-system-fedora-alt: 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:
<<: *native_build_job_definition <<: *native_build_job_definition
variables: variables:
IMAGE: fedora IMAGE: fedora
TARGETS: tricore-softmmu unicore32-softmmu microblaze-softmmu mips-softmmu TARGETS: tricore-softmmu unicore32-softmmu microblaze-softmmu mips-softmmu
riscv32-softmmu s390x-softmmu sh4-softmmu sparc64-softmmu x86_64-softmmu xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
xtensa-softmmu nios2-softmmu or1k-softmmu
MAKE_CHECK_ARGS: check-build MAKE_CHECK_ARGS: check-build
artifacts: artifacts:
paths: paths:
- build - build
check-system-fedora-alt: check-system-fedora:
<<: *native_test_job_definition <<: *native_test_job_definition
needs: needs:
- job: build-system-fedora-alt - job: build-system-fedora
artifacts: true artifacts: true
variables: variables:
IMAGE: fedora IMAGE: fedora
MAKE_CHECK_ARGS: check MAKE_CHECK_ARGS: check
acceptance-system-fedora-alt: acceptance-system-fedora:
<<: *native_test_job_definition <<: *native_test_job_definition
needs: needs:
- job: build-system-fedora-alt - job: build-system-fedora
artifacts: true artifacts: true
variables: variables:
IMAGE: fedora IMAGE: fedora
MAKE_CHECK_ARGS: check-acceptance 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: build-disabled:
<<: *native_build_job_definition <<: *native_build_job_definition

View File

@ -726,7 +726,7 @@ virtiofsd$(EXESUF): $(virtiofsd-obj-y) libvhost-user.a $(COMMON_LDADDS)
$(call LINK, $^) $(call LINK, $^)
endif 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, $^) $(call LINK, $^)
ifdef CONFIG_VHOST_USER_INPUT ifdef CONFIG_VHOST_USER_INPUT

View File

@ -403,9 +403,6 @@ echo "Configuring..."
--enable-mpath --enable-libxml2 --enable-glusterfs \ --enable-mpath --enable-libxml2 --enable-glusterfs \
--enable-virtfs --enable-zstd --enable-virtfs --enable-zstd
echo "Making libqemustub.a..."
make libqemustub.a
echo "Running cov-build..." echo "Running cov-build..."
rm -rf cov-int rm -rf cov-int
mkdir cov-int mkdir cov-int

View File

@ -151,8 +151,8 @@ static void vext_clear(void *tail, uint32_t cnt, uint32_t tot)
if (cnt % 8) { if (cnt % 8) {
part1 = 8 - (cnt % 8); part1 = 8 - (cnt % 8);
part2 = tot - cnt - part1; part2 = tot - cnt - part1;
memset((void *)((uintptr_t)tail & ~(7ULL)), 0, part1); memset(QEMU_ALIGN_PTR_DOWN(tail, 8), 0, part1);
memset((void *)(((uintptr_t)tail + 8) & ~(7ULL)), 0, part2); memset(QEMU_ALIGN_PTR_UP(tail, 8), 0, part2);
} else { } else {
memset(tail, 0, part2); memset(tail, 0, part2);
} }

View File

@ -8,6 +8,9 @@
# This work is licensed under the terms of the GNU GPL, version 2 or # This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory. # 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 Test
from avocado_qemu import exec_command_and_wait_for_pattern from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import wait_for_console_pattern from avocado_qemu import wait_for_console_pattern
@ -42,6 +45,7 @@ class RxGdbSimMachine(Test):
# FIXME limit baudrate on chardev, else we type too fast # FIXME limit baudrate on chardev, else we type too fast
#exec_command_and_wait_for_pattern(self, 'version', gcc_version) #exec_command_and_wait_for_pattern(self, 'version', gcc_version)
@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_linux_sash(self): def test_linux_sash(self):
""" """
Boots a Linux kernel and checks that the console is operational. Boots a Linux kernel and checks that the console is operational.

View File

@ -126,6 +126,7 @@ class ReplayKernel(LinuxKernelTest):
self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1) 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): def test_arm_cubieboard_initrd(self):
""" """
:avocado: tags=arch:arm :avocado: tags=arch:arm

View File

@ -20,7 +20,9 @@ RUN apt update && \
librdmacm-dev \ librdmacm-dev \
libsasl2-dev \ libsasl2-dev \
libsnappy-dev \ libsnappy-dev \
libvte-dev libvte-dev \
netcat-openbsd \
python3-venv
# virgl # virgl
RUN apt update && \ RUN apt update && \

View File

@ -64,7 +64,8 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
return dup(mon_fd); 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 * To replace monitor_get_fd() we must ensure everything in
* stubs/monitor.c is defined, to make sure monitor.o is discarded * stubs/monitor.c is defined, to make sure monitor.o is discarded
* otherwise we get duplicate syms at link time. * otherwise we get duplicate syms at link time.