Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

56 cases of mysql_client_test failed #44672

Open
12 of 56 tasks
YangKeao opened this issue Jun 14, 2023 · 2 comments
Open
12 of 56 tasks

56 cases of mysql_client_test failed #44672

YangKeao opened this issue Jun 14, 2023 · 2 comments
Labels
type/enhancement The issue or PR belongs to an enhancement.

Comments

@YangKeao
Copy link
Member

YangKeao commented Jun 14, 2023

Bug Report

0. Background

mysql_client_test is the test cases in mysql repository. It's used to test both the server and the client(libmysql) implementation. As a MySQL-compatible database, I think it'd be better to pass all these tests. It can enrich our test cases on protocol layer.

Unfortunately, tons of the test cases have failed. They can be concluded in the following areas (except known unsupported features):

  1. Cursor. About the server status, behavior, ...
  2. ComFieldList. The type and length of a field is usually different from the expectation of the tests. I'm not sure whether it's expected.
  3. The count of warning is unexpected. (Though, I think this problem is not serious, right?).
  4. Others...

1. Minimal reproduce step (Required)

  1. git clone https://github.com/YangKeao/mysql-server.git -b known-bugs
  2. See the testclients/mysql_client_test.cc, and find "TODO" in it. Several lines are commented out with "TODO: need fix", which means this test case cannot pass on TiDB.
  3. Uncomment any one of them, and compile the target mysql_client_test. Assume the location of mysql_client_test binary is at ./cmake-build-mysql/runtime_output_directory/mysql_client_test
  4. Run MYSQL_TEST_DIR=$(pwd)/mysql-test ./cmake-build-mysql/runtime_output_directory/mysql_client_test -P 4000 -h 127.0.0.1 -u root, you'll see the error output.

For example, if I uncommented test_func_fields, I'll get:

#####################################
25 of (1/1): test_func_fields  
#####################################

 table name: `test_dateformat` (expected: `test_dateformat`)
 table name: `` (expected: ``)
 field name: `YEAR` (expected: `YEAR`)
 field org name: `YEAR` (expected: ``)/home/yangkeao/Downloads/mysql-server/testclients/mysql_client_test.cc:4767: check failed: 'field->org_name[0] == '\0''

2. What did you expect to see? (Required)

All tests passed (except those which are known to be unsupported, like procedure, unsupported character set (utf8mb3) and other features).

3. What did you see instead (Required)

A lot of tests failed.

4. What is your TiDB version? (Required)

0013190

@YangKeao YangKeao added the type/enhancement The issue or PR belongs to an enhancement. label Jun 14, 2023
@YangKeao
Copy link
Member Author

BTW, remember to turn on auto-tls = true to run this test.

@YangKeao
Copy link
Member Author

YangKeao commented Nov 8, 2023

A new error is detected in the master:

  • test_bug17309863
  • test_bug17512527

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement The issue or PR belongs to an enhancement.
Projects
None yet
Development

No branches or pull requests

1 participant