From patchwork Thu Feb 13 11:18:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzimir Bely X-Patchwork-Id: 4054 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 13 Feb 2025 12:21:05 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f60.google.com (mail-wm1-f60.google.com [209.85.128.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 51DBL4Xa027753 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 13 Feb 2025 12:21:04 +0100 Received: by mail-wm1-f60.google.com with SMTP id 5b1f17b1804b1-43935bcec0asf5639565e9.3 for ; Thu, 13 Feb 2025 03:21:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1739445659; cv=pass; d=google.com; s=arc-20240605; b=TP5CwzHlXbYNSaL0CLl+CF7GtFmj+enRaQoN8AtrL4nHgIure3DWcAouh4CLTyvYjc awdZ4zVEyGqTSKpSLPNh8k1dLp5is43H4xZLKtzy5zZ4XGNQgVJFV+YrW0NpSDuWxpqy 803I4XI5p5g3MsVzVu2VxpZJGJmML7h8hTRKudHtUgAzFS7kiLlnl/8PJBh41516Vbs7 NKu36xgT/dav9QIq5f/5o1OQLODIJwArgD3w6jm6AJJ477C3D42AbSeMxFNZSq5Hkpyj bqaH559N1m1g7JnteCuDqAc/ULgk1zQXQth/pv1xlUZb46iDqOigjOqjhlxxItuYCFKx CfBw== 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:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=6pN/btvHxgISDr6ApO4aAtOzEK0ZwP79xcA6fqCIn5M=; fh=T9orn5OPAeWBMX1mMqntX8GrYpbe9jzNlynLq4vnaGU=; b=AshqJztkdPeczN03Qqg1PC5IrWtNUmKePFG1nXPXO6o2dT6woao3AbvKpqsjUUSuZf BNKZos1aEMo4gyQ6HbFipzdbUqVWthu5TqckXzavjSFDxh0I6Z4uPFSqxKBDLAVVbNdi FgxG18tchzR6b3Qvrem2P+fQ3p8xcnI/u9kRA6nw6dIIXlWc+uG6aOT8j4HsobVY32KY e0hyaZ9tHVnKAVZ5rjJsOLfzwZfDExlWirmPNqxYcSzj1GbR5GBt4ZiRUE/rOivVN8f7 4kzn4lb/bH9XD2SMkffdA8Y5OX4klR8Tr/7JIWRkdpacV9BMfoUBCWtiHGhwpkR6jjAF o/xQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1739445659; x=1740050459; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=6pN/btvHxgISDr6ApO4aAtOzEK0ZwP79xcA6fqCIn5M=; b=E3Ky8y3xBirr1fl5zCbqFB7MWSMtXuGAOuKJJugP7WxiMy72TugJq1vvREQtimk9xJ SC42GNURh7J33F7VPQkw/8Z3t+K9EP8dFVRJj1iheXFySf5rDjYVaNcwOGIlal29yBwM eNvoqPJXZ6Yrn34fi6i3ETT9fWZ7qnE+iBP2OFZ4M7IUODXG97Ng524VdnrPxzHSC4KG NflqmcV31Uup6o717ZZxawRDivRoIM7VPFUULD6SiFPfbMv40QHUh8MDRd9rKgWQF6zG bCdIL/4j4W0yAnm/pYw3vFzwANXOCLz1E/dnu6qWmQdycVp5Ee0FIEv1B8Yl9pRNLUEF 8WxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739445659; x=1740050459; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=6pN/btvHxgISDr6ApO4aAtOzEK0ZwP79xcA6fqCIn5M=; b=AjZ8t0cIkYi5YQAuAfkplYh6rsBlHk9uogRX6z94k3vbrG1jTzGfZ5k4/YRcvI1s+G EicbLgpvSSZW1cn3RofBYaG8BpT7SS6YO1MMqpnZZDZRUHYV8Jrwo2aTIIc4Ze4rKWma VCzKIC343g1gxs/nw/VSNn0lg3zU0KF2Tb27TMAoXJ2ulHA23OTiWHZHTaVC4ZMPnFQL /JHMEmzB2+JFdRsPL616wt6HgnDLnT928Tq9BOjEIpenhZDii5eUGOoXCHHNNz9l+HOZ R/Nh3K6YvfZlsxeB32fECjI2XcE3e5SEDR1q4uPLllidr8CZZoUTovUWfqmYBvUzR4Xs RanA== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXdljrUOYDsXIznu1tDtWBDiFqevpW8rjW/MXi+44YD3FWoRMRrG5olQRpndORYybH48IV9210=@isar-build.org X-Gm-Message-State: AOJu0YwxgP+9BEv6GTl9lR/aubh44kH/uuY26BMry2jNzoFh9kevc6BI +c/zbQOnbHfvJSvvFnG90NbUb1j1qp3MPIwTP2FKYlfeAWIGvZzh X-Google-Smtp-Source: AGHT+IFuuohknviBfdsDhAkUEmtAI2TgELzmaxfq81gHY3fnJ283yfbAfTUhw+WCHcgCdejtGQBgUw== X-Received: by 2002:a05:600c:1ca0:b0:439:4c24:6de8 with SMTP id 5b1f17b1804b1-439601cfee4mr33165765e9.31.1739445658122; Thu, 13 Feb 2025 03:20:58 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVFkH0bUTOK0K4q+tr1H83Ud5KGybcauFfBfnHVpkNQsKg== Received: by 2002:a05:600c:590b:b0:436:9336:a5f9 with SMTP id 5b1f17b1804b1-4396030469cls4063785e9.0.-pod-prod-05-eu; Thu, 13 Feb 2025 03:20:56 -0800 (PST) X-Received: by 2002:a05:600c:3b9e:b0:439:40c1:1343 with SMTP id 5b1f17b1804b1-43960191549mr35703035e9.15.1739445655546; Thu, 13 Feb 2025 03:20:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739445655; cv=none; d=google.com; s=arc-20240605; b=UHVNeHHCQyZxFcF2IoloxWG6PRcp9cG57ShZb/dVZkt3aPrqmWuXtQ0+gujeWtI9i3 sZNjUAXJqHDJSoYddWaAZONHSqCNxnzXbbCglBM6PgXLGogMsQ2SICTsSo+X7VSsIC3l J0nOCVLAnHMXV/4/LyHu31bpz5d9641cc54L447lhZB62LvBOmS16BMCaVALW1cgrVDf UUrDZuF14elkLnygX45H5TOnDwStWgaHd7bCQjQazOtUQStpKcEzCn2CthHLetMnNrWI 4PSD80/lg0Dxd+NFuLH7Bo6ccmaHAFOvC4q+o+UNKK0T53cb90xIIV5OQ9VVJmPUJGdt +3UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=9LQmWMwYnP+yXQWWeUf5MrCTN14Jl0aWLg4kQTgCAWA=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=DHIQ4mUh41GGxee2P4tJwuJtc5zt5F2Db/0U/bLnbWEMLp1bvSZyjB6iWRHnEzVKBm GYReBs2HX8hNIcVKAzdEU4QjiPNyG4+GUZ9/d/veCCjyRRDhW4OCiqRxNNWuqH6/OsYV TWR8h3Qko7sMTki4qsuO6c/wQwyQYknXarS6MY8R5A7bryxn62O0MROsojfGj+3rrabe ZiZX2x5pMoipeE8WoizqmB1sEDiRy963XLm/Dbwn4DRBjx0y96S9CK7QSPs+M92qBlJB AK6XnYQpZdhhxkxVOrrVFhdZDiwtcOu0JsFDAeoJyVgfOLr3wbJLlLj1M6lfX4GOkkEE sepA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-439635d8547si606255e9.1.2025.02.13.03.20.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 13 Feb 2025 03:20:55 -0800 (PST) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from home.promwad.com (44-208-124-178-static.mgts.by [178.124.208.44] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 51DBKrJb027736 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 13 Feb 2025 12:20:55 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v2 2/2] testsuite: Add tests for installer image Date: Thu, 13 Feb 2025 14:18:09 +0300 Message-ID: <20250213112048.29157-3-ubely@ilbers.de> X-Mailer: git-send-email 2.45.3 In-Reply-To: <20250213112048.29157-1-ubely@ilbers.de> References: <20250213112048.29157-1-ubely@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: ubely@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The idea is to pass to qemu two wic files (hard drives): - sda: empty wic file; - sdb: the image with installer. When run, first boot is done from sdb (since sda is empty), then installer flashes target image to sda and reboots the system. Second boot is automatically done from sda drive just written. Signed-off-by: Uladzimir Bely --- testsuite/cibase.py | 28 ++++++++++++++++++++++++++++ testsuite/citest.py | 26 ++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/testsuite/cibase.py b/testsuite/cibase.py index 075535b1..c4fa7510 100755 --- a/testsuite/cibase.py +++ b/testsuite/cibase.py @@ -77,6 +77,34 @@ class CIBaseTest(CIBuilder): process.run('gpgconf --kill gpg-agent') shutil.rmtree(gnupg_home, True) + def perform_installer_build_test(self, target, distro, machine, **kwargs): + self.configure(**kwargs) + + install_target = self.build_dir + '/installer.wic' + + # Create empty file installer will write to + with open(install_target, 'w') as f: + size = 4294967296 # 4GiB should be enough for the target + f.write("\0" * size) + + # append ci_build.conf + with open(self.build_dir + '/conf/ci_build.conf', 'a') as f: + f.write('\n#Installer image configuration\n') + f.write('BBMULTICONFIG += "isar-installer installer-target"\n') + f.write('INSTALLER_TARGET_IMAGE = "isar-image-ci"\n') + f.write('INSTALLER_UNATTENDED = "1"\n') + f.write('INSTALLER_TARGET_DEVICE = "/dev/sda"\n') + f.write('INSTALLER_TARGET_OVERWRITE = "OVERWRITE"\n') + f.write(f'DISTRO ?= "{distro}"\n'); + f.write(f'MACHINE ?= "{machine}"\n'); + f.write(f'QEMU_DISK_ARGS = "-bios /usr/share/ovmf/OVMF.fd"\n') + f.write(f'QEMU_DISK_ARGS += "-hda {install_target}"\n') + f.write(f'QEMU_DISK_ARGS += "-hdb ##ROOTFS_IMAGE##"\n') + + self.log.info("Starting build...") + + self.bitbake(target, **kwargs) + def perform_ccache_test(self, targets, **kwargs): def ccache_stats(dir, field): # Look ccache source's 'src/core/Statistic.hpp' for field meanings diff --git a/testsuite/citest.py b/testsuite/citest.py index ee965278..6104f99e 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -122,6 +122,32 @@ class CcacheTest(CIBaseTest): self.perform_ccache_test(targets) +class InstallerTest(CIBaseTest): + + """ + Installer test + + :avocado: tags=installer,full + """ + + def test_installer_build(self): + self.init() + target = "mc:isar-installer:isar-image-installer" + distro = "debian-bookworm" + machine = "qemuamd64" + self.perform_installer_build_test(target, distro, machine) + + def test_installer_run(self): + self.init() + self.vm_start('amd64', 'bookworm', image='isar-image-installer', + keep=True) + + def test_installer_root_partition(self): + self.init() + self.vm_start('amd64', 'bookworm', image='isar-image-installer', + cmd='findmnt -n -o SOURCE / | grep -q sda2') + + class CrossTest(CIBaseTest): """