Project

General

Profile

Actions

action #120918

closed

[qe-core][opensuse] test fails in php_mysql: check_version('>=10.4') treats version 10.10 as 'lower'

Added by dimstar about 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
Bugs in existing tests
Start date:
2022-11-24
Due date:
% Done:

0%

Estimated time:
Difficulty:
Sprint:
QE-Core: January Sprint (Jan 11 - Feb 08)

Description

Observation

Mariadb was updated to version 10.10. openQA now reports authentication failures in the php_mysql tests.
The issue seems to be that this code returns the wrong outcome:

    my $mysql_version = script_output qq{mysql -sN -u root -e "SELECT VERSION();"};
    if (check_version('>=10.4', $mysql_version)) {
        # MariaDB changed the default authentication method since version 10.4
        # https://mariadb.org/authentication-in-mariadb-10-4/
        # https://bugzilla.suse.com/show_bug.cgi?id=1165151
        my $mysql_root_password = "ALTER USER root\@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD(\'\');";
        assert_script_run qq{mysql -u root -e "$mysql_root_password"};
    }
    record_info($mysql_version);

So, openQA knows that when a version >= 10.4 is in use, we need to set a root password; but check_version treats 10.10 as < 10.4

openQA test in scenario opensuse-Tumbleweed-DVD-x86_64-extra_tests_webserver@64bit fails in
php_mysql

Test suite description

Reproducible

Fails since (at least) Build 20221123

Expected result

Last good: 20221122 (or more recent)

Further details

Always latest result in this scenario: latest

Suggestions

  • Start by adding the test case in the unit tests for check_version
  • Consider depending more on version module to properly parse versions.
Actions

Also available in: Atom PDF