Skip to content

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.

6. ext/standard/tests/file/parse_ini_file_variation6.phpt

Typo.

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

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