Skip to content

Php stdlib specs implementation#1

Merged
PurHur merged 4 commits into
masterfrom
cursor/php-stdlib-specs-implementation-c11b
May 17, 2026
Merged

Php stdlib specs implementation#1
PurHur merged 4 commits into
masterfrom
cursor/php-stdlib-specs-implementation-c11b

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 17, 2026

This pull request contains changes generated by a Cursor Cloud Agent

Open in Web Open in Cursor 

cursoragent and others added 4 commits May 16, 2026 17:50
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants