mirror of
https://github.com/mlocati/docker-php-extension-installer
synced 2025-05-09 00:22:40 +00:00
Don't force PHP as the langauge of extension tests
Test: gd
This commit is contained in:
parent
4cba84276e
commit
7a7519b64a
3 changed files with 36 additions and 11 deletions
|
@ -9,7 +9,10 @@ $nameMap = [
|
|||
$testsDir = __DIR__ . '/tests';
|
||||
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++) {
|
||||
|
@ -26,7 +29,7 @@ for ($index = 1, $count = isset($argv) ? count($argv) : 0; $index < $count; $ind
|
|||
if (!extension_loaded($extension)) {
|
||||
fprintf(STDERR, sprintf("Extension not loaded: %s\n", $extension));
|
||||
} else {
|
||||
$testFile = "{$testsDir}/{$extension}.php";
|
||||
$testFile = "{$testsDir}/{$extension}";
|
||||
if (is_file($testFile)) {
|
||||
try {
|
||||
if (runTest($testFile) === true) {
|
||||
|
|
39
scripts/tests/gd.php → scripts/tests/gd
Normal file → Executable file
39
scripts/tests/gd.php → scripts/tests/gd
Normal file → Executable file
|
@ -1,5 +1,21 @@
|
|||
#!/usr/bin/env 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;
|
||||
$imageHeight = 16;
|
||||
$image = imagecreatetruecolor($imageWidth, $imageHeight);
|
||||
|
@ -60,6 +76,19 @@ try {
|
|||
}
|
||||
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 {
|
||||
imagedestroy($image);
|
||||
if (is_resource($image2)) {
|
||||
|
@ -69,12 +98,4 @@ try {
|
|||
unlink($tempFile);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('imagefttext')) {
|
||||
throw new Exception('imagefttext() function is missing');
|
||||
}
|
||||
if (!function_exists('imageantialias')) {
|
||||
throw new Exception('imageantialias() function is missing');
|
||||
}
|
||||
|
||||
return true;
|
||||
exit($rc);
|
Loading…
Add table
Add a link
Reference in a new issue