+ @staticmethod
+ def test_custom_phpcgi(tmp_path, capfd):
+ assert exec_utils.run_api_script('test', tmp_path, phpcgi_bin='env',
+ params={'q' : 'Berlin'}) == 0
+ captured = capfd.readouterr()
+
+ assert '?q=Berlin' in captured.out
+
+ @staticmethod
+ def test_fail_on_error_output(tmp_path):
+ # Starting PHP 8 the PHP CLI no longer has STDERR defined as constant
+ php = """
+ <?php
+ if(!defined('STDERR')) define('STDERR', fopen('php://stderr', 'wb'));
+ fwrite(STDERR, 'WARNING'.PHP_EOL);
+ """
+ (tmp_path / 'website' / 'bad.php').write_text(php)
+
+ assert exec_utils.run_api_script('bad', tmp_path) == 1