From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7380318098191024128 X-Received: by 2002:aa7:d153:0:b0:578:6360:aa11 with SMTP id 4fb4d7f45d1cf-57cb4bb0d59mr9680358a12.5.1718636955870; Mon, 17 Jun 2024 08:09:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6402:4316:b0:57c:a472:933c with SMTP id 4fb4d7f45d1cf-57cb4a87333ls3462068a12.0.-pod-prod-00-eu; Mon, 17 Jun 2024 08:09:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHeEtKL50yOCenrZAT2NdCPKxY3PbOMqJMIksLyNBA2AG72+avpI2RuXzMup8GAkg7iMFKz X-Received: by 2002:a17:906:66d1:b0:a6f:603a:d9e9 with SMTP id a640c23a62f3a-a6f6082ced4mr698950366b.10.1718636953923; Mon, 17 Jun 2024 08:09:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718636953; cv=none; d=google.com; s=arc-20160816; b=xAmJ80TlJgFwgJVjwTy9IjpjhbKEdh6LNFx8l2OxANEH7GHFqDMX/kmj5y4FE/+9NQ 9yL0I2YY7UMDe1p+7R2jaCBdlCepdo8veXQA500mxys28ksBUzaZI91d4m0MAIYK1Uzq gEyqYLhFz4KGKNsNIWJzw/ScMW1DQSSUuSZnxe54gy4Jtk3AOwOTyK6aq87kTzGwLxSB foWeT1xHFhL9qYPfqlJfazIse6rQKTbfYObn/9OSYyvY7xReLruaPIXZdF0HWOxEYVrC IqOh1EBcm9iOtDlmiLx62pM6zHtOFXT8dMNHC/YOAdvM1G4tUz3LHU3rIPrno74yzCah bYoA== 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=bwRzOpGXXmP369TPfxhAfaM0/J+4BVJcvCIuUxGbayc=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=r3u10gdoBApvkIypXndnigCuW1PbMCQ+jym9wfSFziXfEbbnwv5ZUDlSwKGNF3M0dL dyknZNq7ce5ZJMrmBp4ieGpGOMtUjpkYz+zSx40IxPYM84G9z5+wLyWhr7u9tsLcbPxy NhCsGzjfnuCorKjWY4oSqfucuqPMnG92wyK/DgWSdO9laM+5ig6cWH3nTefEVi4cQtU6 3JPg8T7uYitzmSRLxcbki14vhnw5SfRB+aJpw207FZb7Hj7yW/rGhRrIA/QSG+5+Blvk /bxENGXsszS0VMF/bxg9bShwQ17eHRMenNvzQRwcICRnktHXxCoduOUK+4Lh/blt9obu IwJA==; 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 a640c23a62f3a-a6f56c966c9si27808366b.0.2024.06.17.08.09.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Jun 2024 08:09:13 -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 user-B660.promwad.corp ([159.148.83.114]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 45HF9AkQ019081 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 17 Jun 2024 17:09:13 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v2 5/5] start_vm: Reuse getVars API Date: Mon, 17 Jun 2024 18:09:01 +0300 Message-Id: <20240617150901.55853-6-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240617150901.55853-1-amikan@ilbers.de> References: <20240617150901.55853-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: 0WPoEKt38/W+ 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 | 48 ++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 45e509a7..f414a194 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -11,43 +11,50 @@ 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_fstypes, \ + 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') + image_type = image_fstypes.split()[0] 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 +64,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