Php stdlib specs implementation#1
Merged
Merged
Conversation
Raise PHPUnit to 9.6 with compatible phar-io packages so the suite runs on PHP 8.3. Skip JIT compliance tests when no supported libLLVM is present, and skip macro tests where Yay/Pre is incompatible. Add pre.lock so runtime autoload uses committed .php outputs instead of failing macro expansion. Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Register Internal implementations for abs() and two-argument integer min() and max(). Add PHPT cases under test/compliance/cases/stdlib for abs, strlen, str_repeat, is_int, and min/max. Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Add Internal builtins for intdiv (integer division with VM zero check), ord (first byte / empty returns 0 subset), and strcmp (lexicographic compare). Register libc strcmp in jitInit for JIT string comparisons. Extend PHPUnit with RealWorldTest and stdlib_digest.phpt so compliance specs cover multi-function scripts; add focused PHPTs for each new builtin. Co-authored-by: PurHur <PurHur@users.noreply.github.com>
- Migrate phpunit.xml.dist to the 9.3 schema, enable colors, and point coverage at ./lib - Declare Runtime::$typeReconstructor and Block::$parents to avoid PHP 8.2+ dynamic property deprecations - Align composer.json require-dev with the lockfile (PHPUnit 9.6.21 and phar-io) - Skip macro PHPTs on PHP 8.1+ where Yay/Pre is unsupported - Add script/ci-local.sh and Makefile test-local target for host-based composer+phpunit runs Co-authored-by: PurHur <PurHur@users.noreply.github.com>
This was referenced May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request contains changes generated by a Cursor Cloud Agent