Don't force PHP as the langauge of extension tests

Test: gd
pull/175/head
Michele Locati 2020-10-18 14:05:35 +02:00
parent 4cba84276e
commit 7a7519b64a
No known key found for this signature in database
GPG Key ID: 98B7CE2E7234E28B
3 changed files with 36 additions and 11 deletions

View File

@ -325,5 +325,6 @@ return PhpCsFixer\Config::create()
->exclude('vendor') ->exclude('vendor')
->in(__DIR__) ->in(__DIR__)
->name('.php_cs') ->name('.php_cs')
->append(glob(__DIR__ . '/scripts/tests/*'))
) )
; ;

View File

@ -9,7 +9,10 @@ $nameMap = [
$testsDir = __DIR__ . '/tests'; $testsDir = __DIR__ . '/tests';
function runTest($testFile) function runTest($testFile)
{ {
return include $testFile; $rc = -1;
passthru($testFile, $rc);
return $rc === 0;
} }
for ($index = 1, $count = isset($argv) ? count($argv) : 0; $index < $count; $index++) { for ($index = 1, $count = isset($argv) ? count($argv) : 0; $index < $count; $index++) {
@ -26,7 +29,7 @@ for ($index = 1, $count = isset($argv) ? count($argv) : 0; $index < $count; $ind
if (!extension_loaded($extension)) { if (!extension_loaded($extension)) {
fprintf(STDERR, sprintf("Extension not loaded: %s\n", $extension)); fprintf(STDERR, sprintf("Extension not loaded: %s\n", $extension));
} else { } else {
$testFile = "{$testsDir}/{$extension}.php"; $testFile = "{$testsDir}/{$extension}";
if (is_file($testFile)) { if (is_file($testFile)) {
try { try {
if (runTest($testFile) === true) { if (runTest($testFile) === true) {

39
scripts/tests/gd.php → scripts/tests/gd Normal file → Executable file
View File

@ -1,5 +1,21 @@
#!/usr/bin/env php
<?php <?php
set_error_handler(
static function ($errno, $errstr, $errfile, $errline) {
$msg = "Error {$errno}: {$errstr}\n";
if ($errfile) {
$msg .= "File: {$errfile}\n";
if ($errline) {
$msg .= "Line: {$errline}\n";
}
}
fwrite(STDERR, $msg);
exit(1);
},
-1
);
$imageWidth = 8; $imageWidth = 8;
$imageHeight = 16; $imageHeight = 16;
$image = imagecreatetruecolor($imageWidth, $imageHeight); $image = imagecreatetruecolor($imageWidth, $imageHeight);
@ -60,6 +76,19 @@ try {
} }
imagedestroy($image2); imagedestroy($image2);
} }
if (!function_exists('imagefttext')) {
throw new Exception('imagefttext() function is missing');
}
if (!function_exists('imageantialias')) {
throw new Exception('imageantialias() function is missing');
}
$rc = 0;
} catch (Exception $x) {
$rc = 1;
fwrite(STDERR, $x->getMessage());
} catch (Throwable $x) {
$rc = 1;
fwrite(STDERR, $x->getMessage());
} finally { } finally {
imagedestroy($image); imagedestroy($image);
if (is_resource($image2)) { if (is_resource($image2)) {
@ -69,12 +98,4 @@ try {
unlink($tempFile); unlink($tempFile);
} }
} }
exit($rc);
if (!function_exists('imagefttext')) {
throw new Exception('imagefttext() function is missing');
}
if (!function_exists('imageantialias')) {
throw new Exception('imageantialias() function is missing');
}
return true;