Skip to content

fixes on mysqli, openssl, readline tests #18991

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hyh19962008
Copy link
Contributor

@hyh19962008 hyh19962008 commented Jul 1, 2025

1. ext\mysqli\tests\bug77956.phpt

The returned error number is 2068, tested on Windows MySQL 5.7.22 and Windows MySQL 8.0.34.

2. ext\mysqli\tests\mysqli_fetch_assoc_no_alias_utf8.phpt

MySQL 8.0 has changed 'utf8' to 'utf8mb3'. See The utf8 Character Set.

3. ext\openssl\tests\bug70438.phpt

openssl_get_cipher_methods() returns cipher method names in lower cases. Tested on Windows openssl 3.2.0 and Linux openssl 1.1.1. But openssl_seal() supports case insensitive cipher method name, so the FILE section can leave unchanged.

4. ext\openssl\tests\bug74402.phpt

The same as the former one.

5. ext\readline\tests\readline_read_history_error_001.phpt

Typo.

@@ -56,6 +56,6 @@ if (!$link->query('DROP TABLE IF EXISTS test')) {
$link->close();
unlink('bug77956.data');
?>
--EXPECT--
[006] [2000] LOAD DATA LOCAL INFILE is forbidden, check related settings like mysqli.allow_local_infile|mysqli.local_infile_directory or PDO::MYSQL_ATTR_LOCAL_INFILE|PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The number was a part of the test. Removing it doesn't seem wise. Also, if you think the error number is not important then you should adjust the test case rather than using EXPECTF.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a quick fix, since the error message is exactly the same. But I can't found a environment to reproduce the 2000 error number. I tested on MySQL 5.7 and 8.0, both of them return 2068. Do you know which setup can reproduce the 2000 number? If we can identify these different setup, then yes, we can create a new test case.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which CI is failing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I setup the test environment and ran the tests on my own machine.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then I would say just leave it as it is now. Maybe it's something only on your local machine. No point in degrading the test if it doesn't cause issues with CI

@@ -9,13 +9,13 @@ mysqli
if (!$link = @mysqli_connect($host, $user, $passwd, $db, $port, $socket))
die(sprintf("skip Can't connect to MySQL Server - [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

if (!$res = mysqli_query($link, "SHOW CHARACTER SET LIKE 'UTF8'"))
if (!$res = mysqli_query($link, "SHOW CHARACTER SET LIKE '%UTF8%'"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if that's an improvement. Why can it not stay the way it is?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because "LIKE 'UTF8'" will not match 'utf8mb3'.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it will skip the test if UTF8 is not available. I don't see a problem.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is available, just changed a name on MySQL 8, from 'utf8' to 'utf8mb3'. I have run this test on this environment and passed, It shouldn't be skipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants