From 7e034e88c07b58e06330a60dcc15222d8768e823 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Tue, 14 Oct 2025 10:45:56 +0200 Subject: [PATCH] Harden unit tests --- tests/tests/TestBehatTags.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/tests/tests/TestBehatTags.php b/tests/tests/TestBehatTags.php index 77e6b7679..5b3ca49c1 100644 --- a/tests/tests/TestBehatTags.php +++ b/tests/tests/TestBehatTags.php @@ -143,10 +143,30 @@ public function test_behat_tags_php_version(): void { $this->markTestSkipped( "No test for PHP_VERSION $php_version." ); } + $expected .= '&&~@github-api&&~@broken'; + + $db_type = getenv( 'WP_CLI_TEST_DBTYPE' ); + switch ( $db_type ) { + case 'mariadb': + $expected .= '&&~@require-mysql'; + $expected .= '&&~@require-sqlite'; + break; + case 'sqlite': + $expected .= '&&~@require-mariadb'; + $expected .= '&&~@require-mysql'; + $expected .= '&&~@require-mysql-or-mariadb'; + break; + case 'mysql': + default: + $expected .= '&&~@require-mariadb'; + $expected .= '&&~@require-sqlite'; + break; + } + file_put_contents( $this->temp_dir . '/features/php_version.feature', $contents ); $output = exec( "cd {$this->temp_dir}; php $behat_tags" ); - $this->assertSame( '--tags=' . $expected . '&&~@github-api&&~@broken&&~@require-mariadb&&~@require-sqlite', $output ); + $this->assertSame( '--tags=' . $expected, $output ); putenv( false === $env_github_token ? 'GITHUB_TOKEN' : "GITHUB_TOKEN=$env_github_token" ); }