Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2026-09-22 20:30:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Tue Sep 22 20:30:18 2026 rev:881 rq:1379697 version:5.1790071740.8a090f85

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-09-22 
15:51:02.821821112 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.383539/openQA.changes        
2026-09-22 20:30:31.766129023 +0200
@@ -1,0 +2,11 @@
+Tue Sep 22 10:09:15 UTC 2026 - [email protected]
+
+- Update to version 5.1790071740.8a090f85:
+  * chore(deps): Dependency cron 2026-09-22
+  * fix(packaging): skip fixture test on SLE <= 1500
+  * feat(workers): Add worker reservation system
+  * feat(dev): introduce mock test environment
+  * fix: Fix typo in NGINX config
+  * fix: Include missing `PATCH` in rate limiting config example
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1790003470.1faa32c9.obscpio

New:
----
  openQA-5.1790071740.8a090f85.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:35.732295311 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:35.735295437 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1790003470.1faa32c9
+Version:        5.1790071740.8a090f85
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:35.801298204 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:35.804298330 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1790003470.1faa32c9
+Version:        5.1790071740.8a090f85
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:35.874301265 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:35.876301348 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1790003470.1faa32c9
+Version:        5.1790071740.8a090f85
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:35.952304535 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:35.955304661 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1790003470.1faa32c9
+Version:        5.1790071740.8a090f85
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:36.020307386 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:36.025307596 +0200
@@ -104,7 +104,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1790003470.1faa32c9
+Version:        5.1790071740.8a090f85
 Release:        0
 Summary:        Framework for automated system-level testing (web-frontend, 
scheduler and tools)
 Group:          Development/Tools/Other
@@ -406,6 +406,11 @@
     t/43-scheduling-and-worker-scalability.t \
     t/ui/*.t
 
+%if 0%{?suse_version} <= 1500
+# Python 3.6 on older SLE versions does not support capture_output used by 
init-test-fixtures
+rm t/44-init-test-fixtures.t
+%endif
+
 # "CI" set with longer timeouts as needed for higher performance variations
 # within CI systems, e.g. OBS. See t/lib/OpenQA/Test/TimeLimit.pm
 export CI=1

++++++ openQA-5.1790003470.1faa32c9.obscpio -> 
openQA-5.1790071740.8a090f85.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1790003470.1faa32c9/Makefile 
new/openQA-5.1790071740.8a090f85/Makefile
--- old/openQA-5.1790003470.1faa32c9/Makefile   2026-09-21 17:11:10.000000000 
+0200
+++ new/openQA-5.1790071740.8a090f85/Makefile   2026-09-22 12:09:00.000000000 
+0200
@@ -329,6 +329,24 @@
        $(call RUN_SERVICE_TEST_ENV,script/openqa-gru) & \
        wait
 
+.PHONY: load-test-fixtures
+load-test-fixtures: setup-database ## Load standard mock fixtures into the 
test database
+       $(call RUN_SERVICE_TEST_ENV,tools/init-test-fixtures)
+
+.PHONY: run-webui-mock-env
+run-webui-mock-env: load-test-fixtures ## Run a local web UI instance 
pre-loaded with mock fixtures
+       $(call RUN_SERVICE_TEST_ENV,script/openqa-webui-daemon)
+
+.PHONY: run-mock-env
+run-mock-env: load-test-fixtures ## Run all local test services pre-loaded 
with mock fixtures
+       trap 'kill 0' SIGINT SIGTERM; \
+       $(call RUN_SERVICE_TEST_ENV,script/openqa-webui-daemon) & \
+       $(call RUN_SERVICE_TEST_ENV,script/openqa-websockets-daemon) & \
+       $(call RUN_SERVICE_TEST_ENV,script/openqa-scheduler-daemon) & \
+       $(call RUN_SERVICE_TEST_ENV,script/worker) & \
+       $(call RUN_SERVICE_TEST_ENV,script/openqa-gru) & \
+       wait
+
 .PHONY: run-webui-test-env
 run-webui-test-env: setup-database ## Run a local web UI instance using a test 
environment
        $(call RUN_SERVICE_TEST_ENV,script/openqa-webui-daemon)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1790003470.1faa32c9/dist/rpm/openQA.spec 
new/openQA-5.1790071740.8a090f85/dist/rpm/openQA.spec
--- old/openQA-5.1790003470.1faa32c9/dist/rpm/openQA.spec       2026-09-21 
17:11:10.000000000 +0200
+++ new/openQA-5.1790071740.8a090f85/dist/rpm/openQA.spec       2026-09-22 
12:09:00.000000000 +0200
@@ -407,6 +407,11 @@
     t/43-scheduling-and-worker-scalability.t \
     t/ui/*.t
 
+%if 0%{?suse_version} <= 1500
+# Python 3.6 on older SLE versions does not support capture_output used by 
init-test-fixtures
+rm t/44-init-test-fixtures.t
+%endif
+
 # "CI" set with longer timeouts as needed for higher performance variations
 # within CI systems, e.g. OBS. See t/lib/OpenQA/Test/TimeLimit.pm
 export CI=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1790003470.1faa32c9/t/44-init-test-fixtures.t 
new/openQA-5.1790071740.8a090f85/t/44-init-test-fixtures.t
--- old/openQA-5.1790003470.1faa32c9/t/44-init-test-fixtures.t  1970-01-01 
01:00:00.000000000 +0100
+++ new/openQA-5.1790071740.8a090f85/t/44-init-test-fixtures.t  2026-09-22 
12:09:00.000000000 +0200
@@ -0,0 +1,54 @@
+#!/usr/bin/env perl
+# Copyright SUSE LLC
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+use Test::Most;
+use Mojo::Base -signatures;
+use Test::Warnings ':report_warnings';
+use List::Util qw(uniq);
+
+use FindBin '$Bin';
+use lib "$FindBin::Bin/lib", 
"$FindBin::Bin/../external/os-autoinst-common/lib";
+use OpenQA::Test::TimeLimit '20';
+use OpenQA::Test::Database;
+
+my $schema_name = OpenQA::Test::Database::generate_schema_name;
+$ENV{OPENQA_DATABASE} = 'test';
+$ENV{OPENQA_DATABASE_SEARCH_PATH} = $schema_name;
+
+my $schema = OpenQA::Schema::connect_db(deploy => 0, silent => 
$ENV{HARNESS_IS_VERBOSE} ? 0 : 1, from_script => 1);
+$schema->storage->dbh->do(qq{create schema "$schema_name"});
+
+my $cmd = "$Bin/../tools/init-test-fixtures";
+
+subtest 'run with default fixtures and verify database population' => sub {
+    my $output = qx{"$cmd" 2>&1};
+    is $?, 0, 'command exited with zero return code';
+    like $output, qr/openQA interactive test environment has been 
initialized/i, 'success header printed';
+    like $output, qr/Database resets and schema deployed onto 
'$schema_name'/i, 'correct schema reported';
+
+    ok $schema->resultset('Users')->find({username => 'Demo'}), 'Demo user 
from 03-users.pl exists in database';
+    ok $schema->resultset('Jobs')->find({id => 80000}), 'Standard jobs from 
01-jobs.pl are populated';
+
+    my $assets = $schema->resultset('Assets');
+    ok $assets->count > 0, 'Assets table is populated';
+    is_deeply [uniq map { $_->size } $assets->all], [0], 
'assume_all_assets_exist sets all asset sizes to 0';
+};
+
+subtest 'run with custom fixtures subset' => sub {
+    my $output = qx{"$cmd" --fixtures="03-users.pl" 2>&1};
+    is $?, 0, 'command exited with zero return code';
+    like $output, qr/Loaded fixtures matching: 03-users\.pl/i, 'custom fixture 
glob reported';
+};
+
+subtest 'run with help option' => sub {
+    my $output = qx{"$cmd" --help 2>&1};
+    is $?, 0, 'command exited with zero return code';
+    like $output, qr/Usage:/i, 'usage information displayed';
+    like $output, qr/--fixtures/i, 'fixtures option documented';
+};
+
+$schema->storage->dbh->do('SET client_min_messages TO WARNING');
+$schema->storage->dbh->do(qq{drop schema "$schema_name" cascade});
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1790003470.1faa32c9/t/lib/init-test-fixtures.pl 
new/openQA-5.1790071740.8a090f85/t/lib/init-test-fixtures.pl
--- old/openQA-5.1790003470.1faa32c9/t/lib/init-test-fixtures.pl        
1970-01-01 01:00:00.000000000 +0100
+++ new/openQA-5.1790071740.8a090f85/t/lib/init-test-fixtures.pl        
2026-09-22 12:09:00.000000000 +0200
@@ -0,0 +1,29 @@
+#!/usr/bin/env perl
+
+# Copyright SUSE LLC
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+use Mojo::Base -signatures;
+use lib 'lib', 't/lib', 'external/os-autoinst-common/lib';
+use OpenQA::Schema;
+use OpenQA::Test::Database;
+use OpenQA::Test::Utils qw(assume_all_assets_exist);
+
+my $schema = OpenQA::Schema::connect_db(mode => 'test', deploy => 0);
+my $schema_name = $ENV{OPENQA_DATABASE_SEARCH_PATH} // 'public';
+
+if ($ENV{RESET_SCHEMA}) {
+    my $dbh = $schema->storage->dbh;
+    $dbh->do('SET client_min_messages TO WARNING');
+    $dbh->do("DROP SCHEMA IF EXISTS \"$schema_name\" CASCADE");
+    $dbh->do("CREATE SCHEMA \"$schema_name\"");
+}
+
+# Deploy schema and insert fixtures
+OpenQA::Test::Database->new->create(
+    skip_schema => 1,
+    fixtures_glob => $ENV{FIXTURES_GLOB} // '*.pl',
+);
+
+# Configure mock assets to avoid 404s/warnings
+assume_all_assets_exist();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1790003470.1faa32c9/tools/ci/autoinst.sha 
new/openQA-5.1790071740.8a090f85/tools/ci/autoinst.sha
--- old/openQA-5.1790003470.1faa32c9/tools/ci/autoinst.sha      2026-09-21 
17:11:10.000000000 +0200
+++ new/openQA-5.1790071740.8a090f85/tools/ci/autoinst.sha      2026-09-22 
12:09:00.000000000 +0200
@@ -1 +1 @@
-5.044000-93a96a0e188f2d021df61fad35f78b73ba9f0464
\ No newline at end of file
+5.044000-465c975b2356744070591e7333d2950f28b8f49f
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1790003470.1faa32c9/tools/init-test-fixtures 
new/openQA-5.1790071740.8a090f85/tools/init-test-fixtures
--- old/openQA-5.1790003470.1faa32c9/tools/init-test-fixtures   1970-01-01 
01:00:00.000000000 +0100
+++ new/openQA-5.1790071740.8a090f85/tools/init-test-fixtures   2026-09-22 
12:09:00.000000000 +0200
@@ -0,0 +1,118 @@
+#!/usr/bin/env python3
+
+# Copyright SUSE LLC
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# ruff: file-ignore[print]
+
+"""Helper tool to initialize the openQA developer test environment with 
fixtures."""
+
+import argparse
+import os
+import subprocess  # ruff: ignore[suspicious-subprocess-import]
+import sys
+from pathlib import Path
+
+try:
+    from argparse import BooleanOptionalAction
+except ImportError:  # pragma: no cover
+    BooleanOptionalAction = None
+
+
+def init(*, fixtures: str = "*.pl", reset: bool = True, silent: bool = False) 
-> None:
+    """Initialize or reset the openQA test database with standard fixtures and 
mock assets."""
+    # Ensure t/fixtures exists
+    fixtures_dir = Path("t/fixtures")
+    if not fixtures_dir.exists():
+        print(f"Error: Fixtures directory {fixtures_dir} not found.", 
file=sys.stderr)
+        sys.exit(1)
+
+    schema_name = os.environ.get("OPENQA_DATABASE_SEARCH_PATH", "public")
+
+    if not silent:
+        if reset:
+            print(f"Resetting schema '{schema_name}'...")
+        print(f"Deploying schema and loading fixtures from '{fixtures}'...")
+
+    # We use a Perl script invoked via subprocess.
+    # This ensures compatibility with openQA's DBIC schema, connections, and 
fixture files.
+    env = os.environ.copy()
+    env["FIXTURES_GLOB"] = fixtures
+    env["RESET_SCHEMA"] = "1" if reset else "0"
+
+    try:
+        # Run Perl with the standalone backend script
+        subprocess.run(
+            ["/usr/bin/perl", "t/lib/init-test-fixtures.pl"],
+            env=env,
+            check=True,
+            capture_output=silent,
+            text=True,
+        )
+    except subprocess.CalledProcessError as e:
+        print("Error: Failed to initialize test fixtures.", file=sys.stderr)
+        if e.stderr:
+            print(e.stderr, file=sys.stderr)
+        sys.exit(e.returncode)
+
+    if not silent:
+        
print("\n========================================================================")
+        print("  openQA interactive test environment has been initialized")
+        
print("========================================================================\n")
+        print(f"  Database resets and schema deployed onto '{schema_name}'.")
+        print(f"  Loaded fixtures matching: {fixtures}")
+        print("  Mock assets activated.\n")
+        print("  You can interact with the local Web UI using the following 
links:")
+        print("    - Home/Overview:  http://localhost:9526/";)
+        print("    - Test Results:   http://localhost:9526/tests/overview";)
+        print("    - Sample Details:  http://localhost:9526/tests/99981";)
+        print("    - Admin Workers:  http://localhost:9526/admin/workers\n";)
+        print("  Authentication Info:")
+        print("    - Click 'Login' in the top-right corner to log in 
automatically")
+        print("      as the 'Demo' user (who has administrator/operator 
rights).\n")
+        
print("========================================================================\n")
+
+
+def main() -> None:
+    """Parse command-line arguments and run fixture initialization."""
+    parser = argparse.ArgumentParser(description="Initialize the openQA 
developer test environment with fixtures.")
+    parser.add_argument(
+        "--fixtures",
+        "-f",
+        default="*.pl",
+        help="Specify fixture files to load (default: '*.pl')",
+    )
+    if BooleanOptionalAction:
+        parser.add_argument(
+            "--reset",
+            action=BooleanOptionalAction,
+            default=True,
+            help="Drop and recreate the schema before populating (default: 
True)",
+        )
+    else:
+        parser.add_argument(
+            "--reset",
+            dest="reset",
+            action="store_true",
+            default=True,
+            help="Drop and recreate the schema before populating (default: 
True)",
+        )
+        parser.add_argument(
+            "--no-reset",
+            dest="reset",
+            action="store_false",
+            help="Do not drop and recreate the schema before populating",
+        )
+    parser.add_argument(
+        "--silent",
+        "-s",
+        action="store_true",
+        default=False,
+        help="Suppress summary and status output",
+    )
+    args = parser.parse_args()
+    init(fixtures=args.fixtures, reset=args.reset, silent=args.silent)
+
+
+if __name__ == "__main__":
+    main()

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.c9BlNX/_old  2026-09-22 20:30:47.912805997 +0200
+++ /var/tmp/diff_new_pack.c9BlNX/_new  2026-09-22 20:30:47.916806165 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1790003470.1faa32c9
-mtime: 1790003470
-commit: 1faa32c95ab561016361f929f75cbf595f8f2659
+version: 5.1790071740.8a090f85
+mtime: 1790071740
+commit: 8a090f85ada2a17a6c9a043e71f9d1fb3a20a268
 

Reply via email to