aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml109
-rw-r--r--Makefile2
-rwxr-xr-xscripts/coverity-scan/run-coverity-scan3
-rw-r--r--target/riscv/vector_helper.c4
-rw-r--r--tests/acceptance/machine_rx_gdbsim.py4
-rw-r--r--tests/acceptance/replay_kernel.py1
-rw-r--r--tests/docker/dockerfiles/debian-amd64.docker4
-rw-r--r--tests/test-util-sockets.c3
8 files changed, 103 insertions, 27 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 362e5ee..9820066 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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
diff --git a/Makefile b/Makefile
index c2120d8..13dd708 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/scripts/coverity-scan/run-coverity-scan b/scripts/coverity-scan/run-coverity-scan
index 03a791d..6eefb4b 100755
--- a/scripts/coverity-scan/run-coverity-scan
+++ b/scripts/coverity-scan/run-coverity-scan
@@ -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
diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
index 39f44d1..793af99 100644
--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -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);
}
diff --git a/tests/acceptance/machine_rx_gdbsim.py b/tests/acceptance/machine_rx_gdbsim.py
index bff63e4..0c72506 100644
--- a/tests/acceptance/machine_rx_gdbsim.py
+++ b/tests/acceptance/machine_rx_gdbsim.py
@@ -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
@@ -42,6 +45,7 @@ class RxGdbSimMachine(Test):
# 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.
diff --git a/tests/acceptance/replay_kernel.py b/tests/acceptance/replay_kernel.py
index 62d2db8..b79fc8d 100644
--- a/tests/acceptance/replay_kernel.py
+++ b/tests/acceptance/replay_kernel.py
@@ -126,6 +126,7 @@ class ReplayKernel(LinuxKernelTest):
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
diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
index 8fdfd6a..d2500dc 100644
--- a/tests/docker/dockerfiles/debian-amd64.docker
+++ b/tests/docker/dockerfiles/debian-amd64.docker
@@ -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 && \
diff --git a/tests/test-util-sockets.c b/tests/test-util-sockets.c
index 2ca1e99..261dc48 100644
--- a/tests/test-util-sockets.c
+++ b/tests/test-util-sockets.c
@@ -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.