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-03-05 17:15:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old) and /work/SRC/openSUSE:Factory/.os-autoinst.new.561 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst" Thu Mar 5 17:15:23 2026 rev:570 rq:1336624 version:5.1772663930.9a9bd7d Changes: -------- --- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2026-02-27 17:10:15.524984811 +0100 +++ /work/SRC/openSUSE:Factory/.os-autoinst.new.561/os-autoinst.changes 2026-03-05 17:23:45.900110130 +0100 @@ -1,0 +2,11 @@ +Thu Mar 05 00:12:06 UTC 2026 - [email protected] + +- Update to version 5.1772663930.9a9bd7d: + * feat: add EXIT_AFTER_MODULE to stop after a specified module + * fix: Update gre_tunnel_preup script to support NetworkManager + * feat: Handle timeout when typing command in `background_script_run` + * feat: Allow opting-out of check when typing command in `script_run` + * feat: Handle timeout when typing command in `script_run` + * test: implement conventional commits check with gitlint + +------------------------------------------------------------------- Old: ---- os-autoinst-5.1772097392.f4e2912.obscpio New: ---- os-autoinst-5.1772663930.9a9bd7d.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ os-autoinst-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.V6X3WJ/_old 2026-03-05 17:23:47.336169850 +0100 +++ /var/tmp/diff_new_pack.V6X3WJ/_new 2026-03-05 17:23:47.344170182 +0100 @@ -18,7 +18,7 @@ %define short_name os-autoinst-devel Name: %{short_name}-test -Version: 5.1772097392.f4e2912 +Version: 5.1772663930.9a9bd7d Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-openvswitch-test.spec ++++++ --- /var/tmp/diff_new_pack.V6X3WJ/_old 2026-03-05 17:23:47.380171679 +0100 +++ /var/tmp/diff_new_pack.V6X3WJ/_new 2026-03-05 17:23:47.384171846 +0100 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} -Version: 5.1772097392.f4e2912 +Version: 5.1772663930.9a9bd7d Release: 0 Summary: test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-test.spec ++++++ --- /var/tmp/diff_new_pack.V6X3WJ/_old 2026-03-05 17:23:47.428173675 +0100 +++ /var/tmp/diff_new_pack.V6X3WJ/_new 2026-03-05 17:23:47.428173675 +0100 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} -Version: 5.1772097392.f4e2912 +Version: 5.1772663930.9a9bd7d Release: 0 Summary: test package for os-autoinst License: GPL-2.0-or-later ++++++ os-autoinst.spec ++++++ --- /var/tmp/diff_new_pack.V6X3WJ/_old 2026-03-05 17:23:47.476175672 +0100 +++ /var/tmp/diff_new_pack.V6X3WJ/_new 2026-03-05 17:23:47.480175838 +0100 @@ -17,7 +17,7 @@ Name: os-autoinst -Version: 5.1772097392.f4e2912 +Version: 5.1772663930.9a9bd7d Release: 0 Summary: OS-level test automation License: GPL-2.0-or-later ++++++ os-autoinst-5.1772097392.f4e2912.obscpio -> os-autoinst-5.1772663930.9a9bd7d.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/OpenQA/Isotovideo/Interface.pm new/os-autoinst-5.1772663930.9a9bd7d/OpenQA/Isotovideo/Interface.pm --- old/os-autoinst-5.1772097392.f4e2912/OpenQA/Isotovideo/Interface.pm 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/OpenQA/Isotovideo/Interface.pm 2026-03-04 23:38:50.000000000 +0100 @@ -9,7 +9,7 @@ # -> increment on every change of such APIs # -> never move that variable to another place (when refactoring) # because it may be accessed by the tests itself -our $version = 48; +our $version = 49; # major version of the (web socket) API relevant to the developer mode # -> increment when making non-backward compatible changes to that API diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/basetest.pm new/os-autoinst-5.1772663930.9a9bd7d/basetest.pm --- old/os-autoinst-5.1772097392.f4e2912/basetest.pm 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/basetest.pm 2026-03-04 23:38:50.000000000 +0100 @@ -12,6 +12,7 @@ use ocr; use testapi (); use autotest (); +use List::Util 'any'; use MIME::Base64 'decode_base64'; use OpenQA::Exceptions; use Mojo::File 'path'; @@ -99,6 +100,9 @@ return 0 unless ($included{$self->{class}} || $included{$self->{fullname}}); } + if (my $exit_after = $bmwqemu::vars{EXIT_AFTER_MODULE}) { + return 0 if any { $_->{class} eq $exit_after || $_->{fullname} eq $exit_after } @autotest::testorder; + } return 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/distribution.pm new/os-autoinst-5.1772663930.9a9bd7d/distribution.pm --- old/os-autoinst-5.1772097392.f4e2912/distribution.pm 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/distribution.pm 2026-03-04 23:38:50.000000000 +0100 @@ -6,6 +6,7 @@ use Mojo::Base -strict, -signatures; use testapi (); +use log 'fctwarn'; use Carp 'croak'; sub new ($class, @) { @@ -102,6 +103,8 @@ testapi::enter_cmd('kbdrate -s -d99999'); } +sub _handle_cmd_typing_error ($cmd, $args) { ($args->{check_typing_cmd} // 1 ? \&croak : \&fctwarn)->("typing command '$cmd' timed out") } + =head2 script_run script_run($cmd [, timeout => $timeout] [, output => $output] [,quiet => $quiet] [,max_interval => $max_interval]) @@ -132,6 +135,7 @@ my %args = testapi::compat_args( { timeout => $bmwqemu::default_timeout, + check_typing_cmd => 1, output => '', quiet => undef, max_interval => testapi::DEFAULT_MAX_INTERVAL @@ -148,7 +152,8 @@ my $marker = "; echo $str-\$?-" . ($args{output} ? "Comment: $args{output}" : ''); if (testapi::is_serial_terminal) { testapi::type_string($marker, max_interval => $args{max_interval}); - testapi::wait_serial($cmd . $marker, no_regex => 1, quiet => $args{quiet}, buffer_size => length($cmd) + 128); + testapi::wait_serial($cmd . $marker, no_regex => 1, quiet => $args{quiet}, buffer_size => length($cmd) + 128) + or _handle_cmd_typing_error($cmd, \%args); testapi::type_string("\n", max_interval => $args{max_interval}); } else { @@ -190,7 +195,7 @@ my $marker = "& echo $str-\$!-" . ($args{output} ? "Comment: $args{output}" : ''); if (testapi::is_serial_terminal) { testapi::type_string($marker); - testapi::wait_serial($cmd . $marker, no_regex => 1, quiet => $args{quiet}); + testapi::wait_serial($cmd . $marker, no_regex => 1, quiet => $args{quiet}) or _handle_cmd_typing_error($cmd, \%args); testapi::type_string("\n"); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/doc/backend_vars.asciidoc new/os-autoinst-5.1772663930.9a9bd7d/doc/backend_vars.asciidoc --- old/os-autoinst-5.1772097392.f4e2912/doc/backend_vars.asciidoc 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/doc/backend_vars.asciidoc 2026-03-04 23:38:50.000000000 +0100 @@ -12,6 +12,7 @@ WHEELS_DIR;string;;Absolute or relative path to the directory wheels are stored in if `CASEDIR` contains a `wheels.yaml`. Defaults to the working directory of `isotovideo`. Relative paths are considered relative to the working directory of `isotovideo`. INCLUDE_MODULES;string;;comma separated names or fullnames of test modules to be included while excluding all that do not match, e.g. "boot,mod1" EXCLUDE_MODULES;string;;comma separated names or fullnames of test modules to exclude. Can be combined with INCLUDE_MODULES and has precedence, e.g. to additionally exclude modules based on an include-list +EXIT_AFTER_MODULE;string;;name or fullname of test module after which the schedule will stop SCHEDULE;string;;comma, space or newline separated list of relative paths to test modules within CASEDIR to be scheduled instead of evaluating a schedule from the test distributions main.pm file, e.g. "boot,console/mod1". Test modules can be specified without the implicit file extension '.pm'. _EXIT_AFTER_SCHEDULE;boolean;0;Exit test execution immediately after evaluation of the test schedule, e.g. to check only which test modules would be executed _SKIP_POST_FAIL_HOOKS;boolean;0;Skip the execution of post_fail_hook methods if set. This can be useful to save test execution time during test development when the post_fail_hook is not expected to provide any value as most likely the test developer already knows what needs to be done as a next step on a test fail. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/t/05-distribution.t new/os-autoinst-5.1772663930.9a9bd7d/t/05-distribution.t --- old/os-autoinst-5.1772097392.f4e2912/t/05-distribution.t 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/t/05-distribution.t 2026-03-04 23:38:50.000000000 +0100 @@ -6,6 +6,7 @@ use Test::Most; use Mojo::Base -strict, -signatures; use Test::Warnings qw(:all :report_warnings); +use Test::Output qw(combined_like); use Test::MockModule; use FindBin '$Bin'; use lib "$Bin/../external/os-autoinst-common/lib"; @@ -34,8 +35,8 @@ lives_ok { $d->script_run('foo\&') } 'escaped terminator is accepted'; lives_ok { $d->script_run('foo && bar') } 'AND operator is accepted'; lives_ok { $d->script_run('foo "x&"') } 'quoted & is accepted'; - $mock_testapi->redefine(wait_serial => sub { - my $regexp = shift; + my $wait_serial_res = 1; + $mock_testapi->redefine(wait_serial => sub ($regexp, @args) { push @wait_serial_calls, { regexp => $regexp, timeout => 90, @@ -44,8 +45,9 @@ no_regex => 0, buffer_size => undef, record_output => undef, - @_ + @args }; + return $wait_serial_res; }); $mock_testapi->redefine(is_serial_terminal => 1); $d->script_run('short_command'); @@ -58,6 +60,14 @@ $d->script_run('long_command' x 512); $cmdcall = $wait_serial_calls[1]; is $cmdcall->{buffer_size}, 6272, 'appropriate buffer size used for long command'; + + $wait_serial_res = 0; + @wait_serial_calls = (); + throws_ok { $d->script_run('foo') } qr/typing command 'foo' timed out/, 'timeout while typing command handled'; + + @wait_serial_calls = (); + combined_like { $d->script_run('foo', check_typing_cmd => 0) } + qr/typing command 'foo' timed out/, 'timeout while typing command just logged when opted-out'; }; subtest 'set expected serial and autoinst failures' => sub { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1772097392.f4e2912/t/17-basetest.t new/os-autoinst-5.1772663930.9a9bd7d/t/17-basetest.t --- old/os-autoinst-5.1772097392.f4e2912/t/17-basetest.t 2026-02-26 10:16:32.000000000 +0100 +++ new/os-autoinst-5.1772663930.9a9bd7d/t/17-basetest.t 2026-03-04 23:38:50.000000000 +0100 @@ -126,6 +126,19 @@ ok($basetest->is_applicable, 'a passlisted module shows up'); $bmwqemu::vars{EXCLUDE_MODULES} = 'foo'; ok(!$basetest->is_applicable, 'passlisted modules are overridden by blocklist'); + $bmwqemu::vars{EXCLUDE_MODULES} = ''; + $bmwqemu::vars{EXIT_AFTER_MODULE} = 'foo'; + ok($basetest->is_applicable, 'matching module itself is still applicable'); + @autotest::testorder = ($basetest); + ok(!$basetest->is_applicable, 'after matching module, it is not applicable anymore'); + my $other = basetest->new('installation'); + $other->{class} = 'bar'; + $other->{fullname} = 'installation-bar'; + ok(!$other->is_applicable, 'any other module after matching module is not applicable'); + $bmwqemu::vars{EXIT_AFTER_MODULE} = 'installation-foo'; + ok(!$other->is_applicable, 'matches fullname too'); + $bmwqemu::vars{EXIT_AFTER_MODULE} = ''; + @autotest::testorder = (); }; subtest parse_serial_output => sub { ++++++ os-autoinst.obsinfo ++++++ --- /var/tmp/diff_new_pack.V6X3WJ/_old 2026-03-05 17:23:50.076283801 +0100 +++ /var/tmp/diff_new_pack.V6X3WJ/_new 2026-03-05 17:23:50.088284300 +0100 @@ -1,5 +1,5 @@ name: os-autoinst -version: 5.1772097392.f4e2912 -mtime: 1772097392 -commit: f4e2912b3e2c695c12ba672baafbdc914f19cfdd +version: 5.1772663930.9a9bd7d +mtime: 1772663930 +commit: 9a9bd7de7a66abee35e6b6023dbab76616c81c5a
