WordPress / WordPress/sqlite-database-integration

Address remaining WordPress PHPUnit test failures

Open
#320 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
363
Forks
67
Avg merge
2d 15h
Merged PRs (30d)
7

Description

The WordPress PHPUnit test suite passes over 99% tests with SQLite, but some of them are still failing.

Let's look into these failures and see if we can address them:

# Errors
Tests_DB_Charset::test_invalid_characters_in_query
Tests_DB_Charset::test_set_charset_changes_the_connection_collation

# Failures
Tests_Admin_wpSiteHealth::test_object_cache_thresholds with data set #2
Tests_Admin_wpSiteHealth::test_object_cache_thresholds with data set #3
Tests_Comment::test_wp_new_comment_respects_comment_field_lengths
Tests_Comment::test_wp_update_comment
Tests_DB_Charset::test_get_column_charset with data set #0
Tests_DB_Charset::test_get_column_charset with data set #1
Tests_DB_Charset::test_get_column_charset with data set #2
Tests_DB_Charset::test_get_column_charset with data set #3
Tests_DB_Charset::test_get_column_charset with data set #4
Tests_DB_Charset::test_get_column_charset with data set #5
Tests_DB_Charset::test_get_column_charset with data set #6
Tests_DB_Charset::test_get_column_charset with data set #7
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #0
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #1
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #2
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #3
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #4
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #5
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #6
Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #7
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #0
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #1
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #2
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #3
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #4
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #5
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #6
Tests_DB_Charset::test_get_column_charset_non_mysql with data set #7
Tests_DB_Charset::test_process_field_charsets_on_nonexistent_table
Tests_DB_Charset::test_strip_invalid_text with data set #21
Tests_DB_Charset::test_strip_invalid_text with data set #22
Tests_DB_Charset::test_strip_invalid_text with data set #23
Tests_DB_Charset::test_strip_invalid_text with data set #24
Tests_DB_Charset::test_strip_invalid_text with data set #25
Tests_DB_Charset::test_strip_invalid_text with data set #26
Tests_DB_Charset::test_strip_invalid_text with data set #27
Tests_DB_Charset::test_strip_invalid_text with data set #28
Tests_DB_Charset::test_strip_invalid_text with data set #30
Tests_DB_Charset::test_strip_invalid_text with data set #31
Tests_DB_Charset::test_strip_invalid_text with data set #32
Tests_DB_Charset::test_strip_invalid_text with data set #33
Tests_DB_Charset::test_strip_invalid_text with data set #34
Tests_DB_Charset::test_strip_invalid_text with data set #35
Tests_DB_Charset::test_strip_invalid_text with data set #36
Tests_DB_Charset::test_strip_invalid_text with data set #37
Tests_DB_Charset::test_strip_invalid_text with data set #39
Tests_DB_Charset::test_strip_invalid_text with data set #40
Tests_DB_Charset::test_strip_invalid_text with data set #41
Tests_DB_Charset::test_strip_invalid_text_for_column_bails_if_ascii_input_too_long
Tests_DB_dbDelta::test_spatial_indices
Tests_DB::test_charset_switched_to_utf8mb4
Tests_DB::test_close
Tests_DB::test_delete_value_too_long_for_field with data set "too long"
Tests_DB::test_has_cap
Tests_DB::test_insert_value_too_long_for_field with data set "too long"
Tests_DB::test_mysqli_flush_sync
Tests_DB::test_non_unicode_collations
Tests_DB::test_pre_get_col_charset_filter
Tests_DB::test_process_fields_on_nonexistent_table
Tests_DB::test_process_fields_value_too_long_for_field with data set "too long"
Tests_DB::test_query_value_contains_invalid_chars
Tests_DB::test_replace_value_too_long_for_field with data set "too long"
Tests_DB::test_replace
Tests_DB::test_supports_collation
Tests_DB::test_update_value_too_long_for_field with data set "too long"
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #1
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #2
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #3
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #4
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #5
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #6
Tests_Menu_Walker_Nav_Menu::test_start_el_with_empty_attributes with data set #7
Tests_Menu_wpNavMenu::test_wp_nav_menu_should_not_have_has_children_class_with_custom_depth
WP_Test_REST_Posts_Controller::test_get_items_orderby_modified_query

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the WordPress PHPUnit suite and reviewing the listed errors and failures, especially the Tests_DB_Charset and Tests_DB groups. Group failures by subsystem before investigating their causes. Done means the listed failures are addressed and the suite passes with SQLite.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, sqlite, wordpress
Domain
backend, databases, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.