From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7380318098191024128 X-Received: by 2002:a05:6512:3f0d:b0:52c:818c:13b8 with SMTP id 2adb3069b0e04-52ccaa587c8mr7021145e87.4.1718982510498; Fri, 21 Jun 2024 08:08:30 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:53bb:0:b0:52c:d248:3eba with SMTP id 2adb3069b0e04-52cd2483edbls584573e87.2.-pod-prod-07-eu; Fri, 21 Jun 2024 08:08:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG+o6dePvictwg+cDZd1S6fr3GdF+ctOtbqD0La/QhdfPzkOglD641/0N+5ge1NmhKIk76U X-Received: by 2002:ac2:5dc8:0:b0:52c:dc57:868b with SMTP id 2adb3069b0e04-52cdc57871emr276820e87.13.1718982507992; Fri, 21 Jun 2024 08:08:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718982507; cv=none; d=google.com; s=arc-20160816; b=i2Rq6lk4Gb+ZJTDfNKYiZGt0lju3+849V7NwhTLG2RbHxrKf0srN3u1N8jes3YMuKj y86nnllKI3J3/83SCkO7n697mgwlsMC/g7i3KZSmPKJ/z/Fgo/+hoXtYSNUrMEzabyq8 lQy+CY7Xvt1hKnawAscyCoZF+WXaqmK/QXAPJWpJFdFZsQ6xGq6XYFXvaU8dByxQ0CdK z3UJLFYbkX1g+4PBsWZAcPXZkPg1BAOMPvUWg9eAOCuxmi4M2aIazlg/BAXOQMy7QK4o BbwpOLwSujoZG2XaDCxvXVtkWEi724sIqC/MuDZSF1LTnvp1VcvfpW0NoHS/zSUlPlcR 7ZDA== 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=ok1UBy81qlkPE8j8qElbuQiJiBsAP0Zkl6cdH7pTMbU=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=jZZhImWUEoJKA72uCWYlyTdR5PbbYWqnnbZwvmCqUhj3btAs/nvseje14tNuKqmM5C OCG+RfU4kB/jIQQF+jQOppSYmwGaZuAKdsU+cCCgg5fm+thb/+5ESrA4yY9OMG7ecEvt MB0Yp23gFrP9cmS9z4paTZRtKOtLPRDbOOP8/uzOjUA3PJ1EjXSgZMS4d9K83x5j/TS1 ANkPMUDRb+r63EEVa+elSPvor9WD370q0QqLVHfGh1Ub6a1wMWfF+sBaWLOhi+WY+6dJ o/+dJ04GZuFGNI3p8xmtKS+e8NP7QhMggU+r5pmDaUd+Bu63tevyR5hJxKXRbAIAQ4Rz rzGg==; 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-42478c9bbdesi1253295e9.1.2024.06.21.08.08.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Jun 2024 08:08:27 -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 45LF8ObG006158 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 21 Jun 2024 17:08:27 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v3 5/5] start_vm: Reuse getVars API Date: Fri, 21 Jun 2024 18:08:14 +0300 Message-Id: <20240621150814.189288-6-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240621150814.189288-1-amikan@ilbers.de> References: <20240621150814.189288-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: +sNLsuibd1aw 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 | 50 ++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 0e0d7000..d6e04049 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -11,43 +11,50 @@ import sys import shutil import time -OVMF_VARS_PATH = '/usr/share/OVMF/OVMF_VARS_4M.ms.fd' - -def get_bitbake_env(arch, distro, image): - multiconfig = 'mc:qemu' + arch + '-' + distro + ':' + image - output = subprocess.check_output(['bitbake', '-e', str(multiconfig)]) - return output +from utils import CIUtils -def get_bitbake_var(output, var): - ret = '' - for line in output.splitlines(): - if line.startswith(var + '='): - ret = line.split('"')[1] - return ret +OVMF_VARS_PATH = '/usr/share/OVMF/OVMF_VARS_4M.ms.fd' def format_qemu_cmdline(arch, build, distro, image, out, pid, enforce_pcbios=False): - bb_output = get_bitbake_env(arch, distro, image).decode() + multiconfig = f'mc:qemu{arch}-{distro}:{image}' + + 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