Closed cmb69 closed 4 years ago
@cmb69 I pushed a follow up patch (d4b225b) that fixes the EXPECTF path failures. The only error now is in tests/bug_74886.phpt on ARCH=x86,TS=0 builds:
TEST 14/73 [C:\projects\yaml\tests\bug_74886.phpt]
========DIFF========
013+ int(2147483647)
013- int(3735928559)
========DONE========
FAIL Test PECL bug #74886 [C:\projects\yaml\tests\bug_74886.phpt]
This does seem to be some variation of https://bugs.php.net/79567. 2147483647 (0x7FFFFFFF) is the 32-bit signed int max value. The code in detect.c that converts hex strings to longs is now using ZEND_STRTOL(buf, (char **) NULL, 16)
which apparently is not the right mojo to fix this. Any deep php internals wizard advice you may have would be appreciated.
Any deep php internals wizard advice you may have would be appreciated.
Derp. The problem is that ARCH=x86 is a 32bit platform.
There are 3 test failures to be expected. 2 of them are because of the hard-coded
/
in the expectations; you could either use%e
instead, or just check for%s
without the directory separator and the filename. The 3rd test fails likely due to int issues (might be https://bugs.php.net/79567).Also, the build matrix in .appveyor.yml can be adapted according to your needs. Supporting master or older PHP versions (< 7.2) would require additional adjustments, though.