-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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
base: master
Are you sure you want to change the base?
Conversation
@@ -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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which CI is failing?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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%'")) |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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'.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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.