From patchwork Thu Feb 20 12:09:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzimir Bely X-Patchwork-Id: 4062 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 20 Feb 2025 13:12:08 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f55.google.com (mail-lf1-f55.google.com [209.85.167.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 51KCC6Hd008475 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 20 Feb 2025 13:12:07 +0100 Received: by mail-lf1-f55.google.com with SMTP id 2adb3069b0e04-5462f2777c5sf578857e87.3 for ; Thu, 20 Feb 2025 04:12:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1740053521; cv=pass; d=google.com; s=arc-20240605; b=jND3EI7ti/fEv3IRV0g2U058C/UO1p2IZ+PnwF8vC77T0h3a9dRV0LjA7nIrIAQgbN G9sfW0J3+U3ugW/I1BE9iJGmxsGfJYTzLc742EFe7/EiHvGRhUQUrTaCn8H8U1NbwrBP XJ6V78x1zkwE017eLDZlQXTCCB7aU95nMmFgo5b0xmeRlw8gJvcezPCkmzXaZPTO8YuS zqIo8grpgqCvWf7jAqS//Fw1KMINackL7azkQboUcMjFPu4GpMX/FnMOihQRwiaZ5ydJ aAHOwuyw8FIFMqINHxauWp8VPYFLAPmziKfRYa2YWBIEi9HFQ/lnegxnu/DaJnY9JLj9 aJew== 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=4J+88F15hohydW3kgfs9QlgdS2yQtLBCDtOQU0+3xB4=; fh=tjGn6sIguF1tqRBPePPu9jtcuqzeb6jVcOpH97mHoBw=; b=BeIcZ+KBhLmC+iLiDopDPQQFAC9qC8DO0AgQJHyZU80EKIot7wgB16n/SGcqdY4kaL X14CWXmv4pUWUJguOEwO6WmkV1b6P1ht2xuoYEcMZu8iH7968oR5V/t8P7WQWR9+FK1g DrlGEPdhuyUPJNKqrB8L33gYX8K6ESZUei7YlzcXE5cGIazYlHMznXL8ppTLlr1d0ZJL dxNbMU6H1oHtn7W17/hZmki229mPsYp6QkcbrU2z4Sl46iHlg1sywQ+S+1aIgKQNzNJ9 9iopscJaZk+683Tj2Wgsjb9yQ15dXrBL4SaGCNe6thBLRhF7InlknAlIygnckEANRhZ8 kX4A==; 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=1740053521; x=1740658321; 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=4J+88F15hohydW3kgfs9QlgdS2yQtLBCDtOQU0+3xB4=; b=jwtgyCTgsLW4AKohw/9rwwLtY1nxZ0RpW79fDUphUfdEFWyEFHU0M9Qrs+5ZGM9v8y mLVevdCuv7WZnh8VFGx6lqMwZbVHQAAIRfmiJ1fzdv5VpdeCyLlGvMps4DtfYNUH0Y2z Cd23T1ZpzTHXtXehMbpW4gV/3AIhrasaNdr/agy/W7VgTNZS/oAPxdAZ21qtKIpcYoeP 6ksj7SwhVOU97MMXtk26hAFWo6cJ57CyUd2Q+QDxyJQNepKMS9sdqGdFvvAWSnEJMvaq Ov7o7c/OYhm3XwcdYvcA2OFhsLnC8IppIzeLTbRkskLq409ZfekTQ/O54fAnJrGokSfS vZbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740053521; x=1740658321; 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=4J+88F15hohydW3kgfs9QlgdS2yQtLBCDtOQU0+3xB4=; b=LnZ5B0KlAqCrHMi0SU9kDEx4UboUplqah/4TNiZN0j0aOKghG8eQMugYrNPFdrAYJ0 41/tz6d2Qxj4n/gadEc0E8cKlOdoyigJuhWyE39BTJcO2CLuZZqDdvI6Am+YJEmTX2JK P+KQneU2sZKCdme1vLPaxbTvx4NsjNyKfrx6o315sn5TvRtSuPOd0LRExlUU+nMf7Zt5 0CtHdTGOy1+S2LV7IkW10vorv2Isg6R/hYWrw191sUZH3W/n9PBk0GLbgHGKWTBmJwUO T8YLYwdf6OW+hKv7rWA67llY4otvv3LElpxLIWUscs3uEm3Xrj0GaDhmpCfUJB48acrm K0Xg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUQBA3W0ShqdxOpy9VEz/OaDd1a8ZYsc5bidpnGmYLtB/SXN85meVt+Or8dwawLszMkLYDXvvk=@isar-build.org X-Gm-Message-State: AOJu0YxUEjte2/U73Orl4te4HEkWgtX9qUXvto3VCFzxogT907hnzMCh WWWqs7TSbeIzu8eqcrCtQbVirbUjxIq3B4qzWe+RwiMv7d7poXqe X-Google-Smtp-Source: AGHT+IE5vf5FBgMX2Y3sNfDLNjFkdWZnZbGwvA06v3lAIT4td60drb7uLwfQSiyV2B2l3I7peMfDkA== X-Received: by 2002:a05:6512:304d:b0:545:986:1a0e with SMTP id 2adb3069b0e04-5462ef19739mr2631003e87.40.1740053520311; Thu, 20 Feb 2025 04:12:00 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVEux4FfTJpPGipRcOllpc4TKRxg9y4sgAtOx+GuwXXsRw== Received: by 2002:a05:651c:1541:b0:30a:370e:22b1 with SMTP id 38308e7fff4ca-30a50002035ls2037761fa.1.-pod-prod-09-eu; Thu, 20 Feb 2025 04:11:58 -0800 (PST) X-Received: by 2002:a2e:a0d4:0:b0:308:f5f0:c438 with SMTP id 38308e7fff4ca-30a4505b4c1mr19384671fa.31.1740053517684; Thu, 20 Feb 2025 04:11:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1740053517; cv=none; d=google.com; s=arc-20240605; b=a4/7ACTRIiEJlvyIHXp+6sw0zz0s2DTp4uGJKsIS9wIeztLU7Iz8+phEtKV0Dn3sLt 1WU+sXduhZp0lGd/R3st8uYr2r/NvCR1ywc/st0M7xrMt3hd9aCUVnJ1No+fQopwAQq7 pt1ANcpgMcg1MjUcScbQSpjpTijWxGFXKiG1xd4uRKP/YwUJv2HlNG0bGnTMqMNUUXGu XB+NYZY9iS9MVf06iKTZFMbT2+uBcrlTlT2gpf/mA8Cb/2YlfmhPDTxzLeCTpDo+/7D4 b7qPFF3Ii+KKJkuI7qL/uS8hmnLl1156HNIXicPB7xv8UYvbhW0RYno3GIpGDws+ucWY KM+A== 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=4+jZF9eRdKeLqCKSQBL6G22gNpav8pQal73PZYEN2ZA=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=BnC9oe6GAG/cIcGgfvFIV/OubQmefzWwDLUIDpkcv+5oYE11dqzxkl4x7vlK+VWDpI a5t3izystrfomL/Zca+PbcghF18HMm0clRMqWa/g66hRJWRvpTa7Bg01WP/4ETOuv7ZN yA9aAUoBFlF1zdyIUfNBwp7yCOOHvjHw/NKoFAApA0N8r7bueMxWAJkt3iIJlSso7Aia jXlbvW4kHa25xH8CExOjIlAZkwbtd79sJ6nFbA7m3go6DE3iy8WpRj9AyNbv0B0usxmF NWc45kZTMM0Xt5XOgcFk9WNUzoVOp8uiElB66IFHvttMOCaTT0X4Frutw6Pa4N/Dsnd8 teuw==; 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 38308e7fff4ca-30924cb0b76si2860991fa.7.2025.02.20.04.11.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Feb 2025 04:11:57 -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 51KCBtag008461 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 20 Feb 2025 13:11:56 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v3 2/2] testsuite: Add tests for installer image Date: Thu, 20 Feb 2025 15:09:39 +0300 Message-ID: <20250220121150.14318-3-ubely@ilbers.de> X-Mailer: git-send-email 2.45.3 In-Reply-To: <20250220121150.14318-1-ubely@ilbers.de> References: <20250220121150.14318-1-ubely@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 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_PSBL,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 populated. Signed-off-by: Uladzimir Bely --- testsuite/cibuilder.py | 22 ++++++++++++++++++++++ testsuite/citest.py | 27 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index b5b6a093..52eb35e8 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -109,6 +109,10 @@ class CIBuilder(Test): source_date_epoch=None, use_apt_snapshot=False, image_install=None, + installer_image=None, + installer_machine=None, + installer_distro=None, + installer_device=None, **kwargs, ): # write configuration file and set bitbake_args @@ -155,6 +159,7 @@ class CIBuilder(Test): f" sstate_dir = {sstate_dir}\n" f" ccache_dir = {ccache_dir}\n" f" image_install = {image_install}\n" + f" installer_image = {installer_image}\n" f"===================================================" ) @@ -216,6 +221,23 @@ class CIBuilder(Test): f.write('IMAGE_INSTALL = "%s"\n' % image_install) if fail_on_cleanup == '1': f.write('ISAR_FAIL_ON_CLEANUP = "1"\n') + if installer_image: + install_target = self.build_dir + '/installer.wic' + # Create empty file installer will write to + with open(install_target, 'w') as wic: + size = 4294967296 # 4GiB should be enough for the target + wic.write("\0" * size) + + f.write('BBMULTICONFIG += "isar-installer installer-target"\n') + f.write('INSTALLER_UNATTENDED = "1"\n') + f.write('INSTALLER_TARGET_OVERWRITE = "OVERWRITE"\n') + f.write(f'INSTALLER_TARGET_IMAGE = "{installer_image}"\n') + f.write(f'INSTALLER_TARGET_DEVICE = "{installer_device}"\n') + f.write(f'DISTRO ?= "{installer_distro}"\n') + f.write(f'MACHINE ?= "{installer_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') # include ci_build.conf in local.conf with open(self.build_dir + '/conf/local.conf', 'r+') as f: diff --git a/testsuite/citest.py b/testsuite/citest.py index 47f49263..0f73b635 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -122,6 +122,33 @@ class CcacheTest(CIBaseTest): self.perform_ccache_test(targets) +class InstallerTest(CIBaseTest): + + """ + Installer test + + :avocado: tags=installer,full + """ + + def test_installer_build(self): + self.init() + self.perform_build_test("mc:isar-installer:isar-image-installer", + installer_image="isar-image-ci", + installer_machine="qemuamd64", + installer_distro="debian-bookworm", + installer_device="/dev/sda") + + 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): """