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 2025-01-28 14:59:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
 and      /work/SRC/openSUSE:Factory/.os-autoinst.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "os-autoinst"

Tue Jan 28 14:59:27 2025 rev:491 rq:1240646 version:4.6.1737980001.69ac906

Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes  2025-01-22 
17:54:04.666025043 +0100
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.2316/os-autoinst.changes        
2025-01-28 15:00:18.828873869 +0100
@@ -1,0 +2,11 @@
+Mon Jan 27 20:34:38 UTC 2025 - ok...@suse.com
+
+- Update to version 4.6.1737980001.69ac906:
+  * Add more code coverage for video_stream.pm
+  * Clone the disk image with nvram for vmware guest
+  * Update loadtestdir with correct paths
+  * Fix passing of variables
+  * Extract method in OpenQA::Isotovideo::Dewebsockify
+  * t: Fix 'The signatures feature is experimental' in t/39-dewebsockify.t
+
+-------------------------------------------------------------------

Old:
----
  os-autoinst-4.6.1737544150.75887b5.obscpio

New:
----
  os-autoinst-4.6.1737980001.69ac906.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ os-autoinst-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.ELxCUz/_old  2025-01-28 15:00:19.508901982 +0100
+++ /var/tmp/diff_new_pack.ELxCUz/_new  2025-01-28 15:00:19.508901982 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name os-autoinst-devel
 Name:           %{short_name}-test
-Version:        4.6.1737544150.75887b5
+Version:        4.6.1737980001.69ac906
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-openvswitch-test.spec ++++++
--- /var/tmp/diff_new_pack.ELxCUz/_old  2025-01-28 15:00:19.532902975 +0100
+++ /var/tmp/diff_new_pack.ELxCUz/_new  2025-01-28 15:00:19.536903140 +0100
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst-openvswitch
 Name:           %{short_name}%{?name_ext}
-Version:        4.6.1737544150.75887b5
+Version:        4.6.1737980001.69ac906
 Release:        0
 Summary:        test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.ELxCUz/_old  2025-01-28 15:00:19.560904132 +0100
+++ /var/tmp/diff_new_pack.ELxCUz/_new  2025-01-28 15:00:19.564904297 +0100
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst
 Name:           %{short_name}%{?name_ext}
-Version:        4.6.1737544150.75887b5
+Version:        4.6.1737980001.69ac906
 Release:        0
 Summary:        test package for os-autoinst
 License:        GPL-2.0-or-later

++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.ELxCUz/_old  2025-01-28 15:00:19.592905455 +0100
+++ /var/tmp/diff_new_pack.ELxCUz/_new  2025-01-28 15:00:19.596905621 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           os-autoinst
-Version:        4.6.1737544150.75887b5
+Version:        4.6.1737980001.69ac906
 Release:        0
 Summary:        OS-level test automation
 License:        GPL-2.0-or-later

++++++ os-autoinst-4.6.1737544150.75887b5.obscpio -> 
os-autoinst-4.6.1737980001.69ac906.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-4.6.1737544150.75887b5/codecov.yml 
new/os-autoinst-4.6.1737980001.69ac906/codecov.yml
--- old/os-autoinst-4.6.1737544150.75887b5/codecov.yml  2025-01-22 
12:09:10.000000000 +0100
+++ new/os-autoinst-4.6.1737980001.69ac906/codecov.yml  2025-01-27 
13:13:21.000000000 +0100
@@ -30,6 +30,7 @@
           - consoles/sshIucvconn.pm
           - consoles/sshXtermVt.pm
           - consoles/ssh_screen.pm
+          - consoles/video_stream.pm
           - consoles/virtio_terminal.pm
           - consoles/vnc_base.pm
           - commands.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-4.6.1737544150.75887b5/consoles/sshVirtsh.pm 
new/os-autoinst-4.6.1737980001.69ac906/consoles/sshVirtsh.pm
--- old/os-autoinst-4.6.1737544150.75887b5/consoles/sshVirtsh.pm        
2025-01-22 12:09:10.000000000 +0100
+++ new/os-autoinst-4.6.1737980001.69ac906/consoles/sshVirtsh.pm        
2025-01-27 13:13:21.000000000 +0100
@@ -366,6 +366,17 @@
     die "Can't create thin VMware image" if $retval;
 }
 
+sub _copy_nvram_vmware ($self, $name, $vmware_openqa_datastore, 
$vmware_disk_path) {
+    # If the nvram exists in the source vmx file, then copy the source file as 
destination nvram.
+    my $vmware_vmx_path = $vmware_disk_path =~ s/\.vmdk/\.vmx/r;
+    my $vmware_nvram_path = $vmware_disk_path =~ s/\.vmdk/\.nvram/r;
+    my $cmd =
+      "set -x; if [ -e $vmware_vmx_path ] && [ -e $vmware_nvram_path ]; then " 
.
+      "cp -f $vmware_nvram_path ${vmware_openqa_datastore}${name}.nvram; fi;";
+    my $retval = $self->run_cmd($cmd, domain => 'sshVMwareServer');
+    die "No nvram was set in the source vmx file" if $retval;
+}
+
 sub _system (@cmd) { system @cmd }    # uncoverable statement
 
 sub _copy_image_else ($self, $file, $file_basename, $basedir) {
@@ -395,6 +406,7 @@
     if ($cdrom || $backingfile) {
         if ($self->vmm_family eq 'vmware') {
             $self->_copy_image_vmware($name, $backingfile, $file_basename, 
$vmware_openqa_datastore, $vmware_disk_path, $vmware_disk_path_thinfile);
+            $self->_copy_nvram_vmware($name, $vmware_openqa_datastore, 
$vmware_disk_path) if ($backingfile);
         }
         else {
             $self->_copy_image_else($args->{file}, $file_basename, $basedir);
@@ -566,6 +578,12 @@
 
         # set default boot delay
         $self->run_cmd(qq{echo 'bios.bootDelay = "10000"' >> $vmx}, domain => 
'sshVMwareServer');
+        # set default nvram
+        my $nvram = $self->name . '.nvram';
+        my $nvram_path = sprintf('/vmfs/volumes/%s/openQA/%s', 
$bmwqemu::vars{VMWARE_DATASTORE} // 'datastore1', $nvram);
+        $ret = $self->run_cmd("test -e $nvram_path", domain => 
'sshVMwareServer');
+        $self->run_cmd(qq{echo 'nvram = "$nvram"' >> $vmx}, domain => 
'sshVMwareServer') unless ($ret);
+
         my $fb_tool = $bmwqemu::vars{GUESTINFO_CONFIG};
 
         if ($fb_tool && $fb_tool ne 'wizard') {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-4.6.1737544150.75887b5/t/22-svirt.t 
new/os-autoinst-4.6.1737980001.69ac906/t/22-svirt.t
--- old/os-autoinst-4.6.1737544150.75887b5/t/22-svirt.t 2025-01-22 
12:09:10.000000000 +0100
+++ new/os-autoinst-4.6.1737980001.69ac906/t/22-svirt.t 2025-01-27 
13:13:21.000000000 +0100
@@ -213,6 +213,8 @@
         $s . ' undefine --snapshots-metadata openQA-SUT-1 |& grep -v 
"\\(failed to get domain\\|Domain not found\\)"',
         $s . ' define /var/lib/libvirt/images/openQA-SUT-1.xml',
         'echo \'bios.bootDelay = "10000"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
+        'test -e /vmfs/volumes/datastore1/openQA/openQA-SUT-1.nvram',
+        'echo \'nvram = "openQA-SUT-1.nvram"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         $s . ' start openQA-SUT-1 2> >(tee 
/tmp/os-autoinst-openQA-SUT-1-stderr.log >&2)',
         $s . ' dumpxml openQA-SUT-1'
     ], 'expected commands invoked' or always_explain \@cmds;
@@ -285,6 +287,8 @@
         $s . ' undefine --snapshots-metadata openQA-SUT-1 |& grep -v 
"\\(failed to get domain\\|Domain not found\\)"',
         $s . ' define /var/lib/libvirt/images/openQA-SUT-1.xml',
         'echo \'bios.bootDelay = "10000"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
+        'test -e /vmfs/volumes/datastore1/openQA/openQA-SUT-1.nvram',
+        'echo \'nvram = "openQA-SUT-1.nvram"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.combustion.script = "testingCombustion"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         $s . ' start openQA-SUT-1 2> >(tee 
/tmp/os-autoinst-openQA-SUT-1-stderr.log >&2)',
         $s . ' dumpxml openQA-SUT-1'
@@ -320,6 +324,8 @@
         $s . ' undefine --snapshots-metadata openQA-SUT-1 |& grep -v 
"\\(failed to get domain\\|Domain not found\\)"',
         $s . ' define /var/lib/libvirt/images/openQA-SUT-1.xml',
         'echo \'bios.bootDelay = "10000"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
+        'test -e /vmfs/volumes/datastore1/openQA/openQA-SUT-1.nvram',
+        'echo \'nvram = "openQA-SUT-1.nvram"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.ignition.config.data.encoding = "gzip+base64"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.ignition.config.data = "ignitionTEST"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         $s . ' start openQA-SUT-1 2> >(tee 
/tmp/os-autoinst-openQA-SUT-1-stderr.log >&2)',
@@ -356,6 +362,8 @@
         $s . ' undefine --snapshots-metadata openQA-SUT-1 |& grep -v 
"\\(failed to get domain\\|Domain not found\\)"',
         $s . ' define /var/lib/libvirt/images/openQA-SUT-1.xml',
         'echo \'bios.bootDelay = "10000"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
+        'test -e /vmfs/volumes/datastore1/openQA/openQA-SUT-1.nvram',
+        'echo \'nvram = "openQA-SUT-1.nvram"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.userdata.encoding = "gzip+base64"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.metadata.encoding = "gzip+base64"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
         'echo \'guestinfo.userdata = "CI_test_CONF"\' >> 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-4.6.1737544150.75887b5/t/26-video_stream.t 
new/os-autoinst-4.6.1737980001.69ac906/t/26-video_stream.t
--- old/os-autoinst-4.6.1737544150.75887b5/t/26-video_stream.t  2025-01-22 
12:09:10.000000000 +0100
+++ new/os-autoinst-4.6.1737980001.69ac906/t/26-video_stream.t  2025-01-27 
13:13:21.000000000 +0100
@@ -106,6 +106,14 @@
     is_deeply $cmd, [
         'ffmpeg', '-loglevel', 'fatal', '-i', '/dev/video0',
         '-vcodec', 'ppm', '-f', 'rawvideo', '-r', 3, '-'], "correct cmd built 
for fps=3";
+
+    $mock_console->redefine(update_framebuffer => sub ($self) { 
$self->{_last_update_received} = 200; return 0; });
+    my $start_time = time;
+    $console->request_screen_update();
+    is $console->{dv_timings_supported}, 1, 'dv timings are supported';
+    cmp_ok $console->{dv_timings_last_check}, '>=', $start_time, 
'dv_timings_last_check ok';
+    $mock_console->unmock('update_framebuffer');
+    $console->disable_video;
 };
 
 subtest 'connect stream ustreamer' => sub {
@@ -166,6 +174,14 @@
     my $received_update = $console->update_framebuffer();
     is $received_update, 0, "detected incomplete frame";
     $console->disable_video;
+
+    # now invalid frame - not in PPM format to test exception
+    $mock_video_source = $data_dir . 'accept-ssh-host-key.png';
+    $console->connect_remote({url => 'udp://@:5004'});
+    waitpid($console->{ffmpegpid}, 0);
+
+    throws_ok { $console->update_framebuffer() } qr/Invalid PPM header/, 'dies 
ok - input is not in PPM format';
+    $console->disable_video;
 };
 
 subtest 'frame parsing - ustreamer' => sub {
@@ -266,7 +282,7 @@
     %v4l2_ctl_results = (
         '--query-dv-timings' => '640x480p60',
     );
-    $console->{dv_timings_last_check} = time - 4;
+    $console->{dv_timings_last_check} = 
consoles::video_stream::DV_TIMINGS_CHECK_INTERVAL;
 
     $console->update_framebuffer();
     is $console->{dv_timings}, '640x480p60', 'correct resolution detected';
@@ -282,7 +298,7 @@
         '--get-dv-timings' => '1024x768p60',
         '--set-dv-bt-timings query' => 'BT timings set',
     );
-    $console->{dv_timings_last_check} = time - 4;
+    $console->{dv_timings_last_check} = 
consoles::video_stream::DV_TIMINGS_CHECK_INTERVAL;
 
     $console->update_framebuffer();
     is $console->{dv_timings}, '1024x768p60', 'correct resolution detected';
@@ -291,6 +307,23 @@
         [('/dev/video0', 'ssh host', '--set-dv-bt-timings query')],
         [('/dev/video0', 'ssh host', '--get-dv-timings')],
     ], "calls to v4l2-ctl";
+
+    @v4l2_ctl_calls = ();
+
+    # test video disconnection
+    %v4l2_ctl_results = (
+        '--query-dv-timings' => '0',
+        '--get-dv-timings' => '1024x768p60',
+        '--set-dv-bt-timings query' => 'BT timings set',
+    );
+    $console->{dv_timings_last_check} = 
consoles::video_stream::DV_TIMINGS_CHECK_INTERVAL;
+
+    $console->update_framebuffer();
+    is $console->{dv_timings}, '', 'correct dv_timings returned';
+    is_deeply \@v4l2_ctl_calls, [
+        [('/dev/video0', 'ssh host', '--query-dv-timings')]
+    ], "calls to v4l2-ctl matching";
+
     $console->disable_video;
 };
 
@@ -361,6 +394,12 @@
         'http://127.0.0.42:42000/cmd?sendkey=ctrl-x',
         'http://127.0.0.42:42000/cmd?type=some+test%0A'
     ], "correct kbd emu requests sent";
+
+    $console->activate;
+    $console->mouse_set({x => 60, y => 60});
+    my $mouse_position = $console->get_last_mouse_set();
+    is_deeply($mouse_position, {x => 60, y => 60}, 'Got correct mouse 
position');
+    $console->disable;
 };
 
 done_testing;

++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.ELxCUz/_old  2025-01-28 15:00:21.188971439 +0100
+++ /var/tmp/diff_new_pack.ELxCUz/_new  2025-01-28 15:00:21.192971604 +0100
@@ -1,5 +1,5 @@
 name: os-autoinst
-version: 4.6.1737544150.75887b5
-mtime: 1737544150
-commit: 75887b5b86e7e662b04854126347a8d9cca559bf
+version: 4.6.1737980001.69ac906
+mtime: 1737980001
+commit: 69ac9064b094b1bd57b9f3ec8c964ac80bd41451
 

Reply via email to