diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2016-06-19 14:29:27 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2016-09-11 12:56:53 +0200 |
commit | dc09f309335cf8df7d39adc03580ac8d4f0c78f5 (patch) | |
tree | 1fbcf941a8fa538c889be5780e7e8dd24b81f07d /ext/gd/tests/imagecolorallocatealpha_basic.phpt | |
parent | 326a4e38fbe8fd776624fc9891ad6a91a034504b (diff) | |
download | php-git-dc09f309335cf8df7d39adc03580ac8d4f0c78f5.tar.gz |
A picture is worth a thousand message digests
The bundled GD test suites makes heavy use of md5() to verify the result
of drawing operations. This leads to fragile tests (even a slight change
in a PNG header would cause failure, and of course there is the
possibility of collisions), and even worse, eventual test failures are
rather unrevealing.
Therefore we replace all md5() verification with a simplistic
test_image_equals_file(), which is basically a simplified port of libgd's
gdTestImageCompareToFile(), adapted to the needs of PHPTs.
In the long run better tests helpers should be introduced (see also
<http://news.php.net/php.internals/94081>), but for now this solution
is preferable over the former.
(cherry picked from commit 24f9e96792518ec2a75f26b1eb2471dd7694f2b7)
Diffstat (limited to 'ext/gd/tests/imagecolorallocatealpha_basic.phpt')
-rw-r--r-- | ext/gd/tests/imagecolorallocatealpha_basic.phpt | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt index 8595b40507..f0d1e45e6e 100644 --- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt +++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt @@ -20,14 +20,10 @@ $corA = imagecolorallocatealpha($img, 50, 100, 255, 50); $half = imagefilledarc ( $img, 75, 75, 70, 70, 0, 180, $cor, IMG_ARC_PIE ); $half2 = imagefilledarc ( $img, 75, 75, 70, 70, 180, 360, $corA, IMG_ARC_PIE ); -ob_start(); -imagegd($img); -$imgsrc = ob_get_contents(); -ob_end_clean(); - -var_dump(md5(base64_encode($imgsrc))); +include_once __DIR__ . '/func.inc'; +test_image_equals_file(__DIR__ . '/imagecolorallocatealpha_basic.png', $img); var_dump($corA); ?> --EXPECT-- -string(32) "0981ef94ee2209a8dccb59aa8ad07e18" +The images are equal. int(842163455)
\ No newline at end of file |