Mercurial > hg > nginx-tests
changeset 407:2711722a85c3
Tests: added safety measure for old libgd versions.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 22 May 2014 23:14:08 +0400 |
parents | 811fbc213fd8 |
children | 82b15c81978e |
files | image_filter.t |
diffstat | 1 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/image_filter.t +++ b/image_filter.t @@ -211,9 +211,14 @@ is(gif_size('/rotate_var/gif?r=270'), '1 is($im->interlaced, 0, 'gif interlaced off'); is($im->transparent, 0, 'gif transparent white'); +SKIP: { +skip 'broken libgd', 1 unless has_gdversion('2.1.0') or $ENV{TEST_NGINX_UNSAFE}; + $im = GD::Image->newFromGifData(http_get_body('/interlaced/gif')); is($im->interlaced, 1, 'gif interlaced on'); +} + $im = GD::Image->newFromGifData(http_get_body('/nontransparent/gif')); is($im->transparent, -1, 'gif transparent loss'); @@ -271,6 +276,22 @@ sub http_get_body { return $2; } +sub has_gdversion { + my ($need) = @_; + + my $v_str = `gdlib-config --version 2>&1` or return; + my @v = split(/\./, $v_str); + my ($n, $v); + + for $n (split(/\./, $need)) { + $v = shift @v || 0; + return 0 if $n > $v; + return 1 if $v > $n; + } + + return 1; +} + ############################################################################### # serve static files without Content-Length