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-06-02 16:02:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
 and      /work/SRC/openSUSE:Factory/.os-autoinst.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "os-autoinst"

Tue Jun  2 16:02:41 2026 rev:599 rq:1356447 version:5.1780332012.6ee8da2

Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes  2026-05-28 
23:12:27.880695714 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.1937/os-autoinst.changes        
2026-06-02 16:04:10.078553182 +0200
@@ -1,0 +2,10 @@
+Mon Jun 01 16:40:23 UTC 2026 - [email protected]
+
+- Update to version 5.1780332012.6ee8da2:
+  * chore(AGENTS.md): phrase tidying as mandatory
+  * feat(mouse_drag): use the clickpoints
+  * test: allow to configure full-stack test output directory
+  * test: allow shortening long typing in full-stack tests
+  * chore: video_stream: accept ustreamer version 8
+
+-------------------------------------------------------------------

Old:
----
  os-autoinst-5.1779973703.70686ac.obscpio

New:
----
  os-autoinst-5.1780332012.6ee8da2.obscpio

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

Other differences:
------------------
++++++ os-autoinst-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.WYmbMh/_old  2026-06-02 16:04:11.850626667 +0200
+++ /var/tmp/diff_new_pack.WYmbMh/_new  2026-06-02 16:04:11.854626833 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name os-autoinst-devel
 Name:           %{short_name}-test
-Version:        5.1779973703.70686ac
+Version:        5.1780332012.6ee8da2
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-openvswitch-test.spec ++++++
--- /var/tmp/diff_new_pack.WYmbMh/_old  2026-06-02 16:04:11.902628824 +0200
+++ /var/tmp/diff_new_pack.WYmbMh/_new  2026-06-02 16:04:11.906628990 +0200
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst-openvswitch
 Name:           %{short_name}%{?name_ext}
-Version:        5.1779973703.70686ac
+Version:        5.1780332012.6ee8da2
 Release:        0
 Summary:        test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.WYmbMh/_old  2026-06-02 16:04:11.950630814 +0200
+++ /var/tmp/diff_new_pack.WYmbMh/_new  2026-06-02 16:04:11.950630814 +0200
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst
 Name:           %{short_name}%{?name_ext}
-Version:        5.1779973703.70686ac
+Version:        5.1780332012.6ee8da2
 Release:        0
 Summary:        test package for os-autoinst
 License:        GPL-2.0-or-later

++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.WYmbMh/_old  2026-06-02 16:04:12.002632971 +0200
+++ /var/tmp/diff_new_pack.WYmbMh/_new  2026-06-02 16:04:12.006633137 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           os-autoinst
-Version:        5.1779973703.70686ac
+Version:        5.1780332012.6ee8da2
 Release:        0
 Summary:        OS-level test automation
 License:        GPL-2.0-or-later

++++++ os-autoinst-5.1779973703.70686ac.obscpio -> 
os-autoinst-5.1780332012.6ee8da2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/AGENTS.md 
new/os-autoinst-5.1780332012.6ee8da2/AGENTS.md
--- old/os-autoinst-5.1779973703.70686ac/AGENTS.md      2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/AGENTS.md      2026-06-01 
18:40:12.000000000 +0200
@@ -13,7 +13,8 @@
 ## Conventions
 
 - Code style: Run `tools/tidyall --all` (or `tools/tidyall --git` for changed
-  files only).
+  files only). This MUST be done before every commit and before claiming
+  completion.
 - Linter: Always run `make test-perl-testsuite TESTS="xt/01-style.t 
xt/02-perlcritic.t"`
   for Perl changes before claiming completion.
 - Testing: Always add tests for new features or bug fixes in `t/`. Prefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-5.1779973703.70686ac/consoles/sshVirtsh.pm 
new/os-autoinst-5.1780332012.6ee8da2/consoles/sshVirtsh.pm
--- old/os-autoinst-5.1779973703.70686ac/consoles/sshVirtsh.pm  2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/consoles/sshVirtsh.pm  2026-06-01 
18:40:12.000000000 +0200
@@ -624,6 +624,10 @@
         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);
+        # set virtual hardware version if specified
+        if ($bmwqemu::vars{VMWARE_VM_HWVERSION}) {
+            $self->run_cmd(qq{sed -i 's/^virtualHW.version = 
".*"/virtualHW.version = "$bmwqemu::vars{VMWARE_VM_HWVERSION}"/' $vmx}, domain 
=> 'sshVMwareServer');
+        }
 
         my $fb_tool = $bmwqemu::vars{GUESTINFO_CONFIG};
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-5.1779973703.70686ac/consoles/video_stream.pm 
new/os-autoinst-5.1780332012.6ee8da2/consoles/video_stream.pm
--- old/os-autoinst-5.1779973703.70686ac/consoles/video_stream.pm       
2026-05-28 15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/consoles/video_stream.pm       
2026-06-01 18:40:12.000000000 +0200
@@ -330,12 +330,12 @@
             $client_clock_offset = 112;
             $data_offset = 129;
             $meta_offset = 32;
-        } elsif ($version == 7) {
+        } elsif ($version == 7 or $version == 8) {
             $client_clock_offset = 32;
             $data_offset = 128;
             $meta_offset = 52;
         } else {
-            die "Unsupported ustreamer version '$version' (only versions 4 and 
7 are supported)";
+            die "Unsupported ustreamer version '$version' (only versions 4, 7 
and 8 are supported)";
         }
 
         # tell ustreamer we are reading, otherwise it won't write new frames
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/doc/backend_vars.md 
new/os-autoinst-5.1780332012.6ee8da2/doc/backend_vars.md
--- old/os-autoinst-5.1779973703.70686ac/doc/backend_vars.md    2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/doc/backend_vars.md    2026-06-01 
18:40:12.000000000 +0200
@@ -243,6 +243,7 @@
 | VMWARE_REMOTE_VMM | string |  | Set the vmware Virtual Machine Manager |
 | VMWARE_VNC_OVER_WS | boolean | 0 | Whether to use VNC over WebSockets 
(instead of raw VNC connection) |
 | VMWARE_VNC_OVER_WS_INSECURE | boolean | 0 | Do not require a valid TLS 
certificate for VNC over WebSockets |
+| VMWARE_VM_HWVERSION | integer |  | VM hardware version |
 | GUESTINFO_COMBUSTION | string |  | Set the location of combustion's bash 
script file among the data folder |
 | GUESTINFO_IGNITION | string |  | Set the location of ignition's config file 
formated in json, among the data folder |
 | GUESTINFO_CLOUD_INIT | string |  | Set the location of user-data and 
meta-data files, separated by a comma in data folder |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/t/01-test_needle.t 
new/os-autoinst-5.1780332012.6ee8da2/t/01-test_needle.t
--- old/os-autoinst-5.1779973703.70686ac/t/01-test_needle.t     2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/01-test_needle.t     2026-06-01 
18:40:12.000000000 +0200
@@ -217,7 +217,7 @@
 
 my @alltags = sort keys %needle::tags;
 my @needles = @{needle::tags('none') || []};
-is(@needles, 4, 'four needles found');
+is(@needles, 3, 'three needles found');
 for my $n (@needles) {
     $n->unregister();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/t/03-testapi.t 
new/os-autoinst-5.1780332012.6ee8da2/t/03-testapi.t
--- old/os-autoinst-5.1779973703.70686ac/t/03-testapi.t 2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/03-testapi.t 2026-06-01 
18:40:12.000000000 +0200
@@ -1042,30 +1042,46 @@
     my %fake_needle_area = (x => 100, y => 100, w => 50, h => 40);
     my %fake_click_point = (xpos => 20, ypos => 10);
 
-    # Everything is provided.
-    my ($x, $y) = testapi::_calculate_clickpoint(\%fake_needle, 
\%fake_needle_area, \%fake_click_point);
-    is $x, 120, 'clickpoint x';
-    is $y, 110, 'clickpoint y';
-
-    # Everything is provided but the click point is 'center'
-    ($x, $y) = testapi::_calculate_clickpoint(\%fake_needle, 
\%fake_needle_area, 'center');
-    is $x, 125, 'clickpoint x centered';
-    is $y, 120, 'clickpoint y centered';
-
-    # Just the area is provided and no click point.
-    ($x, $y) = testapi::_calculate_clickpoint(\%fake_needle, 
\%fake_needle_area);
-    is $x, 125, 'clickpoint x from area';
-    is $y, 120, 'clickpoint y from area';
-
-    # Just the needle is provided and no area and click point.
-    ($x, $y) = testapi::_calculate_clickpoint(\%fake_needle);
+    # A needle without click point.
+    my %simple_needle = (
+        area => [{x => 10, y => 10, w => 20, h => 30}],
+    );
+    my ($x, $y) = testapi::_calculate_clickpoint(\%simple_needle);
     is $x, 20, 'clickpoint x from needle';
     is $y, 25, 'clickpoint y from needle';
+
+    # A needle with an explicit click point.
+    my %explicit_clickpoint_needle = (
+        area => [{x => 10, y => 10, w => 20, h => 30, click_point => {xpos => 
2, ypos => 3}}],
+    );
+    ($x, $y) = testapi::_calculate_clickpoint(\%explicit_clickpoint_needle);
+    is $x, 12, 'clickpoint x from area';
+    is $y, 13, 'clickpoint y from area';
+
+    # A needle with a centered click point.
+    my %centered_clickpoint_needle = (
+        area => [{x => 10, y => 10, w => 20, h => 30, click_point => 
'center'}],
+    );
+    ($x, $y) = testapi::_calculate_clickpoint(\%centered_clickpoint_needle);
+    is $x, 20, 'clickpoint x from area';
+    is $y, 25, 'clickpoint y from area';
+
+    # A needle with many areas and an explicit click point.
+    my %full_clickpoint_needle = (
+        area => [
+            {x => 10, y => 10, w => 20, h => 30, click_point => {id => 'nr1', 
xpos => 2, ypos => 3}},
+            {x => 30, y => 40, w => 20, h => 30, click_point => {id => 'nr2', 
xpos => 2, ypos => 3}},
+            {x => 50, y => 80, w => 20, h => 30, click_point => {id => 'nr3', 
xpos => 2, ypos => 3}},
+        ],
+    );
+    ($x, $y) = testapi::_calculate_clickpoint(\%full_clickpoint_needle, 'nr2');
+    is $x, 32, 'clickpoint x from area nr2';
+    is $y, 43, 'clickpoint y from area nr2';
 };
 
 subtest 'mouse_drag' => sub {
     my $mock_testapi = Test::MockModule->new('testapi');
-    my @area = ({x => 100, y => 100, w => 20, h => 20});
+    my @area = ({x => 100, y => 100, w => 20, h => 20, click_point => {xpos => 
2, ypos => 3}});
     $mock_testapi->redefine(assert_screen => {area => \@area});
 
     my ($startx, $starty) = (0, 0);
@@ -1077,8 +1093,8 @@
     is_deeply($cmds, [
             {
                 cmd => 'backend_mouse_set',
-                x => 110,
-                y => 110
+                x => 102,
+                y => 103
             },
             {
                 bstate => 1,
@@ -1113,8 +1129,8 @@
             },
             {
                 cmd => 'backend_mouse_set',
-                x => 110,
-                y => 110
+                x => 102,
+                y => 103
             },
             {
                 bstate => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/t/22-svirt.t 
new/os-autoinst-5.1780332012.6ee8da2/t/22-svirt.t
--- old/os-autoinst-5.1779973703.70686ac/t/22-svirt.t   2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/22-svirt.t   2026-06-01 
18:40:12.000000000 +0200
@@ -241,6 +241,14 @@
     _check_vmware_cmds(\@cmds);
 };
 
+subtest 'starting VMware console with a specified hardware version' => sub {
+    local $bmwqemu::vars{VMWARE_VM_HWVERSION} = '13';
+    my (@cmds, @ssh_cmds);
+    my $mocks = _mock_svirt_vmware(\@cmds, \@ssh_cmds);
+    $svirt_console->define_and_start;
+    _check_vmware_cmds(\@cmds, [qq{sed -i 's/^virtualHW.version = 
".*"/virtualHW.version = "$bmwqemu::vars{VMWARE_VM_HWVERSION}"/' 
/vmfs/volumes/datastore1/openQA/openQA-SUT-1.vmx}]);
+};
+
 subtest 'test config encoding' => sub {
     $bmwqemu::vars{GUESTINFO_COMBUSTION} = 'someTestScript';
     my $test_script_dir = path(File::Temp->newdir('testXXXX'));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/t/99-full-stack.t 
new/os-autoinst-5.1780332012.6ee8da2/t/99-full-stack.t
--- old/os-autoinst-5.1779973703.70686ac/t/99-full-stack.t      2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/99-full-stack.t      2026-06-01 
18:40:12.000000000 +0200
@@ -16,7 +16,7 @@
 use Mojo::File qw(path tempdir);
 use Mojo::Util qw(scope_guard);
 
-my $dir = tempdir("/tmp/$FindBin::Script-XXXX");
+my $dir = $ENV{OS_AUTOINST_FULL_STACK_TEST_DIR} // 
tempdir("/tmp/$FindBin::Script-XXXX");
 my $toplevel_dir = "$Bin/..";
 my $data_dir = "$Bin/data/";
 my $pool_dir = "$dir/pool/";
@@ -43,6 +43,7 @@
    "CDMODEL" : "ide-cd",
    "HDDMODEL" : "ide-hd",
    "VERSION" : "1",
+   "FAST_TYPING" : "@{[ $ENV{OS_AUTOINST_FAST_TYPING} // 0 ]}",
    "SSH_CONNECT_RETRY"  : "2",
    "SSH_CONNECT_RETRY_INTERVAL"  : ".001",
    "VNC_CONNECT_SLEEP" : "0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-5.1779973703.70686ac/t/data/font-kerning.ref.json 
new/os-autoinst-5.1780332012.6ee8da2/t/data/font-kerning.ref.json
--- old/os-autoinst-5.1779973703.70686ac/t/data/font-kerning.ref.json   
2026-05-28 15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/data/font-kerning.ref.json   
1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-{
-    "area": [
-        {
-            "height": 155,
-            "type": "match",
-            "width": 280,
-            "xpos": 500,
-            "ypos": 295
-        }
-    ],
-    "tags": [
-        "none"
-    ]
-}
Binary files old/os-autoinst-5.1779973703.70686ac/t/data/font-kerning.ref.png 
and new/os-autoinst-5.1780332012.6ee8da2/t/data/font-kerning.ref.png differ
Binary files old/os-autoinst-5.1779973703.70686ac/t/data/font-kerning.test.png 
and new/os-autoinst-5.1780332012.6ee8da2/t/data/font-kerning.test.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-5.1779973703.70686ac/t/data/tests/tests/typing.pm 
new/os-autoinst-5.1780332012.6ee8da2/t/data/tests/tests/typing.pm
--- old/os-autoinst-5.1779973703.70686ac/t/data/tests/tests/typing.pm   
2026-05-28 15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/t/data/tests/tests/typing.pm   
2026-06-01 18:40:12.000000000 +0200
@@ -23,9 +23,15 @@
 When ORL was closed in 2002 some of the key people behind VNC and RFB formed 
[[RealVNC]], Ltd., in order to continue development of VNC and to maintain the 
RFB protocol. The current RFB protocol is published on the RealVNC website.
 END
 
+    my $md5 = '924095f2cb4d622a8796de66a5e0a44a';
+    if (get_var('FAST_TYPING')) {
+        $text = "==Description==\nShort text for fast typing.\n";
+        $md5 = 'e5e578ebcb49c765134bcfa1640b3821';
+    }
+
     type_string $text;
     type_string "\nEOF\n";
-    script_run "echo '924095f2cb4d622a8796de66a5e0a44a  text' > text.md5";
+    script_run "echo '$md5  text' > text.md5";
     assert_script_run 'md5sum -c text.md5';
 
     # TinyCore busybox sh acts as bash but does not provide it so we do here
Binary files old/os-autoinst-5.1779973703.70686ac/t/data/welcome.test.png and 
new/os-autoinst-5.1780332012.6ee8da2/t/data/welcome.test.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-autoinst-5.1779973703.70686ac/testapi.pm 
new/os-autoinst-5.1780332012.6ee8da2/testapi.pm
--- old/os-autoinst-5.1779973703.70686ac/testapi.pm     2026-05-28 
15:08:23.000000000 +0200
+++ new/os-autoinst-5.1780332012.6ee8da2/testapi.pm     2026-06-01 
18:40:12.000000000 +0200
@@ -114,13 +114,23 @@
 
 This subroutine is used to by several subroutines dealing with mouse clicks to 
calculate
 a clickpoint, when only the needle area is available. It takes the area 
coordinates and
-returns the center of that area. It is meant to be a helper subroutine not 
available
-to be used in tests.
+returns the configured clickpoint or else the center of that area. It is meant 
to be a
+helper subroutine not available to be used in tests.
 
 =cut
 
-sub _calculate_clickpoint ($needle_to_use, $needle_area = undef, $click_point 
= undef) {
-    # If there is no needle area defined, take it from the needle itself.
+sub _calculate_clickpoint ($needle_to_use, $point_id = undef) {
+
+    # determine click coordinates from the last area which has those 
explicitly specified
+    my $needle_area;
+    my $click_point;
+    for my $area (reverse @{$needle_to_use->{area}}) {
+        next unless ($click_point = $area->{click_point});
+        next if defined $point_id && $click_point->{id} ne $point_id;
+        $needle_area = $area;
+        last;
+    }
+    # If there is no area with a click point defined, use the last area.
     $needle_area ||= $needle_to_use->{area}->[-1];
     # If there is no clickpoint defined, or if it has been specifically 
defined as "center"
     # then calculate the click point as a central point of the specified area.
@@ -515,18 +525,8 @@
 
     my $old_mouse_coords = query_isotovideo('backend_get_last_mouse_set');
 
-    # determine click coordinates from the last area which has those 
explicitly specified
-    my $relevant_area;
-    my $relative_click_point;
-    for my $area (reverse @{$last_matched_needle->{area}}) {
-        next unless ($relative_click_point = $area->{click_point});
-        next if defined $args{point_id} && $relative_click_point->{id} ne 
$args{point_id};
-        $relevant_area = $area;
-        last;
-    }
-
     # Calculate the absolute click point.
-    my ($x, $y) = _calculate_clickpoint($last_matched_needle, $relevant_area, 
$relative_click_point);
+    my ($x, $y) = _calculate_clickpoint($last_matched_needle, $args{point_id});
     bmwqemu::diag("clicking at $x/$y");
     mouse_set($x, $y);
     if ($args{dclick}) {
@@ -1582,7 +1582,7 @@
 the two needle areas. Alternatively, you can set all the coordinates 
explicitly with C<$startx>,
 C<$starty>, C<$endx>, and C<$endy>. You can also set one point using a needle 
and another one
 using coordinates.  If both the coordinates and the needle are provided, the 
coordinates
-will be used to set up the locations and the needle location will be 
overridden.
+will be used to set up the locations and the needle location will be ignored.
 
 =cut
 
@@ -1598,7 +1598,7 @@
         my $startmatch = $args{startpoint};
         # Check that the needle exists.
         my $start_matched_needle = assert_screen($startmatch, $args{timeout});
-        # Calculate the click point from the area defined by the needle (take 
the center of it)
+        # Calculate the click point from the area defined by the needle
         ($startx, $starty) = _calculate_clickpoint($start_matched_needle);
     }
     # If neither coordinates nor a needle is provided, report an error and 
quit.

++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.WYmbMh/_old  2026-06-02 16:04:14.830750249 +0200
+++ /var/tmp/diff_new_pack.WYmbMh/_new  2026-06-02 16:04:14.850751078 +0200
@@ -1,5 +1,5 @@
 name: os-autoinst
-version: 5.1779973703.70686ac
-mtime: 1779973703
-commit: 70686ac4d35c47520ae0e038f1e8cdf4908c866d
+version: 5.1780332012.6ee8da2
+mtime: 1780332012
+commit: 6ee8da2b6ee5c5f5c0a30581cc3a0b42ab5a8224
 

Reply via email to