run-tests SKIPIF caching can be problematic for third-party extensions

From: Date: Wed, 15 Sep 2021 17:22:32 +0000
Subject: run-tests SKIPIF caching can be problematic for third-party extensions
Groups: php.internals 
Request: Send a blank email to internals+get-116044@lists.php.net to get a copy of this message
I just discovered that run-tests.php was changed to cache SKIPIF evaluation since 8.1.0beta3[1]. I believe ext-mongodb ran into the same issue as mysqli[2], as we use SKIPIF to check that database contents are clean going into a test. The present solution in core is to check SKIPIF output for "nocache" [3,4] and allow individual tests to opt out of caching; however, I'm worried that won't be portable for third-party extensions, where we test with run-tests.php for each version of PHP that we support. Is there still time to consider an alternative solution? If "nocache" needs to remain in place for mysqli, perhaps 8.1.0's run-tests.php can be enhanced to consult an environment variable (for maximum BC and playing nice with make test) that disables caching entirely. [1]: https://github.com/php/php-src/pull/6681 [2]: https://github.com/php/php-src/pull/6726 [3]: https://github.com/php/php-src/commit/4d43cbe333690171753e9b8663df93d3762e02a8 [4]: https://github.com/php/php-src/commit/0074a1d4e3a85d0d63118e7a30f4b7ed6da64695 -- jeremy mikola

« previous php.internals (#116044) next »