From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7188033154287927296 X-Received: by 2002:a17:902:8bca:b0:192:e555:28dc with SMTP id r10-20020a1709028bca00b00192e55528dcmr2912391plo.47.1673594387251; Thu, 12 Jan 2023 23:19:47 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:902:d1cd:b0:192:fc11:281e with SMTP id g13-20020a170902d1cd00b00192fc11281els4601203plb.1.-pod-prod-gmail; Thu, 12 Jan 2023 23:19:46 -0800 (PST) X-Google-Smtp-Source: AMrXdXvZdhHVPmcemNHwZKTRDimOkV2auTkwALK3pT542QbLWOesyqxCfqsLCdZNxepOsTSgsdF/ X-Received: by 2002:a17:90b:3d02:b0:229:307f:65e6 with SMTP id pt2-20020a17090b3d0200b00229307f65e6mr274179pjb.48.1673594386199; Thu, 12 Jan 2023 23:19:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673594386; cv=none; d=google.com; s=arc-20160816; b=BT/P2GD4f4B2Dy2aNtP0UXHCUEt0L5xIStAZTAClt76pV2pz54W1zTqt4mhbepjPWZ pcDRQ6QEqi/8yLwDBMJDjfQsJV2OY5Xcb50MeWygxd7Wub/1P4DnPv2JFtjeaVmx86R7 u6wI2//9nNHUVNm44ISQFr8ocirm7hqycNQXlCJ3OPRd265aZiQSUw5kHGaQkUkco9q1 8MDgbRI7bn8fBX4NFt8ODdmWi6yRhsnaGpYTwDMz9oI1jmEqO3+v/KZkHS5P3ZLaCRhR 7u8c8Mvq+NkprDVEmQHEsnZccFwqu25zlbs3V8K4kUA0+dPDWmtMNjdWVbIfrZje8UQ3 IxGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=OD9XyMkzO5/QJ9bAotp0Ha82s+IvHjUidmaU5afUNTA=; b=lvhzojRUwVTmGeyWHLOtYxZ4NF9vGVTcaZLETdNujRetGAF6c/lGzBJV9etlzwftWI n5f1VCmA78o7onr9Y9k8zUOLEpLe3TtOb9N+E4QV0fO8TPbLHQTRNjm8aapKXQSn/hb7 +B3dag5Lm/Q0fc9EETnlVVKwty2zFQifqtYYk/Pq0djyPH4d/5/Oh1ti7RlpFdw/epeR OiBMdySXyKaBOBo+blwm2RFZJDlvYAQ52NHEaak6Yi7oF87SRctjqRU6ZMAP4BmfNEd4 0tJzFraaXi8HBe9f5dTfgM2VmJQEI/Acg6jU4Kn8fK7WODBnl8iNdP/8MusXVx5NvE4B JnLQ== 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 Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id kx7-20020a17090b228700b002291f6279a9si30256pjb.0.2023.01.12.23.19.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 12 Jan 2023 23:19:45 -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; 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 Received: from baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 30D7JgEq027786 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 13 Jan 2023 08:19:43 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH 02/11] testsuite: Allow custom image names in start_vm.py Date: Fri, 13 Jan 2023 08:19:33 +0100 Message-Id: <20230113071942.22506-3-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230113071942.22506-1-ubely@ilbers.de> References: <20230113071942.22506-1-ubely@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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: T/WFmNJSdilg This removes hardcoded `isar-image-base` image name used in `testsuite/start_vm.py`. Now, user can pass custom value with `-i` or `--image` option (e.g. `isar-image-debug` or any other value used in their downstream. Signed-off-by: Uladzimir Bely --- testsuite/cibuilder.py | 6 +++--- testsuite/citest.py | 2 +- testsuite/start_vm.py | 21 +++++++++++---------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index 6a3cf052..9139cd7b 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -201,7 +201,7 @@ class CIBuilder(Test): return env['LAYERDIR_' + layer].strip('"') - def vm_start(self, arch='amd64', distro='buster', enforce_pcbios=False): + def vm_start(self, arch='amd64', distro='buster', image='isar-image-base', enforce_pcbios=False): time_to_wait = self.params.get('time_to_wait', default=60) self.log.info('===================================================') @@ -224,7 +224,7 @@ class CIBuilder(Test): os.unlink(latest_link) os.symlink(os.path.basename(output_file), latest_link) - cmdline = start_vm.format_qemu_cmdline(arch, self.build_dir, distro, + cmdline = start_vm.format_qemu_cmdline(arch, self.build_dir, distro, image, output_file, None, enforce_pcbios) cmdline.insert(1, '-nographic') @@ -235,7 +235,7 @@ class CIBuilder(Test): module_output = b'Just an example' resize_output = None - bb_output = start_vm.get_bitbake_env(arch, distro).decode() + bb_output = start_vm.get_bitbake_env(arch, distro, image).decode() image_fstypes = start_vm.get_bitbake_var(bb_output, 'IMAGE_FSTYPES') wks_file = start_vm.get_bitbake_var(bb_output, 'WKS_FILE') # only the first type will be tested in start_vm.py diff --git a/testsuite/citest.py b/testsuite/citest.py index 7aa1e6b5..08a2a00e 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -351,7 +351,7 @@ class VmBootTestFull(CIBaseTest): # test efi boot self.vm_start('amd64','buster') # test pcbios boot - self.vm_start('amd64', 'buster', True) + self.vm_start('amd64', 'buster', enforce_pcbios=True) def test_amd64_focal(self): self.init() diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 82fe489e..d6c47dcd 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -9,8 +9,8 @@ import subprocess import sys import time -def get_bitbake_env(arch, distro): - multiconfig = 'mc:qemu' + arch + '-' + distro + ':isar-image-base' +def get_bitbake_env(arch, distro, image): + multiconfig = 'mc:qemu' + arch + '-' + distro + ':' + image output = subprocess.check_output(['bitbake', '-e', str(multiconfig)]) return output @@ -21,18 +21,19 @@ def get_bitbake_var(output, var): ret = line.split('"')[1] return ret -def format_qemu_cmdline(arch, build, distro, out, pid, enforce_pcbios=False): - bb_output = get_bitbake_env(arch, distro).decode() +def format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios=False): + bb_output = get_bitbake_env(arch, distro, image).decode() - rootfs_image = '' extra_args = '' cpu = [''] image_type = get_bitbake_var(bb_output, 'IMAGE_FSTYPES').split()[0] deploy_dir_image = get_bitbake_var(bb_output, 'DEPLOY_DIR_IMAGE') base = 'ubuntu' if distro in ['focal', 'bionic'] else 'debian' + + rootfs_image = image + '-' + base + '-' + distro + '-qemu' + arch + '.' + image_type + if image_type == 'ext4': - rootfs_image = 'isar-image-base-' + base + '-' + distro + '-qemu' + arch + '.ext4' kernel_image = deploy_dir_image + '/' + get_bitbake_var(bb_output, 'KERNEL_IMAGE') initrd_image = get_bitbake_var(bb_output, 'INITRD_IMAGE') @@ -48,7 +49,6 @@ def format_qemu_cmdline(arch, build, distro, out, pid, enforce_pcbios=False): extra_args = ['-kernel', kernel_image, '-initrd', initrd_image] extra_args.extend(kargs) elif image_type == 'wic': - rootfs_image = 'isar-image-base-' + base + '-' + distro + '-qemu' + arch + '.wic' extra_args = ['-snapshot'] else: raise ValueError('Invalid image type: ' + str(image_type)) @@ -87,8 +87,8 @@ def format_qemu_cmdline(arch, build, distro, out, pid, enforce_pcbios=False): return cmd -def start_qemu(arch, build, distro, out, pid, enforce_pcbios): - cmdline = format_qemu_cmdline(arch, build, distro, out, pid, enforce_pcbios) +def start_qemu(arch, build, distro, image, out, pid, enforce_pcbios): + cmdline = format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios) cmdline.insert(1, '-nographic') print(cmdline) @@ -99,9 +99,10 @@ if __name__ == "__main__": parser.add_argument('-a', '--arch', choices=['arm', 'arm64', 'amd64', 'i386', 'mipsel'], help='set isar machine architecture.', default='arm') parser.add_argument('-b', '--build', help='set path to build directory.', default=os.getcwd()) parser.add_argument('-d', '--distro', choices=['buster', 'bullseye', 'bookworm'], help='set isar Debian distribution.', default='bookworm') + parser.add_argument('-i', '--image', help='set image name.', default='isar-image-base') parser.add_argument('-o', '--out', help='Route QEMU console output to specified file.') parser.add_argument('-p', '--pid', help='Store QEMU pid to specified file.') parser.add_argument('--pcbios', action="store_true", help='remove any bios options to enforce use of pc bios') args = parser.parse_args() - start_qemu(args.arch, args.build, args.distro, args.out, args.pid, args.pcbios) + start_qemu(args.arch, args.build, args.distro, args.image, args.out, args.pid, args.pcbios) -- 2.20.1