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-03 20:29:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old) and /work/SRC/openSUSE:Factory/.os-autoinst.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst" Wed Jun 3 20:29:00 2026 rev:600 rq:1357012 version:5.1780410333.aed07e0 Changes: -------- --- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2026-06-02 16:04:10.078553182 +0200 +++ /work/SRC/openSUSE:Factory/.os-autoinst.new.1937/os-autoinst.changes 2026-06-03 20:31:13.347102114 +0200 @@ -1,0 +2,11 @@ +Tue Jun 02 15:56:41 UTC 2026 - [email protected] + +- Update to version 5.1780410333.aed07e0: + * fix(test): use linuxboot_dma.bin in 18-backend-qemu.t + * feat: consolidate tidy targets into CMake + * fix: fail explicitly on test module basename collisions + * feat(mouse_drag): use the clickpoints + * test: allow to configure full-stack test output directory + * test: allow shortening long typing in full-stack tests + +------------------------------------------------------------------- Old: ---- os-autoinst-5.1780332012.6ee8da2.obscpio New: ---- os-autoinst-5.1780410333.aed07e0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ os-autoinst-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.pB0Jp7/_old 2026-06-03 20:31:16.567235679 +0200 +++ /var/tmp/diff_new_pack.pB0Jp7/_new 2026-06-03 20:31:16.587236509 +0200 @@ -18,7 +18,7 @@ %define short_name os-autoinst-devel Name: %{short_name}-test -Version: 5.1780332012.6ee8da2 +Version: 5.1780410333.aed07e0 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-openvswitch-test.spec ++++++ --- /var/tmp/diff_new_pack.pB0Jp7/_old 2026-06-03 20:31:16.743242979 +0200 +++ /var/tmp/diff_new_pack.pB0Jp7/_new 2026-06-03 20:31:16.747243145 +0200 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} -Version: 5.1780332012.6ee8da2 +Version: 5.1780410333.aed07e0 Release: 0 Summary: test package for %{short_name} License: GPL-2.0-or-later ++++++ os-autoinst-test.spec ++++++ --- /var/tmp/diff_new_pack.pB0Jp7/_old 2026-06-03 20:31:16.807245634 +0200 +++ /var/tmp/diff_new_pack.pB0Jp7/_new 2026-06-03 20:31:16.811245800 +0200 @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} -Version: 5.1780332012.6ee8da2 +Version: 5.1780410333.aed07e0 Release: 0 Summary: test package for os-autoinst License: GPL-2.0-or-later ++++++ os-autoinst.spec ++++++ --- /var/tmp/diff_new_pack.pB0Jp7/_old 2026-06-03 20:31:16.931250777 +0200 +++ /var/tmp/diff_new_pack.pB0Jp7/_new 2026-06-03 20:31:16.931250777 +0200 @@ -17,7 +17,7 @@ Name: os-autoinst -Version: 5.1780332012.6ee8da2 +Version: 5.1780410333.aed07e0 Release: 0 Summary: OS-level test automation License: GPL-2.0-or-later ++++++ os-autoinst-5.1780332012.6ee8da2.obscpio -> os-autoinst-5.1780410333.aed07e0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/AGENTS.md new/os-autoinst-5.1780410333.aed07e0/AGENTS.md --- old/os-autoinst-5.1780332012.6ee8da2/AGENTS.md 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/AGENTS.md 2026-06-02 16:25:33.000000000 +0200 @@ -12,9 +12,9 @@ ## Conventions -- Code style: Run `tools/tidyall --all` (or `tools/tidyall --git` for changed - files only). This MUST be done before every commit and before claiming - completion. +- Code style: Run `make tidy-perl` (or `tools/tidyall --git` for changed files + only) or `make tidy` to tidy all files (C++, Python, Perl). 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.1780332012.6ee8da2/CMakeLists.txt new/os-autoinst-5.1780410333.aed07e0/CMakeLists.txt --- old/os-autoinst-5.1780332012.6ee8da2/CMakeLists.txt 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/CMakeLists.txt 2026-06-02 16:25:33.000000000 +0200 @@ -285,3 +285,18 @@ COMMAND "${RUFF_PATH}" check --fix . WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) + +# add target for formatting Perl source code +add_custom_target( + tidy-perl + COMMENT "Formatting Perl source code" + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/tidyall" --all + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" +) + +# unified tidy target +add_custom_target( + tidy + COMMENT "Formatting all source code" + DEPENDS tidy-cpp tidy-python tidy-perl +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/README.md new/os-autoinst-5.1780410333.aed07e0/README.md --- old/os-autoinst-5.1780332012.6ee8da2/README.md 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/README.md 2026-06-02 16:25:33.000000000 +0200 @@ -322,10 +322,12 @@ Install files for packaging: `make install DESTDIR=…` -Automatically tidy all perl files: `tools/tidyall` +Automatically tidy all perl files: `make tidy-perl` Tidy all changed perl files: `tools/tidyall --git` +Tidy all files (C++, Python, Perl): `make tidy` + Further notes: - When using the `test-perl-testsuite` target, `ctest` is not used (and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/autotest.pm new/os-autoinst-5.1780410333.aed07e0/autotest.pm --- old/os-autoinst-5.1780332012.6ee8da2/autotest.pm 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/autotest.pm 2026-06-02 16:25:33.000000000 +0200 @@ -27,6 +27,7 @@ our %tests; # scheduled or run tests our @testorder; # for keeping them in order +our %scheduled_basenames; # keep track of scheduled basenames to their script path our $isotovideo; our $process; our $tests_running = 0; @@ -288,6 +289,13 @@ no utf8; # Inline Python fails on utf8, so let's exclude it here my $script_path = find_script($script); my ($name, $category) = parse_test_path($script_path); + + my $abs_path = path($script_path)->to_abs->to_string; + if (exists $scheduled_basenames{$name} && $scheduled_basenames{$name} ne $abs_path) { + die "The test module basename '$name' is already used by '$scheduled_basenames{$name}', but you tried to load it from '$abs_path'. Using the same basename from different directories is not supported.\n"; + } + $scheduled_basenames{$name} = $abs_path; + my ($test, $is_python); my $fullname = "$category-$name"; state %loaded; # keep track of loaded packages diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/08-autotest.t new/os-autoinst-5.1780410333.aed07e0/t/08-autotest.t --- old/os-autoinst-5.1780332012.6ee8da2/t/08-autotest.t 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/t/08-autotest.t 2026-06-02 16:25:33.000000000 +0200 @@ -198,6 +198,7 @@ snapshot_subtest 'always_run flag ensures execution after fatal failure' => sub { local %autotest::tests = (); local @autotest::testorder = (); + local %autotest::scheduled_basenames = (); local $autotest::last_milestone = undef; local $autotest::last_milestone_active_consoles = []; local $autotest::activated_consoles = []; @@ -224,7 +225,7 @@ $vm_stopped = 0; my $output = combined_from { autotest::run_all }; like $output, qr/skipping tests-start#?[0-9]* \(after fatal failure\)/, 'skipped normal test'; - like $output, qr/starting next tests\/next\.pm/, 'executed always_run cleanup test'; + like $output, qr{starting next tests/next\.pm}, 'executed always_run cleanup test'; ($died, $completed) = get_tests_done; is $died, 0, 'tests not considered died'; is $completed, 0, 'tests did not complete successfully'; @@ -356,6 +357,7 @@ subtest 'scheduling rules' => sub { %autotest::tests = (); @autotest::testorder = (); + %autotest::scheduled_basenames = (); $bmwqemu::vars{EXCLUDE_MODULES} = 'start'; autotest::loadtest('tests/start.pm'); @@ -388,6 +390,7 @@ $autotest::tests_running = 0; @autotest::testorder = (); %autotest::tests = (); + %autotest::scheduled_basenames = (); my %json_data; my $json_filename = bmwqemu::result_dir . '/test_order.json'; @@ -430,6 +433,8 @@ } qr{Using python version.*scheduling pythontest tests/pythontest}s, 'python pythontest module referenced'; %autotest::tests = (); + %autotest::scheduled_basenames = (); + loadtest 'pythontest.py'; loadtest 'morepython.py'; my $p1 = $autotest::tests{'tests-pythontest'}; @@ -449,6 +454,7 @@ plan skip_all => 'Inline::Python is not available' unless $has_python; %autotest::tests = (); + %autotest::scheduled_basenames = (); my $targs = OpenQA::Test::RunArgs->new(); $targs->{data} = 23; @@ -459,6 +465,7 @@ plan skip_all => 'Inline::Python is not available' unless $has_python; %autotest::tests = (); + %autotest::scheduled_basenames = (); my $targs = OpenQA::Test::RunArgs->new(); $targs->{data} = 23; @@ -567,6 +574,32 @@ stderr_like { autotest::runalltests } qr/skipping/, 'Skipping Test Run'; }; +subtest 'modules with same filename' => sub { + local %autotest::tests = (); + local @autotest::testorder = (); + local %autotest::scheduled_basenames = (); + local $bmwqemu::vars{CASEDIR} = "$Bin/data/collision"; + stderr_like { autotest::loadtest('tests/dir1/collision.pm') } qr{scheduling collision tests/dir1/collision\.pm}, 'dir1/collision.pm scheduled'; + throws_ok { autotest::loadtest('tests/dir2/collision.pm') } qr{The test module basename 'collision' is already used by '.*tests/dir1/collision\.pm', but you tried to load it from '.*tests/dir2/collision\.pm'}, 'collision detected'; + + ok exists $autotest::tests{'dir1-collision'}, 'dir1/collision scheduled'; + ok !exists $autotest::tests{'dir2-collision'}, 'dir2/collision not scheduled after collision'; +}; + +subtest 'python modules with same filename' => sub { + plan skip_all => 'Inline::Python is not available' unless $has_python; + + local %autotest::tests = (); + local @autotest::testorder = (); + local %autotest::scheduled_basenames = (); + local $bmwqemu::vars{CASEDIR} = "$Bin/data/collision"; + stderr_like { autotest::loadtest('pythontests/dir1/collision.py') } qr{scheduling collision pythontests/dir1/collision\.py}, 'dir1/collision.py scheduled'; + throws_ok { autotest::loadtest('pythontests/dir2/collision.py') } qr{The test module basename 'collision' is already used by '.*pythontests/dir1/collision\.py', but you tried to load it from '.*pythontests/dir2/collision\.py'}, 'collision detected'; + + ok exists $autotest::tests{'dir1-collision'}, 'dir1/collision.py scheduled'; + ok !exists $autotest::tests{'dir2-collision'}, 'dir2/collision.py not scheduled after collision'; +}; + subtest 'start_process' => sub { my $fh = path(\'fake-file')->open('<'); $autotest::isotovideo = $fh; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/18-backend-qemu.t new/os-autoinst-5.1780410333.aed07e0/t/18-backend-qemu.t --- old/os-autoinst-5.1780332012.6ee8da2/t/18-backend-qemu.t 2026-06-01 18:40:12.000000000 +0200 +++ new/os-autoinst-5.1780410333.aed07e0/t/18-backend-qemu.t 2026-06-02 16:25:33.000000000 +0200 @@ -685,7 +685,7 @@ # set certain variables to test special handling for them that is not otherwise tested $bmwqemu::topdir = "$Bin/.."; # for dmi data $bmwqemu::vars{ARCH} = 'x86_64'; - $bmwqemu::vars{KERNEL} = 'linuxboot.bin'; + $bmwqemu::vars{KERNEL} = 'linuxboot_dma.bin'; $bmwqemu::vars{LAPTOP} = '1'; $bmwqemu::vars{BOOT_HDD_IMAGE} = 1; $bmwqemu::vars{MULTIPATH} = 1; @@ -713,7 +713,7 @@ my @invoked_cmds; $backend_mock->redefine(runcmd => sub (@cmd) { push @invoked_cmds, join ' ', @cmd }); 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'; + like $bmwqemu::vars{KERNEL}, qr{/.*/linuxboot_dma\.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'; is $bmwqemu::vars{HDDMODEL}, 'scsi-hd', 'HDDMODEL set for MULTIPATH=1'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/pythontests/dir1/collision.py new/os-autoinst-5.1780410333.aed07e0/t/data/collision/pythontests/dir1/collision.py --- old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/pythontests/dir1/collision.py 1970-01-01 01:00:00.000000000 +0100 +++ new/os-autoinst-5.1780410333.aed07e0/t/data/collision/pythontests/dir1/collision.py 2026-06-02 16:25:33.000000000 +0200 @@ -0,0 +1,2 @@ +def run(self): + return "dir1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/pythontests/dir2/collision.py new/os-autoinst-5.1780410333.aed07e0/t/data/collision/pythontests/dir2/collision.py --- old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/pythontests/dir2/collision.py 1970-01-01 01:00:00.000000000 +0100 +++ new/os-autoinst-5.1780410333.aed07e0/t/data/collision/pythontests/dir2/collision.py 2026-06-02 16:25:33.000000000 +0200 @@ -0,0 +1,2 @@ +def run(self): + return "dir2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/tests/dir1/collision.pm new/os-autoinst-5.1780410333.aed07e0/t/data/collision/tests/dir1/collision.pm --- old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/tests/dir1/collision.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/os-autoinst-5.1780410333.aed07e0/t/data/collision/tests/dir1/collision.pm 2026-06-02 16:25:33.000000000 +0200 @@ -0,0 +1,4 @@ +package collision; +use base 'basetest'; +sub run ($self) { return "dir1" } +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/tests/dir2/collision.pm new/os-autoinst-5.1780410333.aed07e0/t/data/collision/tests/dir2/collision.pm --- old/os-autoinst-5.1780332012.6ee8da2/t/data/collision/tests/dir2/collision.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/os-autoinst-5.1780410333.aed07e0/t/data/collision/tests/dir2/collision.pm 2026-06-02 16:25:33.000000000 +0200 @@ -0,0 +1,4 @@ +package collision; +use base 'basetest'; +sub run ($self) { return "dir2" } +1; ++++++ os-autoinst.obsinfo ++++++ --- /var/tmp/diff_new_pack.pB0Jp7/_old 2026-06-03 20:31:19.671364433 +0200 +++ /var/tmp/diff_new_pack.pB0Jp7/_new 2026-06-03 20:31:19.679364764 +0200 @@ -1,5 +1,5 @@ name: os-autoinst -version: 5.1780332012.6ee8da2 -mtime: 1780332012 -commit: 6ee8da2b6ee5c5f5c0a30581cc3a0b42ab5a8224 +version: 5.1780410333.aed07e0 +mtime: 1780410333 +commit: aed07e085876541a8af6f10dc46a2df04ef597f2
