Skip to content

Commit 865e672

Browse files
committed
Add less than support
1 parent ef382ce commit 865e672

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

tests/tests/TestBehatTags.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,17 +200,19 @@ public function test_behat_tags_db_version(): void {
200200
$behat_tags = dirname( dirname( __DIR__ ) ) . '/utils/behat-tags.php';
201201
require $behat_tags;
202202
// @phpstan-ignore-next-line
203-
$minimum_db_version = get_db_version() . '.1';
203+
$db_version = get_db_version();
204+
$minimum_db_version = $db_version . '.1';
204205

205206
$contents = '';
206207
$expecteds = array();
207208

208209
switch ( $db_type ) {
209210
case 'mariadb':
210-
$contents = "@require-mariadb-$minimum_db_version";
211+
$contents = "@require-mariadb-$minimum_db_version @less-than-mariadb-$db_version";
211212
$expecteds[] = '~@require-mysql';
212213
$expecteds[] = '~@require-sqlite';
213214
$expecteds[] = "~@require-mariadb-$minimum_db_version";
215+
$expecteds[] = "~@require-mariadb-$db_version";
214216
break;
215217
case 'sqlite':
216218
$expecteds[] = '~@require-mariadb';
@@ -219,10 +221,11 @@ public function test_behat_tags_db_version(): void {
219221
break;
220222
case 'mysql':
221223
default:
222-
$contents = "@require-mysql-$minimum_db_version";
224+
$contents = "@require-mysql-$minimum_db_version @less-than-mysql-$db_version";
223225
$expecteds[] = '~@require-mariadb';
224226
$expecteds[] = '~@require-sqlite';
225227
$expecteds[] = "~@require-mysql-$minimum_db_version";
228+
$expecteds[] = "~@require-mysql-$db_version";
226229
break;
227230
}
228231

utils/behat-tags.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,16 @@ function get_db_version() {
8484
$skip_tags[] = '@broken-trunk';
8585
}
8686

87+
$db_version = get_db_version();
88+
8789
switch ( getenv( 'WP_CLI_TEST_DBTYPE' ) ) {
8890
case 'mariadb':
89-
$skip_tags = array_merge( $skip_tags, [ '@require-mysql', '@require-sqlite' ], version_tags( 'require-mariadb', get_db_version(), '<', $features_folder ) );
91+
$skip_tags = array_merge(
92+
$skip_tags,
93+
[ '@require-mysql', '@require-sqlite' ],
94+
version_tags( 'require-mariadb', $db_version, '<', $features_folder ),
95+
version_tags( 'less-than-mariadb', $db_version, '>=', $features_folder )
96+
);
9097
break;
9198
case 'sqlite':
9299
$skip_tags[] = '@require-mariadb';
@@ -95,7 +102,12 @@ function get_db_version() {
95102
break;
96103
case 'mysql':
97104
default:
98-
$skip_tags = array_merge( $skip_tags, [ '@require-mariadb', '@require-sqlite' ], version_tags( 'require-mysql', get_db_version(), '<', $features_folder ) );
105+
$skip_tags = array_merge(
106+
$skip_tags,
107+
[ '@require-mariadb', '@require-sqlite' ],
108+
version_tags( 'require-mysql', $db_version, '<', $features_folder ),
109+
version_tags( 'less-than-mysql', $db_version, '>=', $features_folder )
110+
);
99111
break;
100112
}
101113

0 commit comments

Comments
 (0)