phpolars

Runtime checks

Verification

Scope

Extension loading and execution under the PHP CLI and PHP-FPM, API compatibility with the previous release, and the peak resident set size of a selective streaming scan.

References

Versions
phpolars 0.2.2, Polars Rust crate 0.55.2, PHP 8.5.12

Method

tests/deployment.php checks the extension version, a group_by result, and the thread pool size; scripts/check-fpm runs it in a php-fpm worker through FastCGI. scripts/api-compat.php checks the previous release tag's stubs against the extension. tests/memory.php runs two streaming filters of a generated CSV in separate processes and compares their peak resident set sizes. scripts/check runs the CLI, API, and memory checks before a release, on Ubuntu 24.04 and macOS 15 with PHP 8.3, 8.4, and 8.5 in CI; the packaging workflow runs the PHP-FPM check in the production container.

Check
End-to-end run with the external program
Recorded
2026-11-02, PHP 8.5.12, Ubuntu 24.04.5 LTS (x86_64), commit d53f49d

Tolerances

exact equality

Applies to: Each check

Exit status of its script

x: package value; r: reference value.

Results

4 comparisons: 4 pass, 0 fail, 0 skipped.

Every comparison
Case Quantity Values Status
PHP CLI version matches Cargo.toml, a group_by result, and the thread pool size pass
PHP-FPM the same assertions through a FastCGI request to a php-fpm worker pass
API compatibility with v0.2.1 948 functions and methods of v0.2.1 still exist, with its parameters as a prefix of today's 948 pass
Streaming filter memory peak RSS added by a streaming filter that keeps 4% of a 93 MB CSV: 11 MB, against a limit of half the file pass

Reproduction

From the repository root
cargo build --release
scripts/site-content integration
Raw record
site/verifications/integration.json
Full results
scripts/check