Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2026-01-17 21:42:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old) and /work/SRC/openSUSE:Factory/.os-autoinst.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst" Sat Jan 17 21:42:28 2026 rev:559 rq:1327757 version:5.1768577300.b85e486 Changes: -------- --- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2026-01-09 17:05:57.162119020 +0100 +++ /work/SRC/openSUSE:Factory/.os-autoinst.new.1928/os-autoinst.changes 2026-01-17 21:43:24.363534416 +0100 @@ -1,0 +2,11 @@ +Fri Jan 16 20:43:12 UTC 2026 - [email protected] + +- Update to version 5.1768577300.b85e486: + * fix(dist): provide proper copyright headers in all spec-files + * fix(dist): try to fix os-autoinst-obs-auto-submit reverting content + * fix(dist): exclude unstable t/28-signalblocker.t in OBS checks + * Remove deprecated BIOS and UEFI_PFLASH variables + * Add documentation of APPEND variable + * os-autoinst-generate-needle-preview: Embed PNG + +------------------------------------------------------------------- Old: ---- os-autoinst-5.1767893100.fd5003c.obscpio New: ---- os-autoinst-5.1768577300.b85e486.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ os-autoinst-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.yI0dx7/_old 2026-01-17 21:43:25.519581772 +0100 +++ /var/tmp/diff_new_pack.yI0dx7/_new 2026-01-17 21:43:25.523581935 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-autoinst-devel-test # -# Copyright (c) 2026 SUSE LLC and contributors +# Copyright SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define short_name os-autoinst-devel Name: %{short_name}-test -Version: 5.1767893100.fd5003c +Version: 5.1768577300.b85e486 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-openvswitch-test.spec ++++++ --- /var/tmp/diff_new_pack.yI0dx7/_old 2026-01-17 21:43:25.575584066 +0100 +++ /var/tmp/diff_new_pack.yI0dx7/_new 2026-01-17 21:43:25.579584229 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-autoinst-openvswitch-test # -# Copyright (c) 2026 SUSE LLC and contributors +# Copyright SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} -Version: 5.1767893100.fd5003c +Version: 5.1768577300.b85e486 Release: 0 Summary: test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-test.spec ++++++ --- /var/tmp/diff_new_pack.yI0dx7/_old 2026-01-17 21:43:25.615585704 +0100 +++ /var/tmp/diff_new_pack.yI0dx7/_new 2026-01-17 21:43:25.619585868 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-autoinst-test # -# Copyright (c) 2026 SUSE LLC and contributors +# Copyright SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} -Version: 5.1767893100.fd5003c +Version: 5.1768577300.b85e486 Release: 0 Summary: test package for os-autoinst License: GPL-2.0-or-later ++++++ os-autoinst.spec ++++++ --- /var/tmp/diff_new_pack.yI0dx7/_old 2026-01-17 21:43:25.659587506 +0100 +++ /var/tmp/diff_new_pack.yI0dx7/_new 2026-01-17 21:43:25.659587506 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-autoinst # -# Copyright (c) 2026 SUSE LLC and contributors +# Copyright SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: os-autoinst -Version: 5.1767893100.fd5003c +Version: 5.1768577300.b85e486 Release: 0 Summary: OS-level test automation License: GPL-2.0-or-later @@ -264,6 +264,10 @@ # qemu emulation always starts a separate thread rm t/28-signalblocker.t %endif +%ifarch aarch64 +# https://progress.opensuse.org/issues/194359 +rm -f t/28-signalblocker.t +%endif %build %define __builder ninja ++++++ os-autoinst-5.1767893100.fd5003c.obscpio -> os-autoinst-5.1768577300.b85e486.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/OpenQA/Qemu/Proc.pm new/os-autoinst-5.1768577300.b85e486/OpenQA/Qemu/Proc.pm --- old/os-autoinst-5.1767893100.fd5003c/OpenQA/Qemu/Proc.pm 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/OpenQA/Qemu/Proc.pm 2026-01-16 16:28:20.000000000 +0100 @@ -246,16 +246,6 @@ my $bdc = $self->blockdev_conf; return $self unless $vars->{UEFI}; - - if ($vars->{UEFI_PFLASH}) { - die 'Mixing old and new PFLASH variables' - if ($vars->{UEFI_PFLASH_CODE} || $vars->{UEFI_PFLASH_VARS}); - - my $file = $vars->{BIOS}; - $bdc->add_pflash_drive('pflash', $file, $self->get_img_size($file)); - return; - } - my $fw = $vars->{UEFI_PFLASH_CODE}; if ($fw) { $bdc->add_pflash_drive('pflash-code', $fw, $self->get_img_size($fw)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/backend/qemu.pm new/os-autoinst-5.1768577300.b85e486/backend/qemu.pm --- old/os-autoinst-5.1767893100.fd5003c/backend/qemu.pm 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/backend/qemu.pm 2026-01-16 16:28:20.000000000 +0100 @@ -715,22 +715,14 @@ $self->determine_qemu_version($qemubin); - $vars->{BIOS} //= $vars->{UEFI_BIOS} if ($vars->{UEFI}); # XXX: compat with old deployment - $vars->{UEFI} = 1 if $vars->{UEFI_PFLASH}; my $arch = $vars->{ARCH} // ''; - if ($vars->{UEFI_PFLASH} && ($arch eq 'x86_64')) { - $vars->{BIOS} //= find_ovmf =~ s/-code//r; - } - elsif ($vars->{UEFI} && ($arch eq 'x86_64')) { + if ($vars->{UEFI} && ($arch eq 'x86_64')) { $vars->{UEFI_PFLASH_CODE} //= find_ovmf; $vars->{UEFI_PFLASH_VARS} //= $vars->{UEFI_PFLASH_CODE} =~ s/code/$&=~tr,CcOoDdEe,VvAaRrSs,r/eir; - die "No UEFI firmware can be found! Please specify UEFI_PFLASH_CODE/UEFI_PFLASH_VARS or BIOS or UEFI_BIOS or install an appropriate package" unless $vars->{UEFI_PFLASH_CODE}; - } - if ($vars->{UEFI_PFLASH} || $vars->{BIOS}) { - bmwqemu::fctinfo('UEFI_PFLASH and BIOS are deprecated. It is recommended to use UEFI_PFLASH_CODE and UEFI_PFLASH_VARS instead. These variables can be auto-discovered, try to just remove UEFI_PFLASH.'); + die "No UEFI firmware can be found! Please specify UEFI_PFLASH_CODE/UEFI_PFLASH_VARS or UEFI_BIOS or install an appropriate package" unless $vars->{UEFI_PFLASH_CODE}; } - foreach my $attribute (qw(BIOS KERNEL INITRD)) { + foreach my $attribute (qw(KERNEL INITRD)) { if ($vars->{$attribute} && $vars->{$attribute} !~ /^\//) { # Non-absolute paths are assumed relative to /usr/share/qemu $vars->{$attribute} = '/usr/share/qemu/' . $vars->{$attribute}; @@ -989,10 +981,6 @@ } sp('boot', join(',', @boot_args)) if @boot_args; - if (!$vars->{UEFI} && $vars->{BIOS}) { - sp("bios", $vars->{BIOS}); - } - foreach my $attribute (qw(KERNEL INITRD APPEND)) { sp(lc($attribute), $vars->{$attribute}) if $vars->{$attribute}; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/consoles/sshVirtsh.pm new/os-autoinst-5.1768577300.b85e486/consoles/sshVirtsh.pm --- old/os-autoinst-5.1767893100.fd5003c/consoles/sshVirtsh.pm 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/consoles/sshVirtsh.pm 2026-01-16 16:28:20.000000000 +0100 @@ -134,20 +134,19 @@ $root->appendChild($elem); } - if ($bmwqemu::vars{UEFI} and $bmwqemu::vars{ARCH} eq 'x86_64' and !$bmwqemu::vars{BIOS} and $bmwqemu::vars{VIRSH_VMM_FAMILY} ne 'hyperv' and $bmwqemu::vars{VIRSH_VMM_FAMILY} ne 'vmware') { + if ($bmwqemu::vars{UEFI} and $bmwqemu::vars{ARCH} eq 'x86_64' and $bmwqemu::vars{VIRSH_VMM_FAMILY} ne 'hyperv' and $bmwqemu::vars{VIRSH_VMM_FAMILY} ne 'vmware') { foreach my $firmware (@bmwqemu::ovmf_locations) { if (!$self->run_cmd("test -e $firmware")) { - $bmwqemu::vars{BIOS} = $firmware; $elem = $doc->createElement('loader'); $elem->appendTextNode($firmware); $os->appendChild($elem); last; } } - if (!$bmwqemu::vars{BIOS}) { + if (!$bmwqemu::vars{UEFI}) { # We know this won't go well. my $virsh_hostname = $bmwqemu::vars{VIRSH_HOSTNAME} // ''; # uncoverable statement - die "No UEFI firmware can be found on hypervisor '$virsh_hostname'. Please specify BIOS or UEFI_BIOS or install an appropriate package."; # uncoverable statement + die "No UEFI firmware can be found on hypervisor '$virsh_hostname'. Please specify UEFI or install an appropriate package."; # uncoverable statement } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-devel-test.spec new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-devel-test.spec --- old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-devel-test.spec 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-devel-test.spec 2026-01-16 16:28:20.000000000 +0100 @@ -1,3 +1,21 @@ +# +# spec file for package os-autoinst-devel-test +# +# Copyright SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + %define short_name os-autoinst-devel Name: %{short_name}-test Version: 5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-openvswitch-test.spec new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-openvswitch-test.spec --- old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-openvswitch-test.spec 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-openvswitch-test.spec 2026-01-16 16:28:20.000000000 +0100 @@ -1,3 +1,21 @@ +# +# spec file for package os-autoinst-openvswitch-test +# +# Copyright SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-test.spec new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-test.spec --- old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst-test.spec 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst-test.spec 2026-01-16 16:28:20.000000000 +0100 @@ -1,3 +1,21 @@ +# +# spec file for package os-autoinst-test +# +# Copyright SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst.spec new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst.spec --- old/os-autoinst-5.1767893100.fd5003c/dist/rpm/os-autoinst.spec 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/dist/rpm/os-autoinst.spec 2026-01-16 16:28:20.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-autoinst # -# Copyright 2018 SUSE LLC +# Copyright SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -22,7 +22,7 @@ Summary: OS-level test automation License: GPL-2.0-or-later Group: Development/Tools/Other -Url: https://github.com/os-autoinst/os-autoinst +URL: https://github.com/os-autoinst/os-autoinst Source0: %{name}-%{version}.tar.xz %{perl_requires} %define opencv_require pkgconfig(opencv4) @@ -140,9 +140,9 @@ %if %{with ocr} Recommends: tesseract-ocr %endif +Recommends: %qemu_requires Recommends: dumponlyconsole %s390_zvm_requires Recommends: qemu >= 4.0.0 -Recommends: %qemu_requires %if %{with python_support} # Optional dependency for Python test API support Recommends: %python_support_requires @@ -192,18 +192,18 @@ %package qemu-kvm Summary: Convenience package providing os-autoinst+qemu-kvm Group: Development/Tools/Other +Requires: %qemu_requires Requires: os-autoinst Requires: qemu-kvm >= 4.0.0 -Requires: %qemu_requires %description qemu-kvm %package qemu-x86 Summary: Convenience package providing os-autoinst+qemu-x86 Group: Development/Tools/Other +Requires: %qemu_requires Requires: os-autoinst Requires: qemu-x86 >= 4.0.0 -Requires: %qemu_requires %description qemu-x86 Convenience package providing os-autoinst and qemu-x86 dependencies. @@ -222,8 +222,8 @@ %package s390-deps Summary: Convenience package providing os-autoinst + s390 worker jumphost deps Group: Development/Tools/Other -Requires: os-autoinst Requires: %s390_zvm_requires +Requires: os-autoinst %description s390-deps Convenience package providing os-autoinst + s390 worker jumphost dependencies. @@ -231,14 +231,13 @@ %package ipmi-deps Summary: Convenience package providing os-autoinst + ipmi worker jumphost deps Group: Development/Tools/Other -Requires: os-autoinst Requires: %ipmi_requires +Requires: os-autoinst %description ipmi-deps Convenience package providing os-autoinst + ipmi worker jumphost dependencies. %endif - %prep %setup -q @@ -265,6 +264,10 @@ # qemu emulation always starts a separate thread rm t/28-signalblocker.t %endif +%ifarch aarch64 +# https://progress.opensuse.org/issues/194359 +rm -f t/28-signalblocker.t +%endif %build %define __builder ninja @@ -368,11 +371,14 @@ %endif %ifarch x86_64 %files qemu-kvm + %files qemu-x86 %endif + %files swtpm %if %{with deps_package} %files s390-deps + %files ipmi-deps %endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/doc/backend_vars.asciidoc new/os-autoinst-5.1768577300.b85e486/doc/backend_vars.asciidoc --- old/os-autoinst-5.1767893100.fd5003c/doc/backend_vars.asciidoc 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/doc/backend_vars.asciidoc 2026-01-16 16:28:20.000000000 +0100 @@ -109,7 +109,6 @@ ARCH;x86_64|i686|aarch64|...;depends on tested medium;Architecture of VM. APPEND;string;;Kernel options to pass when using the KERNEL variable, see https://qemu-project.gitlab.io/qemu/system/linuxboot.html ATACONTROLLER;see qemu -device ?, e. g. for SATA: ich9-ahci;;Controller for ATA devices, needed for connecting disks as SATA. -BIOS;;;Set the filename for the BIOS BOOT_HDD_IMAGE;boolean;;enables boot from HDD_1 (BOOTFROM has higher priority) BOOT_MENU;boolean;undef;enables boot menu for selection of boot device BOOT_MENU_TIMEOUT;integer;5000;boot menu timeout in ms. Needs BOOT_MENU @@ -201,7 +200,6 @@ UEFI_PFLASH_CODE;string;;Specify the file name of the UEFI firmware code which will be loaded onto a read-only PFLASH drive UEFI_PFLASH_VARS;string;;Specify the file name which contains the UEFI firmware variables which will be loaded onto a mutable PFLASH drive PUBLISH_PFLASH_VARS;string;;Specify the file name to publish the UEFI vars file as -UEFI_PFLASH;boolean;0;(Deprecated, use UEFI_PFLASH_VARS) Enable the pflash mode to write the UEFI variables directly into the firmware file instead of NVvars in the EFI system partition UEFI_BIOS;;;Deprecated, use UEFI_PFLASH_CODE USBBOOT;boolean;0;Mount ISO as USB disk and boot VM from it USBSIZEGB;integer;size of ISO;Size of USB disk for USBBOOT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/t/18-backend-qemu.t new/os-autoinst-5.1768577300.b85e486/t/18-backend-qemu.t --- old/os-autoinst-5.1767893100.fd5003c/t/18-backend-qemu.t 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/t/18-backend-qemu.t 2026-01-16 16:28:20.000000000 +0100 @@ -673,7 +673,6 @@ subtest 'special cases when starting QEMU' => sub { # set certain variables to test special handling for them that is not otherwise tested $bmwqemu::topdir = "$Bin/.."; # for dmi data - $bmwqemu::vars{UEFI_PFLASH} = 1; $bmwqemu::vars{ARCH} = 'x86_64'; $bmwqemu::vars{KERNEL} = 'linuxboot.bin'; $bmwqemu::vars{LAPTOP} = '1'; @@ -692,6 +691,7 @@ $bmwqemu::vars{QEMUCPUS} = 1; $bmwqemu::vars{DELAYED_START} = 1; $bmwqemu::vars{WORKER_CLASS} = 'qemu_aarch64'; + $bmwqemu::vars{UEFI} = 1; my ($pid, $load_state, @qemu_params); $backend_mock->redefine(_child_process => sub ($self, $coderef) { ++$pid }); @@ -701,9 +701,7 @@ my @invoked_cmds; $backend_mock->redefine(runcmd => sub (@cmd) { push @invoked_cmds, join(' ', @cmd) }); - combined_like { $backend->start_qemu } qr{UEFI_PFLASH and BIOS are deprecated.*slirpvde --dhcp -s ./vde.ctl --port 87 started with pid 1.*not starting CPU}s, - 'deprecation warning for UEFI_PFLASH/BIOS logged, slirpvde started, DELAYED_START logged'; - is $bmwqemu::vars{BIOS}, "$Bin/$Script", 'BIOS set to @bmwqemu::ovmf_locations for UEFI_PFLASH=1 and ARCH=x86_64'; + combined_like { $backend->start_qemu } qr{.*slirpvde --dhcp -s ./vde.ctl --port 87 started with pid 1.*not starting CPU}s, 'slirpvde started, DELAYED_START logged'; like $bmwqemu::vars{KERNEL}, qr{/.*/linuxboot\.bin}, 'KERNEL set to absolute location'; is $bmwqemu::vars{LAPTOP}, 'hp_elitebook_820g1', 'default laptop model assigned for LAPTOP=1'; is $bmwqemu::vars{BOOTFROM}, 'c', 'BOOTFROM defaults to "c" for BOOT_HDD_IMAGE=1'; @@ -717,7 +715,6 @@ like $qemu_params, qr{kernel /usr/share/.*/ipxe.*}, 'ipxe kernel param for NBF=1 present'; like $qemu_params, qr{menu=on,splash-time=\d+}, 'menu parameter present for BOOT_MENU=1'; unlike $qemu_params, qr{order=}, 'order parameter not present despite BOOT_HDD_IMAGE=1 because UEFI=1'; - unlike $qemu_params, qr{\sbios}, 'bios parameter not present despite BIOS=1 because UEFI=1'; like $qemu_params, qr{object memory-backend-ram,size=1024m,id=m0 numa node nodeid=0,memdev=m0,cpus=0}, 'numa parameters present for QEMU_NUMA=1/QEMUCPUS=1'; is_deeply \@invoked_cmds, [ 'vdecmd -s ./vde.mgmt port/remove 86', 'vdecmd -s ./vde.mgmt port/create 86', 'vdecmd -s ./vde.mgmt vlan/create foovlan', @@ -726,7 +723,7 @@ ], 'vde and swtpm commands invoked' or always_explain \@invoked_cmds; # set different parameters to test more cases - $bmwqemu::vars{UEFI} = $bmwqemu::vars{UEFI_PFLASH} = 0; + $bmwqemu::vars{UEFI} = 0; $bmwqemu::vars{NICTYPE} = 'tap'; $bmwqemu::vars{DELAYED_START} = 0; $bmwqemu::vars{OVS_DEBUG} = 1; @@ -747,7 +744,6 @@ $qemu_params = Mojo::Collection->new(\@qemu_params)->flatten->join(' '); like $qemu_params, qr{tap id=qanet0 ifname=tap2 script=no downscript=no}, 'parameters for NICTYPE=tap present'; like $qemu_params, qr{order=}, 'order parameter present due to BOOT_HDD_IMAGE=1 and UEFI=0'; - like $qemu_params, qr{\sbios}, 'bios parameter present due to BIOS=1 and UEFI=0'; is $bmwqemu::vars{BOOTFROM}, 'd', 'BOOTFROM set to "d" for "cdrom"'; like $qemu_params, qr{canokey,file=canokey}, 'canokey parameter present due to FIDO2=1'; is scalar @dbus_invocations, 2, 'two D-Bus invocatios made'; @@ -794,12 +790,13 @@ $bmwqemu::vars{KERNEL} = 'does-not-exist'; combined_like { throws_ok { $backend->start_qemu } qr{'/.*/does-not-exist' missing, check KERNEL}, 'dies on non-existant BOOT/KERNEL/INITRD' } qr/qemu version/si, 'expected logs until exception thrown (5)'; - $bmwqemu::vars{UEFI_PFLASH} = 0; $bmwqemu::vars{UEFI} = 1; $bmwqemu::vars{UEFI_PFLASH_CODE} = 0; combined_like { throws_ok { $backend->start_qemu } qr{No UEFI firmware can be found}, 'dies if UEFI firmware not found' } qr/qemu version/si, 'expected logs until exception thrown (6)'; %bmwqemu::vars = %initial_vars; + delete $bmwqemu::vars{UEFI_PFLASH_CODE}; + delete $bmwqemu::vars{UEFI_PFLASH_VARS}; combined_like { qemu_cmdline(UEFI => 1, UEFI_PFLASH_CODE => '/OVMF_CODE.fd') } qr/qemu version/si, 'expected logs until exception thrown (7)'; is $bmwqemu::vars{UEFI_PFLASH_VARS}, '/OVMF_VARS.fd', 'default UEFI_PFLASH_VARS was guessed correctly'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1767893100.fd5003c/t/18-qemu.t new/os-autoinst-5.1768577300.b85e486/t/18-qemu.t --- old/os-autoinst-5.1767893100.fd5003c/t/18-qemu.t 2026-01-08 18:25:00.000000000 +0100 +++ new/os-autoinst-5.1768577300.b85e486/t/18-qemu.t 2026-01-16 16:28:20.000000000 +0100 @@ -13,6 +13,7 @@ use Mojo::Util qw(scope_guard); use Mojo::JSON 'decode_json'; use Test::MockModule; +use Test::MockObject; use File::Copy qw(move); use bmwqemu; @@ -521,23 +522,26 @@ local $SIG{__DIE__} = undef; my $proc = OpenQA::Qemu::Proc->new; my $mock_proc = Test::MockModule->new('OpenQA::Qemu::Proc'); - my %vars = (UEFI => 1, UEFI_PFLASH => 1, UEFI_PFLASH_CODE => 'x'); - throws_ok { $proc->configure_pflash(\%vars) } qr{Mixing old and new PFLASH variables}, 'Fatal mixing of old and new PFLASH'; - + my %vars = (UEFI => 1, UEFI_PFLASH_CODE => 'x'); my $bdc = Test::MockModule->new('OpenQA::Qemu::BlockDevConf'); my @flash; + my $mock_pflash = Test::MockObject->new; + $mock_pflash->set_always('unit', $mock_pflash)->set_always('readonly', $mock_pflash); $bdc->redefine(add_pflash_drive => sub ($self, $id, $file_name, $size) { push @flash, [$id, $file_name, $size]; + return $mock_pflash; }); my @size; $mock_proc->redefine(get_img_size => sub ($self, $file) { push @size, [$file, -s $file]; return -s $file; }); - %vars = (UEFI => 1, UEFI_PFLASH => 1, BIOS => 'foo'); + my $code_file = tempfile->spew('foo'); + my $vars_file = tempfile->spew('fo1'); + %vars = (UEFI => 1, UEFI_PFLASH_CODE => $code_file->to_string, UEFI_PFLASH_VARS => $vars_file->to_string); my $res = $proc->configure_pflash(\%vars); - is_deeply \@flash, [[qw(pflash foo 3)]], 'add_pflash_drive correctly called'; - + my $expected_vars_path = path($vars_file)->to_abs->to_string; + is_deeply \@flash, [['pflash-code', $code_file->to_string, 3], ['pflash-vars', $expected_vars_path, 3]], 'add_pflash_drive correctly called'; %vars = (UEFI => 1, UEFI_PFLASH_VARS => 'vars'); throws_ok { $proc->configure_pflash(\%vars) } qr{Need UEFI_PFLASH_CODE with UEFI_PFLASH_VARS}, 'Fatal UEFI_PFLASH_VARS without UEFI_PFLASH_CODE'; }; ++++++ os-autoinst.obsinfo ++++++ --- /var/tmp/diff_new_pack.yI0dx7/_old 2026-01-17 21:43:27.983682709 +0100 +++ /var/tmp/diff_new_pack.yI0dx7/_new 2026-01-17 21:43:27.999683364 +0100 @@ -1,5 +1,5 @@ name: os-autoinst -version: 5.1767893100.fd5003c -mtime: 1767893100 -commit: fd5003c810cfd66b40f86ad8b2a444b4bbbecee5 +version: 5.1768577300.b85e486 +mtime: 1768577300 +commit: b85e4864b41e812c63df80ccd7adb4bf0cd4b2f9
