From: Uladzimir Bely <ubely@ilbers.de>
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 [thread overview]
Message-ID: <20250220121150.14318-3-ubely@ilbers.de> (raw)
In-Reply-To: <20250220121150.14318-1-ubely@ilbers.de>
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 <ubely@ilbers.de>
---
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):
"""
--
2.45.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/20250220121150.14318-3-ubely%40ilbers.de.
next prev parent reply other threads:[~2025-02-20 12:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-20 12:09 [PATCH v3 0/2] Cover installer image with tests Uladzimir Bely
2025-02-20 12:09 ` [PATCH v3 1/2] kas: Allow isar-image-ci to be embedded into installer image Uladzimir Bely
2025-02-20 12:09 ` Uladzimir Bely [this message]
2025-02-27 7:50 ` [PATCH v3 0/2] Cover installer image with tests Uladzimir Bely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250220121150.14318-3-ubely@ilbers.de \
--to=ubely@ilbers.de \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox