[php-src] master: Zend: write tests for some ZPP specifiers (#23192)

Gina Peter Banyard via GitHub <[email protected]>
Newsgroups gmane.comp.php.cvs.general
Message-ID <[email protected]>
Author: Gina Peter Banyard (Girgias)
Committer: GitHub (web-flow)
Pusher: Girgias
Date: 2026-08-14T16:06:35+01:00

Commit: https://github.com/php/php-src/commit/308a24111074e1b8880d929339e36d85e7b2df8c
Raw diff: https://github.com/php/php-src/commit/308a24111074e1b8880d929339e36d85e7b2df8c.diff

Zend: write tests for some ZPP specifiers (#23192)

This adds dedicated tests for ZPP specifiers with dedicated functions defined in ext/zend_test rather than using whatever function might be suitable, as it may get refactored.

This covers the ZPP specifiers for "slow" and fast ZPP, including nullable, for:

- `bool`
- `int`
- `float`
- `int|float`
- `int|float|string`  (Fast ZPP only)
- `resource`
- `object`
- `object|string` (Fast ZPP only)
- Object of a class
- Object of class OR int (Fast ZPP only)
- Object of class OR string (Fast ZPP only)
- Class name
- Object OR class name

Missing specifiers that are relagated to later are:
- `array`
- `array|object`
- `array|int`
- `array|string`
- `callable`
- `string` (including "path" checking for null bytes)
- `string|int`
- Enum
- Zval
- Variadics

Changed paths:
  A  Zend/tests/zpp/bool_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/bool_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/class-string_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/class-string_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/float_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/float_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/int_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/int_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/iterable_or_null.phpt
  A  Zend/tests/zpp/number_or_str_zpp_strict_mode.phpt
  A  Zend/tests/zpp/number_or_str_zpp_weak_mode.phpt
  A  Zend/tests/zpp/number_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/number_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/obj_of_class_or_int_zpp_strict_mode.phpt
  A  Zend/tests/zpp/obj_of_class_or_int_zpp_weak_mode.phpt
  A  Zend/tests/zpp/obj_of_class_or_str_zpp_strict_mode.phpt
  A  Zend/tests/zpp/obj_of_class_or_str_zpp_weak_mode.phpt
  A  Zend/tests/zpp/obj_of_class_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/obj_of_class_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/obj_or_class_name_zpp_strict_mode.phpt
  A  Zend/tests/zpp/obj_or_class_name_zpp_weak_mode.phpt
  A  Zend/tests/zpp/obj_or_str_zpp_strict_mode.phpt
  A  Zend/tests/zpp/obj_or_str_zpp_weak_mode.phpt
  A  Zend/tests/zpp/obj_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/obj_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/object_of_class_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/object_of_class_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/object_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/object_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/resource_zpp_specifier_strict_mode.phpt
  A  Zend/tests/zpp/resource_zpp_specifier_weak_mode.phpt
  A  Zend/tests/zpp/types.inc
  D  Zend/tests/iterable_or_null.phpt
  D  Zend/tests/number_or_str_zpp.phpt
  D  Zend/tests/str_or_obj_of_class_zpp.phpt
  D  Zend/tests/str_or_obj_zpp.phpt
  D  ext/zend_test/tests/zpp/class-string_zpp_specifier_strict_mode.phpt
  D  ext/zend_test/tests/zpp/class-string_zpp_specifier_weak_mode.phpt
  M  Zend/Optimizer/zend_func_infos.h
  M  ext/zend_test/test.c
  M  ext/zend_test/test.stub.php
  M  ext/zend_test/test_arginfo.h
  M  ext/zend_test/test_decl.h
  M  ext/zend_test/test_legacy_arginfo.h


Diff exceeded maximum size.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.