From 8551c9fa0af5226e42a7242fefa685a4627450bb Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 14 Aug 2026 08:51:23 +0000 Subject: [PATCH 1/2] Adapt Behat tests to SQLite integration plugin v3.0.0 The SQLite Database Integration plugin released v3.0.0 on 2026-08-13, which replaces the old translation layer with a new MySQL-on-SQLite driver. The nightly Behat runs started failing on the same commit that had passed hours earlier, since `wp-cli-tests` always fetches the stable plugin version. Two behavior changes: * Post dates passed in ISO 8601 format are now normalized just like MySQL does, so `wp post get --field=post_date` returns `2005-01-24 09:52:00` instead of the raw input. The separate `@require-sqlite` scenario that asserted the unnormalized value is no longer needed, so the MySQL and SQLite scenarios are merged back into one. * Establishing a database connection now fails when `MULTISITE` is defined in `wp-config.php` while the database is still empty. The information schema reconstructor queries the `wp_blogs` table to collect the schema of every site, and that table does not exist yet during `wp core multisite-install`. WordPress then reports "One or more database tables are unavailable." Both affected scenarios are marked `@skip-sqlite` until the plugin handles a missing `wp_blogs` table. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01XonoKYvyXFeMfLDpdd2kPp --- features/post.feature | 23 ----------------------- features/site-create.feature | 9 +++++++++ 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/features/post.feature b/features/post.feature index d2657a75e..02a845e01 100644 --- a/features/post.feature +++ b/features/post.feature @@ -526,7 +526,6 @@ Feature: Manage WordPress posts 2005-01-24 09:52:00 """ - @require-mysql Scenario: Publishing a post and setting a date succeeds if the edit_date flag is passed. Given a WP install @@ -545,28 +544,6 @@ Feature: Manage WordPress posts 2005-01-24 09:52:00 """ - # Separate test because of a known bug in the SQLite plugin. - # See https://github.com/WordPress/sqlite-database-integration/issues/52. - # Once the bug is resolved, this separate test can be removed again. - @require-sqlite - Scenario: Publishing a post and setting a date succeeds if the edit_date flag is passed. - Given a WP install - - When I run `wp post create --post_title='test' --porcelain` - Then save STDOUT as {POST_ID} - - When I run `wp post update {POST_ID} --post_date='2005-01-24T09:52:00.000Z' --post_status='publish' --edit_date=1` - Then STDOUT should contain: - """ - Success: - """ - - When I run `wp post get {POST_ID} --field=post_date` - Then STDOUT should contain: - """ - 2005-01-24T09:52:00.000Z - """ - @require-wp-5.0 Scenario: Get block_version field for post with blocks Given a block-post.html file: diff --git a/features/site-create.feature b/features/site-create.feature index 6c6c11ccd..d2cbcde66 100644 --- a/features/site-create.feature +++ b/features/site-create.feature @@ -1,5 +1,12 @@ Feature: Create a new site on a WP multisite + # Skipped on SQLite because of a bug in the SQLite plugin (as of v3.0.0): + # when `MULTISITE` is defined in wp-config.php but the database is still + # empty, the information schema reconstructor queries the `wp_blogs` table + # while establishing the connection. That table does not exist yet, so the + # connection fails with "One or more database tables are unavailable." + # Once the bug is resolved, this tag can be removed again. + @skip-sqlite Scenario: Respect defined `$base` in wp-config Given an empty directory And WP files @@ -47,6 +54,8 @@ Feature: Create a new site on a WP multisite | 1 | http://localhost/dev/ | | 2 | http://localhost/dev/newsite/ | + # See the note on the scenario above for why this is skipped on SQLite. + @skip-sqlite Scenario: Create new site with custom `$super_admins` global Given an empty directory And WP files From 0dda16f0786cecfeb7f9eae5718bdbb2b68eb2de Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 14 Aug 2026 09:42:53 +0000 Subject: [PATCH 2/2] Link the upstream issue for the skipped multisite scenarios Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01XonoKYvyXFeMfLDpdd2kPp --- features/site-create.feature | 1 + 1 file changed, 1 insertion(+) diff --git a/features/site-create.feature b/features/site-create.feature index d2cbcde66..3b737aee0 100644 --- a/features/site-create.feature +++ b/features/site-create.feature @@ -5,6 +5,7 @@ Feature: Create a new site on a WP multisite # empty, the information schema reconstructor queries the `wp_blogs` table # while establishing the connection. That table does not exist yet, so the # connection fails with "One or more database tables are unavailable." + # See https://github.com/WordPress/sqlite-database-integration/issues/490. # Once the bug is resolved, this tag can be removed again. @skip-sqlite Scenario: Respect defined `$base` in wp-config