Make WordPress Core

Changeset 57684


Ignore:
Timestamp:
02/21/2024 06:59:57 PM (3 months ago)
Author:
costdev
Message:

Tests: Query mariadb.org instead of mariadb.com in README test.

The test_readme_mariadb_version() test method has been experiencing HTTP failures that result in test and CI failures.

This switches to mariadb.org which may result in more stable test runs.

Some additional safety assertions are also included.

Props hellofromTonya, SergeyBiryukov, costdev.
See #59647.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/readme.php

    r56982 r57684  
    7070        $readme = file_get_contents( ABSPATH . 'readme.html' );
    7171
    72         preg_match( '#Recommendations.*MariaDB</a> version <strong>([0-9.]*)#s', $readme, $matches );
    73         $matches[1] = str_replace( '.', '', $matches[1] );
     72        preg_match( '#Recommendations.*MariaDB</a> version <strong>([0-9.]*)#s', $readme, $recommended );
     73        $this->assertCount( 2, $recommended, 'The recommended version was not matched.' );
    7474
    75         $response_body = $this->get_response_body( "https://mariadb.com/kb/en/release-notes-mariadb-{$matches[1]}-series/" );
     75        $all_releases       = $this->get_response_body( 'https://mariadb.org/mariadb/all-releases/' );
     76        $recommended_regex  = str_replace( '.', '\.', $recommended[1] ) . '\.\d{1,2}'; // Examples: 10.4.1 or 10.4.22
     77        $release_date_regex = '(\d{4}-\d{2}-\d{2})'; // Example: 2024-01-01
    7678
    7779        // Retrieve the date of the first stable release for the recommended branch.
    78         preg_match( '#.*Stable.*?(\d{2} [A-Za-z]{3} \d{4})#s', $response_body, $mariadb_matches );
     80        preg_match( "#{$recommended_regex}.*?{$release_date_regex}#", $all_releases, $release_date );
     81        $this->assertCount( 2, $release_date, 'The release date was not matched.' );
    7982
    8083        // Per https://mariadb.org/about/#maintenance-policy, MariaDB releases are supported for 5 years.
    81         $mariadb_eol  = gmdate( 'Y-m-d', strtotime( $mariadb_matches[1] . ' +5 years' ) );
     84        $mariadb_eol  = gmdate( 'Y-m-d', strtotime( $release_date[1] . ' +5 years' ) );
    8285        $current_date = gmdate( 'Y-m-d' );
    8386
Note: See TracChangeset for help on using the changeset viewer.