From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 23 Mar 2026 09:30:53 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f61.google.com (mail-wr1-f61.google.com [209.85.221.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62N8Un94028855 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 23 Mar 2026 09:30:49 +0100 Received: by mail-wr1-f61.google.com with SMTP id ffacd0b85a97d-43b42fe9031sf3530364f8f.0 for ; Mon, 23 Mar 2026 01:30:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774254644; cv=pass; d=google.com; s=arc-20240605; b=MAD58hFSqUS4C8G0dd36YwqEds3a4M3VteFt4aRCcXtxu8u0R5KNyGc1WtWXBNYME6 SoPK/qZiTPvYYeu1TtRwah15stm48EV5CtyPDF9ePGYpmRsOqIK5oIXnuWu9Q+3xoNhp 7u46bX8K5HLVPRMhe6F6lfn/aipz1ywwFixpYYZOcZAMG4/OLMJgJXKI/jkkpkpm99ks 9X3d1iXYkgaZEvStZlZUYN0RXYNR/517RkGHOIqsftRoiI6hB273wzKeOHDgDLnNRkn1 zC7jAlgNNXCbcM1Bz6HSqiVxfgThB6z8oLlumCf/idUkeKk8YtuVGkWRlss/xNa3HvjG DtLw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9prL+EscSUEDKbtdwe6UaizxWSLlG4YLVk5yjAcU5oc=; fh=eqMf106J7WaRsPMT1wi2pyZIYUTrJiqBgX71KC62pQM=; b=JvX3s2XGL+dtq+4ZWGCXSqpdTtxSgSjF4eFxBOubAM2X2MQgP2aeMOOgz8gTIEAKN8 tl9Q56KRcwZHkS4K4n8kKD0YXQbDzk1ReIn5t3sg/qmOhYOy5M0P6QPx0kpfWmIHs5t2 YXj77+9dFOBFHylyDhM10iJ1eoBsXky9dJA0p1SFBnE/T+oA3V7/Db/TB7i3ZEhq+AaI MnqpkGTNJeLNuH8kptZ0cI2hj6OmJGYLVewMiLv/egWkkvWw9U4vGXv+JmSifn0Qro5t EXhMDBGGS0MaEEtXUSc2u5hznVD5QhHdSy5xF0Xw13Psh3L8DtWltbPM+MIBzqiUPuiC r1zQ==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=BIAltWED; spf=pass (google.com: domain of fm-294854-20260323083041192d54944d000207df-l5vxkn@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-294854-20260323083041192d54944d000207df-L5vXkn@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1774254644; x=1774859444; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=9prL+EscSUEDKbtdwe6UaizxWSLlG4YLVk5yjAcU5oc=; b=LIZPrcB8v8F9SvYgTRCFu7j9tjsyaWiSwBd1H/Rxci/HoE6knkukcw1JQixrd3L5rB mVzEEQhMAx0wz4ugxDQGdFevdQ52+j4s6eIrLGsojj4ulW2Y9tO5kCo90P0RdS/J6HFF 9PLh6qJHfI2oJ2bnEVCAWqcaAOHg9slVS7BngF8y2trrw/8LooGUtc+3hGzeOAgyRUxe 9HJTje6aNy+LRmVxFg67VM9CoeCXnxPod34xdQlaheHHKjMVil/Se4aBTwaej6rXO7Tk kA389aIiCM7NdjLUlnX1EySfWnylxhrDtXoN3cOqMAk5HJm/aGXnGuPYGyUixKdAk51M T6DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774254644; x=1774859444; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9prL+EscSUEDKbtdwe6UaizxWSLlG4YLVk5yjAcU5oc=; b=OEv7rw7rlHCtBPaGcXuKwLBABI06SZAS3Bg2ikQxffi2yen3tdR4YvLRWbYHEoxXFy 7K1NjqrbFy3ueuncn2dYlVDvMaCt63L7MdVv6PSXKgFM2CuIUEOo/1P2d8FIxUKrD6ki sgPqZFwp/4b3ST01Glc7ZDrYHr35rd8XQRryaQKJwvcX89Dtx79HTIq5BWon/B6kyEZQ DxYk6qsVhn90l+jjq6uJRBCVjcmQenDAhe+/VWD85ad6IoaThv3cZ2+PSVkxG3HQ31rb QXWmEZ2ynuluLMU8J4sTo8C39VZSgCIxwUiUoRkUUI1sYrR2nZgAV7gbupkDCCgmtSMA v1CQ== X-Forwarded-Encrypted: i=2; AJvYcCWIOngJkhPmlWUyc6kObFTQkhPGkHZ8CIg2HgP22jbniObzQZihp0b2AKrCsSvZ5aCTFocp@ilbers.de X-Gm-Message-State: AOJu0YzG11sKcPNDYq1gXJRgWroCGcjI4YH1sgL9VIJRttUu++Yl5b/e ne699Vw70v+AfKjmK4dOAFMEj1O1oG8GJVn3F+yMMFV8Q9Q2q7gnKJ9b X-Received: by 2002:a05:6000:2007:b0:43b:4e13:2213 with SMTP id ffacd0b85a97d-43b6428baa5mr18439735f8f.51.1774254643583; Mon, 23 Mar 2026 01:30:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiKCWt9+BDWjXUppVNGJXr4Ba4Fi+ILj8IBl9vdZWHumJw==" Received: by 2002:adf:9d8a:0:b0:439:8f85:db06 with SMTP id ffacd0b85a97d-43b585d840als2404860f8f.0.-pod-prod-01-eu; Mon, 23 Mar 2026 01:30:41 -0700 (PDT) X-Received: by 2002:a5d:590e:0:b0:43b:4352:1bd8 with SMTP id ffacd0b85a97d-43b6428ba33mr12444662f8f.53.1774254641468; Mon, 23 Mar 2026 01:30:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774254641; cv=none; d=google.com; s=arc-20240605; b=Pi33/ipmQpd9BNyUk8i7HaVJITS9vT7eiUAr2YOHXlwjC86ILtOJPHDSnJuxs131fT fCOraocAJIRJgzSPwXHLIWu6HzapsQHqOcTgfTlianSdYiCKVxtWIQLMaxUVKOXpJp1c CMXfoDVjfA2WwCMtUNiitDtsPVFlkIGY3R+ewaY3vL1uettUgCrhkkEtg9yHSQLzgDXK 6IiR2I1Vb1cT2+d4IqMAsq5CR39/sgxVVodk0pfa2/MDRtd3w+LZd8rAc6FdUZnaUamc t38Gg527qKLmP+HVabqHLA+qmfPgZo11KLaR6gKWVJ+dLv0hvfm7IycqN5rht3wXZO1/ kDOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=vXXketettU8K7vnURZDpF63Id2foCsnASX7ZnHLe/Og=; fh=TnBsgKgmUKR6lCgSnR10YW4SMYjU5gXEv4fxP/+RPug=; b=ex7bf19rYxKJaI3xeSqdPpVhuamI28WhGazTaCzGNHnD+cxgYJlndb3p79pNBIY7hY flCMbXGQQniYaSuSv1x+z4Bb1KchxFNtJVoyF3Rk/IxRT/iHWNzz/jlAw6rf8in9Get+ D62d3Nq3ecVsgcVV6b+2TloqDeuiKt1qoVbwzfgAxLWJQx+Ng8ElqxDwombPobwU7pVH BnQzWFZg+koj365ooAjSM4cMCNmigS/zhu5gxm7qk2hD2BHC5mgoNmmvtVEyrWUDApfN N8vtDOsqIdgNmciZgo0TZsbibEBp85U8zCPH7xpldPfB4esxbjkeR9JEUc+TRfDS4Y9H Jj6A==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=BIAltWED; spf=pass (google.com: domain of fm-294854-20260323083041192d54944d000207df-l5vxkn@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-294854-20260323083041192d54944d000207df-L5vXkn@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-43b644b7432si177037f8f.1.2026.03.23.01.30.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Mar 2026 01:30:41 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-294854-20260323083041192d54944d000207df-l5vxkn@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20260323083041192d54944d000207df for ; Mon, 23 Mar 2026 09:30:41 +0100 From: "'Jan Kiszka' via isar-users" To: isar-users Cc: Felix Moessbauer , Cedric Hombourger Subject: [PATCH 2/9] testsuite: Provide a new kas-based test container and wrapper script Date: Mon, 23 Mar 2026 09:30:32 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=BIAltWED; spf=pass (google.com: domain of fm-294854-20260323083041192d54944d000207df-l5vxkn@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-294854-20260323083041192d54944d000207df-L5vXkn@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: paSRfHNc2GHG From: Jan Kiszka This reworks the current docker-isar container to test-container. Besides its new path and revisioning scheme, this container comes with its own entrypoint script. The script still builds on top of kas' container-entrypoint but avoids calling kas itself, thus entering a bitbake env in shell mode. When invoked via "kas-container shell", the new entrypoint builds up an environment to run the avocado testsuite against the Isar repo that is passed in, but that without modifying it. All testsuite results are directed to the build/testsuite folder, including all modifications which are kept in an overlay. This ensure a clean execution context for the testsuite. If the container is started without arguments, in continues to act as a basis for gitlab-ci job executions. The kas version used as baseline for test-container is now derived from the one used for interactive building as well. This avoid surprises due to the different versions. Signed-off-by: Jan Kiszka --- scripts/run-tests.sh | 18 ++++ testsuite/dockerdata/Dockerfile | 8 +- testsuite/dockerdata/README.md | 12 ++- testsuite/dockerdata/build.sh | 14 +++ .../dockerdata/test-container-entrypoint | 95 +++++++++++++++++++ testsuite/dockerdata/version | 1 + 6 files changed, 142 insertions(+), 6 deletions(-) create mode 100755 scripts/run-tests.sh create mode 100755 testsuite/dockerdata/build.sh create mode 100755 testsuite/dockerdata/test-container-entrypoint create mode 100644 testsuite/dockerdata/version diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh new file mode 100755 index 00000000..bce10d70 --- /dev/null +++ b/scripts/run-tests.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Script to run testsuite inside the official test-container +# +# Copyright (c) Siemens AG, 2026 +# SPDX-License-Identifier: MIT + +ISAR_DIR=$(readlink -f $(dirname $0)/..) + +TEST_CONTAINER_VERSION=$(cat ${ISAR_DIR}/testsuite/dockerdata/version) + +# The way to do this after kas 5.2: +# export KAS_CONTAINER_IMAGE="${CONTAINER_BASENAME:-ghcr.io/ilbers/isar}/test-container:$TEST_CONTAINER_VERSION" +# +# For now: +export KAS_CONTAINER_IMAGE_DISTRO="container:$TEST_CONTAINER_VERSION" +export KAS_CONTAINER_IMAGE=${CONTAINER_BASENAME:-ghcr.io/ilbers/isar}/test + +${ISAR_DIR}/kas/kas-container --isar --repo-ro shell -c "$*" diff --git a/testsuite/dockerdata/Dockerfile b/testsuite/dockerdata/Dockerfile index 2a77798a..7b9cdaf6 100644 --- a/testsuite/dockerdata/Dockerfile +++ b/testsuite/dockerdata/Dockerfile @@ -1,4 +1,6 @@ -FROM ghcr.io/siemens/kas/kas-isar: +ARG KAS_VERSION=0 + +FROM ghcr.io/siemens/kas/kas-isar:${KAS_VERSION} ARG TARGETPLATFORM ARG DEBIAN_FRONTEND=noninteractive @@ -10,3 +12,7 @@ RUN sudo pip3 --proxy=$https_proxy install --break-system-packages avocado-frame sudo apt-get install -y -f --no-install-recommends python3-apt && \ sudo apt-get clean && \ sudo rm -rf $(pip3 cache dir) /var/lib/apt/lists/* /tmp/* /var/tmp/* + +COPY testsuite/dockerdata/test-container-entrypoint / + +ENTRYPOINT ["/test-container-entrypoint"] diff --git a/testsuite/dockerdata/README.md b/testsuite/dockerdata/README.md index e6b76d25..54a78187 100644 --- a/testsuite/dockerdata/README.md +++ b/testsuite/dockerdata/README.md @@ -1,9 +1,12 @@ # Creating image +- Make sure `testsuite/dockerdata/version` is bumped for new images, also + after updating `kas/kas-container`. + +- Run: + ``` -export version="4.4" -cd /testsuite/dockerdata -sed "s/:/:${version}/" Dockerfile | docker build -t ghcr.io/ilbers/docker-isar:${version} - +testsuite/dockerdata/build.sh ``` # Pushing the image to docker hub @@ -13,8 +16,7 @@ sed "s/:/:${version}/" Dockerfile | docker build -t ghcr.io/ilbers/dock - Use it for uploading docker image: ``` -export version="4.4" -docker push ghcr.io/ilbers/docker-isar:${version} +docker push ghcr.io/ilbers/isar/test-container:$(cat testsuite/dockerdata/version) ``` - Make the uploaded package public diff --git a/testsuite/dockerdata/build.sh b/testsuite/dockerdata/build.sh new file mode 100755 index 00000000..7880d19f --- /dev/null +++ b/testsuite/dockerdata/build.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# Build kas-based test-container +# +# Copyright (c) Siemens AG, 2026 +# SPDX-License-Identifier: MIT + +ISAR_DIR=$(readlink -f $(dirname $0)/../..) + +eval $(grep "^KAS_CONTAINER_SCRIPT_VERSION=" ${ISAR_DIR}/kas/kas-container) +TEST_CONTAINER_VERSION=$(cat ${ISAR_DIR}/testsuite/dockerdata/version) + +docker build --file ${ISAR_DIR}/testsuite/dockerdata/Dockerfile \ + --build-arg KAS_VERSION=$KAS_CONTAINER_SCRIPT_VERSION \ + --tag ${CONTAINER_BASENAME:-ghcr.io/ilbers/isar}/test-container:$TEST_CONTAINER_VERSION ${ISAR_DIR} diff --git a/testsuite/dockerdata/test-container-entrypoint b/testsuite/dockerdata/test-container-entrypoint new file mode 100755 index 00000000..16f74124 --- /dev/null +++ b/testsuite/dockerdata/test-container-entrypoint @@ -0,0 +1,95 @@ +#!/bin/sh +# Alternative entrypoint for the kas-based test-container +# +# Copyright (c) Siemens AG, 2026 +# SPDX-License-Identifier: MIT + +if [ $# -eq 0 ]; then + exec /container-entrypoint +fi + +set -e + +# skip "shell [-c]" +if [ $# -gt 1 ]; then + shift 2 +else + shift 1 +fi + +export args="--max-parallel-tasks=1 --disable-sysinfo" +for arg in $*; do + case "$arg" in + --clean) + rm -rf /work/build/testsuite + ;; + --debug) + export showopt="--show=app,test" + ;; + --shell) + export start_shell=1 + ;; + --help) + cat < "${HOME}"/.config/avocado/avocado.conf +[datadir.paths] +base_dir = ${base_dir} +test_dir = ${base_dir}/tests +data_dir = ${base_dir}/data +logs_dir = ${base_dir}/job-results +EOF + +cd /isar + +if [ "${start_shell}" = 1 ]; then + bash +else + set -x + avocado ${showopt} run ${args} +fi +' diff --git a/testsuite/dockerdata/version b/testsuite/dockerdata/version new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/testsuite/dockerdata/version @@ -0,0 +1 @@ +1 -- 2.47.3 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/c8706d0bf1c6b023dcc63af39b12c1649100b8c4.1774254639.git.jan.kiszka%40siemens.com.