From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7197811629045579776 X-Received: by 2002:a02:cc4b:0:b0:3b6:167f:bc19 with SMTP id i11-20020a02cc4b000000b003b6167fbc19mr4477727jaq.103.1675871116094; Wed, 08 Feb 2023 07:45:16 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:1c47:b0:310:96a7:cf3a with SMTP id d7-20020a056e021c4700b0031096a7cf3als7061135ilg.5.-pod-prod-gmail; Wed, 08 Feb 2023 07:45:15 -0800 (PST) X-Google-Smtp-Source: AK7set++h03FDzFdSfEGV7TeVEL4OcP6vBDgAqIFsLxDtobSCd53lXC4rEGjU1MV0TqoMTISsTP1 X-Received: by 2002:a05:6e02:c21:b0:30f:616:af26 with SMTP id q1-20020a056e020c2100b0030f0616af26mr5494993ilg.25.1675871115550; Wed, 08 Feb 2023 07:45:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675871115; cv=none; d=google.com; s=arc-20160816; b=y+avc1IGoS1e9dK+2UhKVW1PBOHzH+BeMWIBqZUAV5e8fDefh7o5lIcKOHegimV/QT LyPgrMZWI/xPzpu6l8iMeOjTlKc/f7yzP2QB/SUe05ilY5epQ3kVaYEs2idvUVaWej4p vB6YIkSELMK4hw8Sak77+4oypbRoxaKWv9jcaIjK9snHw33J4wRVzupWnpaLJwR2UlL6 GzbphZTLGUT1w8JcJc/Wyig13fD7UkNbh+RtP9ft92MO+FF+mTEKhrJPFrQY2adowEr8 c2wmcJdQHrqEmNo4BJMde4s0uz9g4H0HbVh0t9Dau9cpkpVjn/VTq7mQbsTlGoIlkInX bKKQ== 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=n0TzR/2iTiSFsaBTQkv+0q5k3TAGgzLSI0086URabLs=; b=DWbCFJV2TTCiAOnmJ+7dV7czt+wTcf3f6oHfNNPGw6TT7/YL0jpEnJvimlJq0RwNeZ yUuw/y7tkNtm5noKMCVnakPFtvRgSXDGfASBOmPDH2z3LdP1sm2s0Cyq/euHSEaxfVH9 CbYzV6HAXCeFNAip2X/QrxdWwPhTuf79fWeChbqjGSyg2snfKH8vGb/6cBOCa69I7m/D tv2qCDsXGzrFtQNhSB1wtSXZ4AkjT5gAQB/YKKcJPfE2p6ZK7XJfyo6eyOE2JNzfWbx0 jmFiIYdc47xerS+sYw/AxeMhCdi8fcZ0zHP3ixYwxwkArGbZhYpUbBBp7i+IEJh3uk/U 841Q== 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 s5-20020a056e0218c500b0030d87b97b25si1322610ilu.4.2023.02.08.07.45.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 08 Feb 2023 07:45:15 -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 318FjB4w015298 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 8 Feb 2023 16:45:13 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v2 5/9] testsuite: Allow custom image names in start_vm.py Date: Wed, 8 Feb 2023 16:45:07 +0100 Message-Id: <20230208154511.1884-6-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230208154511.1884-1-ubely@ilbers.de> References: <20230208154511.1884-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: lYYNHk8HPik1 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 | 9 +++++---- testsuite/start_vm.py | 21 +++++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index 5d82ec4b..247b998b 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -209,8 +209,9 @@ class CIBuilder(Test): return env['LAYERDIR_' + layer].strip('"') - def vm_start(self, arch='amd64', distro='buster', enforce_pcbios=False, - skip_modulecheck=False): + def vm_start(self, arch='amd64', distro='buster', + enforce_pcbios=False, skip_modulecheck=False, + image='isar-image-base'): time_to_wait = self.params.get('time_to_wait', default=60) self.log.info('===================================================') @@ -233,7 +234,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') @@ -244,7 +245,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/start_vm.py b/testsuite/start_vm.py index c3726f14..d151232e 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -10,8 +10,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 @@ -22,18 +22,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') @@ -49,7 +50,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)) @@ -91,8 +91,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) @@ -103,9 +103,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