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

Remove zpp variation tests #3783

Closed
wants to merge 1 commit into
base: PHP-7.4
from

Conversation

3 participants
@nikic
Copy link
Member

nikic commented Feb 1, 2019

Work in progress removal of variation tests (https://externals.io/message/103886).

This is not done yet, it takes a lot of time to check for each test whether or not it is useless...

@krakjoe krakjoe added the Tests label Feb 1, 2019

@nikic nikic force-pushed the nikic:variation-tests branch from d0d3c5c to a5aad0e Feb 4, 2019

@nikic nikic changed the title [WIP] Remove zpp variation tests Remove zpp variation tests Feb 4, 2019

@nikic

This comment has been minimized.

Copy link
Member Author

nikic commented Feb 4, 2019

I'm done with the first pass. There's probably a few hundred more tests that can be safely removed, but this should be a good start.

@nikic

This comment has been minimized.

Copy link
Member Author

nikic commented Feb 5, 2019

Merged as 8bc663f.

@nikic nikic closed this Feb 5, 2019

nikic added a commit to nikic/php-src that referenced this pull request Feb 5, 2019

Make zpp failures always throw, independent of strict_types
Previously zend_parse_parameters (and FastZPP) would handle invalid
arguments depending on strict_types: With strict_types=1, a TypeError
is thrown, with strict_types=0 a warning is thrown and (usually) NULL
is returned. Additionally, some functions (constructors always and
other methods sometimes) opt-it to throwing regardless of strict_types.

This commit changes zpp to always generate an Error exception in
PHP 8.

Even with some of the zpp variation tests removed in php#3783, this is
going to need a lot of test updates, as many tests are also testing
zpp failures. I haven't really started on this yet.
@carusogabriel

This comment has been minimized.

Copy link
Member

carusogabriel commented Feb 10, 2019

I find some more tests like ext/standard/tests/strings/str_replace_error.phpt. May I prepare a patch removing these tests as well?

nikic added a commit to nikic/php-src that referenced this pull request Feb 19, 2019

Make zpp failures always throw, independent of strict_types
Previously zend_parse_parameters (and FastZPP) would handle invalid
arguments depending on strict_types: With strict_types=1, a TypeError
is thrown, with strict_types=0 a warning is thrown and (usually) NULL
is returned. Additionally, some functions (constructors always and
other methods sometimes) opt-it to throwing regardless of strict_types.

This commit changes zpp to always generate an Error exception in
PHP 8.

Even with some of the zpp variation tests removed in php#3783, this is
going to need a lot of test updates, as many tests are also testing
zpp failures. I haven't really started on this yet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment