-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Rename zend-test to zend_test #6613
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
Conversation
Ugh, there are some observer test failures when JIT is enabled (cc @SammyK) |
I think all the test failures have the same root cause though. The "get return value even if not used" part doesn't work under JIT. |
Okay, the reason why those tests fail is actually not related to the JIT (though I believe that problem also exists), but to the fact that opcache inlines calls to functions that contain only My question would then be what the expected behavior is in that case. If |
At what point does opcache do this optimization? Can it know if the function is being observed before inlining? If not, then I think it would be ideal for extensions to disable this optimization, and not just do it unconditionally whenever an observer is attached. This is because for APM you wouldn't want to disable this optimization (probably), but for a debugger or some other kind of |
As that is only determined on first call, no.
Yes, I think I agree your reasoning here. In that case I'd tag the relevant tests with |
Tests pass on azure now, but fail on windows due to path separators. |
The extension name should match the name of the ext/ directory, otherwise it will not get picked up by run-tests. It would be possible to remap this in run-tests, but I think it's better to rename the extension to follow the standard format. Other extensions also use underscore instead of hyphen (e.g. pdo_mysql and not pdo-mysql). Of course, ./configure options are always hyphenated.
Thanks for the investigation and fix on this @nikic. 🙇 |
What about renaming extension names |
Renaming those would break extension_loaded checks, doesn't seem worthwhile. (The same applies to zend_test, but as it's an internal testing extension, it does not matter.) |
The extension name should match the name of the ext/ directory,
otherwise it will not get picked up by run-tests. It would be possible
to remap this in run-tests, but I think it's better to rename the
extension to follow the standard format. Other extensions also
use underscore instead of hyphen (e.g. pdo_mysql and not pdo-mysql).
Of course, ./configure options are always hyphenated.