From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7380318098191024128 X-Received: by 2002:a19:9107:0:b0:52c:9d68:7425 with SMTP id 2adb3069b0e04-52ca6e55b90mr1432991e87.14.1718364216658; Fri, 14 Jun 2024 04:23:36 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3e0a:b0:52c:a105:90f8 with SMTP id 2adb3069b0e04-52ca1059363ls1281103e87.1.-pod-prod-07-eu; Fri, 14 Jun 2024 04:23:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHjiW48cG+o6I6UbU+bN1H/l449U6ipMlf2EmOOHovHXPzC6JEZhF98qLOlfTrPMdl/+fJH X-Received: by 2002:a2e:8012:0:b0:2ea:e773:c56 with SMTP id 38308e7fff4ca-2ec0e600497mr15120671fa.35.1718364214404; Fri, 14 Jun 2024 04:23:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718364214; cv=none; d=google.com; s=arc-20160816; b=jVI2pExTuUEHvR3bhUOb/ZLu2hbsMBiq6r/mllXKzVmKtvuzEWqyk2EnhLS37e4z7x jyQSCPj2XWLKrCYX5/umNlChdcOEUjvvjHOMpSEG72f2fUlDpTyZ2wyXT/gk6FWx0FPC uq5451LcldXfDvjT29kM9S3qmjFcnnCbcCjKbn3QqTexvwErmuKB515E1Pha1Orbc+hc gdrpTZXOYjrtUeqkBGnCCDmvbObYP6DxOykLY/y+4ZjuOZ18NpfhyoccKBSs3/8YFuuj bLG1jwXJO8wBsxwMX70owiGQ0hRtnYxi5EI7ewEDVhV6EGdhOAh2QGkPGusD78iCXitq W10g== 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:cc:to:from; bh=GVCjbRWHhxxgCo1UO0sD/Be/E7UEUT6g6RataTfCqTU=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=yHPXnOcdQkhcoCQWSCg/QJvx5KxXRnouIEIC7bxmlniUo2Df0cIE3ddW7VYvqhHECi x/R5Aqg5dkp6ZkhoI43FU9UsIJoub/T8hrh+/rQHce5OTCZX2TG8/2kwR4UOp1pjUl9u BCJqHv4xqsde7lo5yF7KjJv/3FXtHsKbFd6HAVKizW3uzzOyHfTkEZdI+qLItk7XUTTA spRv9Lo1x1VTYTGDpi9bqdJh5KIwDJBcj+hNsgumc1mjYmrten1GGa3beVphrYUZDgQJ TQKfzssYSDByPUjJxV0U1XNltXCnl0xZ3QjvVM2lcwA++EW83eNRJQPN6EzQ+3/fe6fI e+PQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-42284b0a6c9si3132145e9.0.2024.06.14.04.23.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 14 Jun 2024 04:23:34 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@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 amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (r154-240-38-77-broadband.btv.lv [77.38.240.154] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 45EBNRq6031631 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jun 2024 13:23:33 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH 5/5] start_vm: Reuse getVars API Date: Fri, 14 Jun 2024 14:23:20 +0300 Message-Id: <20240614112320.122428-6-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240614112320.122428-1-amikan@ilbers.de> References: <20240614112320.122428-1-amikan@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: H+xZrtPKEmOm We already have an API to get Bitbake variable values without manual handling of bitbake execution. This will speedup und simplify start_vm. Signed-off-by: Anton Mikanovich --- testsuite/start_vm.py | 47 ++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 45e509a7..ada13121 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -11,43 +11,49 @@ import sys import shutil import time +from utils import CIUtils + OVMF_VARS_PATH = '/usr/share/OVMF/OVMF_VARS_4M.ms.fd' -def get_bitbake_env(arch, distro, image): +def format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios=False): multiconfig = 'mc:qemu' + arch + '-' + distro + ':' + image - output = subprocess.check_output(['bitbake', '-e', str(multiconfig)]) - return output -def get_bitbake_var(output, var): - ret = '' - for line in output.splitlines(): - if line.startswith(var + '='): - ret = line.split('"')[1] - return ret - -def format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios=False): - bb_output = get_bitbake_env(arch, distro, image).decode() + image_type, \ + deploy_dir_image, \ + kernel_image, \ + initrd_image, \ + serial, \ + root_dev, \ + qemu_arch, \ + qemu_machine, \ + qemu_cpu, \ + qemu_disk_args = CIUtils.getVars('IMAGE_FSTYPES', \ + 'DEPLOY_DIR_IMAGE', \ + 'KERNEL_IMAGE', \ + 'INITRD_DEPLOY_FILE', \ + 'MACHINE_SERIAL', \ + 'QEMU_ROOTFS_DEV', \ + 'QEMU_ARCH', \ + 'QEMU_MACHINE', \ + 'QEMU_CPU', \ + 'QEMU_DISK_ARGS', \ + target=multiconfig) 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 ['jammy', 'focal'] else 'debian' rootfs_image = image + '-' + base + '-' + distro + '-qemu' + arch + '.' + image_type if image_type == 'ext4': - kernel_image = deploy_dir_image + '/' + get_bitbake_var(bb_output, 'KERNEL_IMAGE') - initrd_image = get_bitbake_var(bb_output, 'INITRD_DEPLOY_FILE') + kernel_image = deploy_dir_image + '/' + kernel_image if not initrd_image: initrd_image = '/dev/null' else: initrd_image = deploy_dir_image + '/' + initrd_image - serial = get_bitbake_var(bb_output, 'MACHINE_SERIAL') - root_dev = get_bitbake_var(bb_output, 'QEMU_ROOTFS_DEV') kargs = ['-append', '"console=' + serial + ' root=/dev/' + root_dev + ' rw"'] extra_args = ['-kernel', kernel_image, '-initrd', initrd_image] @@ -57,11 +63,6 @@ def format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios=Fal else: raise ValueError('Invalid image type: ' + str(image_type)) - qemu_arch = get_bitbake_var(bb_output, 'QEMU_ARCH') - qemu_machine = get_bitbake_var(bb_output, 'QEMU_MACHINE') - qemu_cpu = get_bitbake_var(bb_output, 'QEMU_CPU') - qemu_disk_args = get_bitbake_var(bb_output, 'QEMU_DISK_ARGS') - if out: extra_args.extend(['-chardev','stdio,id=ch0,logfile=' + out]) extra_args.extend(['-serial','chardev:ch0']) -- 2.34.1