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-18 18:40:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old) and /work/SRC/openSUSE:Factory/.os-autoinst.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst" Thu Jun 18 18:40:09 2026 rev:603 rq:1360079 version:5.1781702821.22ced0d Changes: -------- --- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2026-06-17 16:21:13.446354466 +0200 +++ /work/SRC/openSUSE:Factory/.os-autoinst.new.1981/os-autoinst.changes 2026-06-18 18:40:55.685791829 +0200 @@ -1,0 +2,10 @@ +Wed Jun 17 14:56:34 UTC 2026 - [email protected] + +- Update to version 5.1781702821.22ced0d: + * ci: Avoid unresolvable os-autoinst-openvswitch-test package for SLE-SP7 + * fix: Avoid unresolvable os-autoinst-devel-test package for SLE-SP7 + * feat: expose detect_serial_marker_capability as public + * chore(mergify): adjust expectations to current OBS checks + * style(perlcritic): Add BuiltinFunctions::RequireBlockGrep + +------------------------------------------------------------------- Old: ---- os-autoinst-5.1781620242.0160257.obscpio New: ---- os-autoinst-5.1781702821.22ced0d.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ os-autoinst-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.55Ep7e/_old 2026-06-18 18:40:57.489867093 +0200 +++ /var/tmp/diff_new_pack.55Ep7e/_new 2026-06-18 18:40:57.493867260 +0200 @@ -18,13 +18,19 @@ %define short_name os-autoinst-devel Name: %{short_name}-test -Version: 5.1781620242.0160257 +Version: 5.1781702821.22ced0d Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later BuildRequires: %{short_name} == %{version} ExcludeArch: %{ix86} +# disable os-autoinst-devel-test in consistency with use of `%bcond_with devel_package` +# in the main os-autoinst spec file +%if !(0%{?is_opensuse} && 0%{?suse_version} >= 1600) +ExclusiveArch: do_not_build +%endif + %description . ++++++ os-autoinst-openvswitch-test.spec ++++++ --- /var/tmp/diff_new_pack.55Ep7e/_old 2026-06-18 18:40:57.541869263 +0200 +++ /var/tmp/diff_new_pack.55Ep7e/_new 2026-06-18 18:40:57.545869429 +0200 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} -Version: 5.1781620242.0160257 +Version: 5.1781702821.22ced0d Release: 0 Summary: test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-test.spec ++++++ --- /var/tmp/diff_new_pack.55Ep7e/_old 2026-06-18 18:40:57.577870764 +0200 +++ /var/tmp/diff_new_pack.55Ep7e/_new 2026-06-18 18:40:57.581870931 +0200 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} -Version: 5.1781620242.0160257 +Version: 5.1781702821.22ced0d Release: 0 Summary: test package for os-autoinst License: GPL-2.0-or-later ++++++ os-autoinst.spec ++++++ --- /var/tmp/diff_new_pack.55Ep7e/_old 2026-06-18 18:40:57.621872600 +0200 +++ /var/tmp/diff_new_pack.55Ep7e/_new 2026-06-18 18:40:57.625872767 +0200 @@ -17,7 +17,7 @@ Name: os-autoinst -Version: 5.1781620242.0160257 +Version: 5.1781702821.22ced0d Release: 0 Summary: OS-level test automation License: GPL-2.0-or-later ++++++ os-autoinst-5.1781620242.0160257.obscpio -> os-autoinst-5.1781702821.22ced0d.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/.mergify.yml new/os-autoinst-5.1781702821.22ced0d/.mergify.yml --- old/os-autoinst-5.1781620242.0160257/.mergify.yml 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/.mergify.yml 2026-06-17 15:27:01.000000000 +0200 @@ -14,7 +14,7 @@ # "unresolvable" is not reported in general: # https://trello.com/c/0N3jHq5M/2257-report-back-to-scm-when-build-results-arent-failed-and-succeeded # So we need to require the number of tests explicitly: - - "#check-success>=28" + - "#check-success>=23" - "#check-failure=0" - "#check-pending=0" - linear-history diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/.obs/workflows.yml new/os-autoinst-5.1781702821.22ced0d/.obs/workflows.yml --- old/os-autoinst-5.1781620242.0160257/.obs/workflows.yml 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/.obs/workflows.yml 2026-06-17 15:27:01.000000000 +0200 @@ -13,6 +13,8 @@ paths: - target_project: openSUSE:Backports:SLE-15-SP7:Update target_repository: standard + - target_project: devel:openQA # needed to inherit project config + target_repository: '15.7' architectures: - x86_64 - name: openSUSE_Tumbleweed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/.perlcriticrc new/os-autoinst-5.1781702821.22ced0d/.perlcriticrc --- old/os-autoinst-5.1781620242.0160257/.perlcriticrc 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/.perlcriticrc 2026-06-17 15:27:01.000000000 +0200 @@ -1,7 +1,7 @@ theme = community + openqa severity = 4 -include = strict ValuesAndExpressions::ProhibitInterpolationOfLiterals CodeLayout::ProhibitParensWithBuiltins BuiltinFunctions::RequireBlockMap BuiltinFunctions::ProhibitStringySplit ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions ValuesAndExpressions::RequireQuotedHeredocTerminator Variables::ProhibitPackageVars CodeLayout::RequireTidyCode Community::WarningsSwitch Community::EmptyReturn Variables::ProhibitUnusedVariables RegularExpressions::ProhibitUselessTopic BuiltinFunctions::ProhibitUselessTopic CodeLayout::ProhibitQuotedWordLists +include = strict ValuesAndExpressions::ProhibitInterpolationOfLiterals CodeLayout::ProhibitParensWithBuiltins BuiltinFunctions::RequireBlockMap BuiltinFunctions::ProhibitStringySplit ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions ValuesAndExpressions::RequireQuotedHeredocTerminator Variables::ProhibitPackageVars CodeLayout::RequireTidyCode Community::WarningsSwitch Community::EmptyReturn Variables::ProhibitUnusedVariables RegularExpressions::ProhibitUselessTopic BuiltinFunctions::ProhibitUselessTopic CodeLayout::ProhibitQuotedWordLists BuiltinFunctions::RequireBlockGrep verbose = ::warning file=%f,line=%l,col=%c,title=%m - severity %s::[%p] %e\n diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/OpenQA/Isotovideo/Utils.pm new/os-autoinst-5.1781702821.22ced0d/OpenQA/Isotovideo/Utils.pm --- old/os-autoinst-5.1781620242.0160257/OpenQA/Isotovideo/Utils.pm 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/OpenQA/Isotovideo/Utils.pm 2026-06-17 15:27:01.000000000 +0200 @@ -179,7 +179,7 @@ my $depth_args = $cache_dir ? '' : "--depth='$clone_depth'"; # cannot use `--depth` with $cache_dir if (!$cache_dir) { # cannot use `--branch` with $cache_dir so just move to fallback directly my @out = qx{$clone_cmd $depth_args $branch_args $source_url 2>&1}; - return $handle_output->($?, @out) unless ($branch && grep /fatal: Remote branch .* not found in upstream origin/, @out); + return $handle_output->($?, @out) unless ($branch && grep { /fatal: Remote branch .* not found in upstream origin/ } @out); } # if cloning with `--branch=…` does not work, just clone the default branch instead and fetch and check out the missing @@ -189,7 +189,7 @@ if ($direct_fetch) { bmwqemu::diag "Fetching '$branch' from origin manually"; @out = qx{git -C "$local_path" fetch origin "$branch" 2>&1 && git -C "$local_path" checkout FETCH_HEAD 2>&1}; - return $handle_output->($?, @out) unless (grep /could(n't| not) find remote ref/, @out); + return $handle_output->($?, @out) unless (grep { /could(n't| not) find remote ref/ } @out); } # if fetching the specified rev did not work, take yet another approach (maybe we just misspelled, though) @@ -202,7 +202,7 @@ $clone_depth *= 2; @out = qx[git -C $local_path fetch --progress --depth=$clone_depth 2>&1]; $handle_output->($?, @out); - die "Could not find '$branch' in complete history in cloned Git repository \"$dir\"" if grep /remote: Total 0/, @out; + die "Could not find '$branch' in complete history in cloned Git repository \"$dir\"" if grep { /remote: Total 0/ } @out; } @out = qx{git -C $local_path checkout $branch}; bmwqemu::diag "@out" if @out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/bmwqemu.pm new/os-autoinst-5.1781702821.22ced0d/bmwqemu.pm --- old/os-autoinst-5.1781620242.0160257/bmwqemu.pm 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/bmwqemu.pm 2026-06-17 15:27:01.000000000 +0200 @@ -114,7 +114,7 @@ $write_vars = {}; my $hide_re = '^_SECRET_|_PASSWORD'; $hide_re .= "|$vars{_HIDE_SECRETS_REGEX}" if $vars{_HIDE_SECRETS_REGEX}; - $write_vars->{$_} = $vars{$_} for (grep !/($hide_re)/, keys %vars); + $write_vars->{$_} = $vars{$_} for grep { !/$hide_re/ } keys %vars; } # make sure the JSON is sorted diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/consoles/s3270.pm new/os-autoinst-5.1781702821.22ced0d/consoles/s3270.pm --- old/os-autoinst-5.1781620242.0160257/consoles/s3270.pm 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/consoles/s3270.pm 2026-06-17 15:27:01.000000000 +0200 @@ -9,6 +9,7 @@ use Data::Dumper 'Dumper'; use YAML::PP 'Dump'; use Carp qw(confess cluck carp croak); +use List::Util 'any'; require IPC::Run; use IPC::Run::Debug; # set IPCRUNDEBUG=data in shell environment for trace use Thread::Queue; @@ -47,7 +48,7 @@ sub send_3270 ($self, $command = '', %arg) { $arg{command_status} //= 'ok'; confess "command_status must be 'ok' or 'error' or 'any', got $arg{command_status}." - unless (grep $arg{command_status}, ['ok', 'error', 'any']); + unless (any { $arg{command_status} eq $_ } qw(ok error any)); $self->{in} .= $command . "\n"; $self->{connection}->IPC::Run::pump until $self->{out} =~ /^(ok|error)/mg; @@ -98,7 +99,7 @@ my $input_line = pop @$co; my @output_area = @$co; - @output_area = grep !/$arg{delete_lines}/, @output_area if defined $arg{delete_lines}; + @output_area = grep { !/$arg{delete_lines}/ } @output_area if defined $arg{delete_lines}; if (@output_area > 0) { $self->{raw_expect_queue}->enqueue(@output_area); @@ -304,7 +305,7 @@ confess "connect to host >$host< failed.\n" . Dump($sent) if $sent->{terminal_status} !~ / C\($host\) /; $self->send_3270('Wait(InputField)'); my $lines = $self->expect_3270(); - confess "doesn't look like zVM login prompt." unless grep /Fill in your USERID and PASSWORD and press ENTER/, @$lines; + confess "doesn't look like zVM login prompt." unless grep { /Fill in your USERID and PASSWORD and press ENTER/ } @$lines; return $lines; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/dist/rpm/os-autoinst-devel-test.spec new/os-autoinst-5.1781702821.22ced0d/dist/rpm/os-autoinst-devel-test.spec --- old/os-autoinst-5.1781620242.0160257/dist/rpm/os-autoinst-devel-test.spec 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/dist/rpm/os-autoinst-devel-test.spec 2026-06-17 15:27:01.000000000 +0200 @@ -25,6 +25,12 @@ BuildRequires: %{short_name} == %{version} ExcludeArch: %{ix86} +# disable os-autoinst-devel-test in consistency with use of `%bcond_with devel_package` +# in the main os-autoinst spec file +%if !(0%{?is_opensuse} && 0%{?suse_version} >= 1600) +ExclusiveArch: do_not_build +%endif + %description . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/distribution.pm new/os-autoinst-5.1781702821.22ced0d/distribution.pm --- old/os-autoinst-5.1781620242.0160257/distribution.pm 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/distribution.pm 2026-06-17 15:27:01.000000000 +0200 @@ -155,7 +155,7 @@ die "Terminator '&' found in script_run call. script_run can not check script success. Use 'background_script_run' instead." if $cmd =~ qr/(?<!\\)&$/; - my $level = $self->_detect_serial_marker_capability(); + my $level = $self->detect_serial_marker_capability(); my $skip_pretty = 0; # Automatically protect against manual serial redirections corrupting pretty markers if ($level > 1 && $cmd =~ m{(?:>|>>|\btee)\s+(?:-a\s+)?/dev/\Q$testapi::serialdev\E\b}) { @@ -570,9 +570,9 @@ }); } -=head2 _detect_serial_marker_capability +=head2 detect_serial_marker_capability - _detect_serial_marker_capability() + detect_serial_marker_capability() Detect the SUT's shell capabilities for pretty serial markers. Returns: @@ -582,7 +582,7 @@ =cut -sub _detect_serial_marker_capability ($self) { +sub detect_serial_marker_capability ($self) { my $console = testapi::current_console(); return 1 unless defined $console; if (my $level = $self->{_serial_marker_level}->{$console}) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/t/05-distribution.t new/os-autoinst-5.1781702821.22ced0d/t/05-distribution.t --- old/os-autoinst-5.1781620242.0160257/t/05-distribution.t 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/t/05-distribution.t 2026-06-17 15:27:01.000000000 +0200 @@ -111,7 +111,7 @@ $mock_testapi->redefine(wait_serial => sub { undef }); $d->{_serial_marker_level} = {}; $typed_string = ''; - is $d->_detect_serial_marker_capability(), 1, 'Fallback to Level 1 if BASH detection fails'; + is $d->detect_serial_marker_capability(), 1, 'Fallback to Level 1 if BASH detection fails'; $d->{_serial_marker_level}->{'test-console'} = 3; $mock_testapi->redefine(wait_serial => sub { undef }); @@ -147,7 +147,7 @@ $d->{_serial_marker_level}->{'test-console'} = 2; $d->invalidate_serial_marker_hook('test-console'); - is $d->_detect_serial_marker_capability(), 2, 'Returns cached level 2'; + is $d->detect_serial_marker_capability(), 2, 'Returns cached level 2'; like $typed, qr/grep -q __oa_prompt.*\. ~\/\.bashrc/, 'Calls install_serial_marker_hook (types consolidated setup with sourcing)'; ok $d->{_serial_marker_hook_installed}->{'test-console'}, 'Hook marked as installed'; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1781620242.0160257/t/39-dewebsockify.t new/os-autoinst-5.1781702821.22ced0d/t/39-dewebsockify.t --- old/os-autoinst-5.1781620242.0160257/t/39-dewebsockify.t 2026-06-16 16:30:42.000000000 +0200 +++ new/os-autoinst-5.1781702821.22ced0d/t/39-dewebsockify.t 2026-06-17 15:27:01.000000000 +0200 @@ -137,7 +137,7 @@ mock_build_ws_tx($mock_ua, 'MockTxFailNoCode'); start_dewebsockify(); accept_client('dummy_socket_1'); - ok grep(/Unable to upgrade to WebSocket connection/, @log_messages), + ok + (grep { /Unable to upgrade to WebSocket connection/ } @log_messages), 'WebSocket upgrade failed without HTTP code'; like $log_messages[-1], qr/Client accepted/, 'First client accepted before failing handshake'; @@ -161,7 +161,7 @@ start_dewebsockify(); accept_client('dummy_socket_1'); - ok grep(/WebSocket connection established/, @log_messages), + ok + (grep { /WebSocket connection established/ } @log_messages), 'WebSocket connection established'; $WS_ON_TEXT->(undef, 'dummy text message'); @@ -169,7 +169,7 @@ $WS_ON_BINARY->(undef, 'dummy binary data'); pass 'Binary message received via WebSocket'; $WS_ON_FINISH->(undef, 1000, 'Normal closure'); - ok grep(/WebSocket closed with status 1000/, @log_messages), + ok + (grep { /WebSocket closed with status 1000/ } @log_messages), 'WebSocket closed as expected'; }; @@ -179,7 +179,7 @@ mock_build_ws_tx($mock_ua, 'MockTxFailWithCode'); start_dewebsockify(); accept_client('dummy_socket_1'); - ok grep(/WebSocket 403 response: Forbidden/, @log_messages), + ok + (grep { /WebSocket 403 response: Forbidden/ } @log_messages), 'WebSocket upgrade failed with error code'; }; @@ -194,10 +194,10 @@ start_dewebsockify(); accept_client('dummy_socket_1'); - ok grep(/WebSocket connection established/, @log_messages), + ok + (grep { /WebSocket connection established/ } @log_messages), 'WebSocket connection established'; $stream_close_cb->('dummy_stream') if $stream_close_cb; - ok grep(/Client closed connection/, @log_messages), + ok + (grep { /Client closed connection/ } @log_messages), 'Client connection closure logged'; }; @@ -215,10 +215,10 @@ start_dewebsockify(); accept_client('dummy_socket_1'); - ok grep(/WebSocket connection established/, @log_messages), + ok + (grep { /WebSocket connection established/ } @log_messages), 'WebSocket connection established'; $stream_error_cb->('dummy_stream', 'Something went wrong') if $stream_error_cb; - ok grep(/Client error: Something went wrong/, @log_messages), + ok + (grep { /Client error: Something went wrong/ } @log_messages), 'Client error was logged'; }; ++++++ os-autoinst.obsinfo ++++++ --- /var/tmp/diff_new_pack.55Ep7e/_old 2026-06-18 18:41:00.389988082 +0200 +++ /var/tmp/diff_new_pack.55Ep7e/_new 2026-06-18 18:41:00.393988249 +0200 @@ -1,5 +1,5 @@ name: os-autoinst -version: 5.1781620242.0160257 -mtime: 1781620242 -commit: 0160257e12a992ea3e50db86210830c8ef9419b4 +version: 5.1781702821.22ced0d +mtime: 1781702821 +commit: 22ced0db810357e853386e7dc6aed23ce4ed5b68
