From: Vignesh Raman Date: Mon, 23 Jun 2025 08:50:28 +0000 (+0530) Subject: drm/ci: Add jobs to run KUnit tests X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=786bd08c0055a133cbafa5f2c044433849906c1d;p=thirdparty%2Flinux.git drm/ci: Add jobs to run KUnit tests Add jobs to run KUnit tests using tools/testing/kunit/kunit.py tool. Signed-off-by: Vignesh Raman Acked-by: Helen Koike Reviewed-by: Maxime Ripard Link: https://lore.kernel.org/r/20250623085033.39680-3-vignesh.raman@collabora.com Signed-off-by: Maxime Ripard --- diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml index 1be757c0c5301..9a32cd736f2fe 100644 --- a/drivers/gpu/drm/ci/gitlab-ci.yml +++ b/drivers/gpu/drm/ci/gitlab-ci.yml @@ -111,6 +111,7 @@ include: - drivers/gpu/drm/ci/build.yml - drivers/gpu/drm/ci/test.yml - drivers/gpu/drm/ci/check-devicetrees.yml + - drivers/gpu/drm/ci/kunit.yml - 'https://gitlab.freedesktop.org/gfx-ci/lab-status/-/raw/main/lab-status.yml' @@ -121,6 +122,7 @@ stages: - build-for-tests - build-only - static-checks + - kunit - code-validation - amdgpu - i915 diff --git a/drivers/gpu/drm/ci/kunit.sh b/drivers/gpu/drm/ci/kunit.sh new file mode 100755 index 0000000000000..7a1052fd3f173 --- /dev/null +++ b/drivers/gpu/drm/ci/kunit.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# SPDX-License-Identifier: MIT + +set -euxo pipefail + +: "${KERNEL_ARCH:?ERROR: KERNEL_ARCH must be set}" +: "${LLVM_VERSION:?ERROR: LLVM_VERSION must be set}" + +./drivers/gpu/drm/ci/setup-llvm-links.sh + +export PATH="/usr/bin:$PATH" + +./tools/testing/kunit/kunit.py run \ + --arch "${KERNEL_ARCH}" \ + --make_options LLVM=1 \ + --kunitconfig=drivers/gpu/drm/tests diff --git a/drivers/gpu/drm/ci/kunit.yml b/drivers/gpu/drm/ci/kunit.yml new file mode 100644 index 0000000000000..0d5b2c4433d27 --- /dev/null +++ b/drivers/gpu/drm/ci/kunit.yml @@ -0,0 +1,37 @@ +.kunit-packages: &kunit-packages + - apt-get update -qq + # Minimum supported version of LLVM for building x86 kernels is 15.0.0. + # In mesa-ci containers, LLVM_VERSION is defined as a container-level property and is currently set to 19. + - apt-get install -y --no-install-recommends clang-${LLVM_VERSION} lld-${LLVM_VERSION} llvm-${LLVM_VERSION} + +.kunit-base: + stage: kunit + timeout: "30m" + variables: + GIT_DEPTH: 1 + script: + - drivers/gpu/drm/ci/kunit.sh + +kunit:arm32: + extends: + - .build:arm32 + - .kunit-base + before_script: + - *kunit-packages + - apt-get install -y --no-install-recommends qemu-system-arm + +kunit:arm64: + extends: + - .build:arm64 + - .kunit-base + before_script: + - *kunit-packages + - apt-get install -y --no-install-recommends qemu-system-aarch64 + +kunit:x86_64: + extends: + - .build:x86_64 + - .kunit-base + before_script: + - *kunit-packages + - apt-get install -y --no-install-recommends qemu-system-x86