diff --git a/tests/visual_tests/expressionformat-500-reference.png b/tests/visual_tests/expressionformat-500-reference.png index 0df9076e3..c878ad31d 100644 Binary files a/tests/visual_tests/expressionformat-500-reference.png and b/tests/visual_tests/expressionformat-500-reference.png differ diff --git a/tests/visual_tests/formating-1-500-reference.png b/tests/visual_tests/formating-1-500-reference.png index f863a4169..2fcd4f305 100644 Binary files a/tests/visual_tests/formating-1-500-reference.png and b/tests/visual_tests/formating-1-500-reference.png differ diff --git a/tests/visual_tests/formating-2-500-reference.png b/tests/visual_tests/formating-2-500-reference.png index f863a4169..2fcd4f305 100644 Binary files a/tests/visual_tests/formating-2-500-reference.png and b/tests/visual_tests/formating-2-500-reference.png differ diff --git a/tests/visual_tests/formating-3-500-reference.png b/tests/visual_tests/formating-3-500-reference.png index 788f2a33b..415bb7e3b 100644 Binary files a/tests/visual_tests/formating-3-500-reference.png and b/tests/visual_tests/formating-3-500-reference.png differ diff --git a/tests/visual_tests/list-100-reference.png b/tests/visual_tests/list-100-reference.png index 3b3cedbb2..c8faf0348 100644 Binary files a/tests/visual_tests/list-100-reference.png and b/tests/visual_tests/list-100-reference.png differ diff --git a/tests/visual_tests/list-150-reference.png b/tests/visual_tests/list-150-reference.png index 61dc7964d..2b9a5ec17 100644 Binary files a/tests/visual_tests/list-150-reference.png and b/tests/visual_tests/list-150-reference.png differ diff --git a/tests/visual_tests/list-200-reference.png b/tests/visual_tests/list-200-reference.png index 14714cdf0..22ea2df84 100644 Binary files a/tests/visual_tests/list-200-reference.png and b/tests/visual_tests/list-200-reference.png differ diff --git a/tests/visual_tests/list-250-reference.png b/tests/visual_tests/list-250-reference.png index a88f4707b..594ba4ded 100644 Binary files a/tests/visual_tests/list-250-reference.png and b/tests/visual_tests/list-250-reference.png differ diff --git a/tests/visual_tests/list-300-reference.png b/tests/visual_tests/list-300-reference.png index 5d500aad9..47de914e2 100644 Binary files a/tests/visual_tests/list-300-reference.png and b/tests/visual_tests/list-300-reference.png differ diff --git a/tests/visual_tests/list-400-reference.png b/tests/visual_tests/list-400-reference.png index caee65ba5..1c6af9f54 100644 Binary files a/tests/visual_tests/list-400-reference.png and b/tests/visual_tests/list-400-reference.png differ diff --git a/tests/visual_tests/list-600-reference.png b/tests/visual_tests/list-600-reference.png index 46a5c7198..955c619fc 100644 Binary files a/tests/visual_tests/list-600-reference.png and b/tests/visual_tests/list-600-reference.png differ diff --git a/tests/visual_tests/list-800-reference.png b/tests/visual_tests/list-800-reference.png index b362592ef..8c908b610 100644 Binary files a/tests/visual_tests/list-800-reference.png and b/tests/visual_tests/list-800-reference.png differ diff --git a/tests/visual_tests/shieldsymbolizer-1-500-reference.png b/tests/visual_tests/shieldsymbolizer-1-500-reference.png index 820509dd5..59b8c4e39 100644 Binary files a/tests/visual_tests/shieldsymbolizer-1-500-reference.png and b/tests/visual_tests/shieldsymbolizer-1-500-reference.png differ diff --git a/tests/visual_tests/shieldsymbolizer-1.xml b/tests/visual_tests/shieldsymbolizer-1.xml index a0f726d38..14b5b1cc5 100644 --- a/tests/visual_tests/shieldsymbolizer-1.xml +++ b/tests/visual_tests/shieldsymbolizer-1.xml @@ -12,7 +12,7 @@ diff --git a/tests/visual_tests/simple-100-reference.png b/tests/visual_tests/simple-100-reference.png index e70c9c0f6..4efb11cf5 100644 Binary files a/tests/visual_tests/simple-100-reference.png and b/tests/visual_tests/simple-100-reference.png differ diff --git a/tests/visual_tests/simple-150-reference.png b/tests/visual_tests/simple-150-reference.png index 666ca6d66..bbd27b3e8 100644 Binary files a/tests/visual_tests/simple-150-reference.png and b/tests/visual_tests/simple-150-reference.png differ diff --git a/tests/visual_tests/simple-200-reference.png b/tests/visual_tests/simple-200-reference.png index aad33f405..46f956ae2 100644 Binary files a/tests/visual_tests/simple-200-reference.png and b/tests/visual_tests/simple-200-reference.png differ diff --git a/tests/visual_tests/simple-250-reference.png b/tests/visual_tests/simple-250-reference.png index a43a8016f..598bdf9b9 100644 Binary files a/tests/visual_tests/simple-250-reference.png and b/tests/visual_tests/simple-250-reference.png differ diff --git a/tests/visual_tests/simple-300-reference.png b/tests/visual_tests/simple-300-reference.png index f753151da..097f86700 100644 Binary files a/tests/visual_tests/simple-300-reference.png and b/tests/visual_tests/simple-300-reference.png differ diff --git a/tests/visual_tests/simple-400-reference.png b/tests/visual_tests/simple-400-reference.png index ebc03be70..fc481ae44 100644 Binary files a/tests/visual_tests/simple-400-reference.png and b/tests/visual_tests/simple-400-reference.png differ diff --git a/tests/visual_tests/simple-600-reference.png b/tests/visual_tests/simple-600-reference.png index ffc72053a..8cbe5bae8 100644 Binary files a/tests/visual_tests/simple-600-reference.png and b/tests/visual_tests/simple-600-reference.png differ diff --git a/tests/visual_tests/simple-800-reference.png b/tests/visual_tests/simple-800-reference.png index 19c7acd32..25fde97ca 100644 Binary files a/tests/visual_tests/simple-800-reference.png and b/tests/visual_tests/simple-800-reference.png differ diff --git a/tests/visual_tests/simple-E-500-reference.png b/tests/visual_tests/simple-E-500-reference.png index 5e6d3230f..df6a0a3b1 100644 Binary files a/tests/visual_tests/simple-E-500-reference.png and b/tests/visual_tests/simple-E-500-reference.png differ diff --git a/tests/visual_tests/simple-N-500-reference.png b/tests/visual_tests/simple-N-500-reference.png index f31f28124..c2835a1fb 100644 Binary files a/tests/visual_tests/simple-N-500-reference.png and b/tests/visual_tests/simple-N-500-reference.png differ diff --git a/tests/visual_tests/simple-NE-500-reference.png b/tests/visual_tests/simple-NE-500-reference.png index 99a76002f..b4da1afb8 100644 Binary files a/tests/visual_tests/simple-NE-500-reference.png and b/tests/visual_tests/simple-NE-500-reference.png differ diff --git a/tests/visual_tests/simple-NW-500-reference.png b/tests/visual_tests/simple-NW-500-reference.png index 7381a7643..36f86c522 100644 Binary files a/tests/visual_tests/simple-NW-500-reference.png and b/tests/visual_tests/simple-NW-500-reference.png differ diff --git a/tests/visual_tests/simple-S-500-reference.png b/tests/visual_tests/simple-S-500-reference.png index 97370ba2a..07dd889db 100644 Binary files a/tests/visual_tests/simple-S-500-reference.png and b/tests/visual_tests/simple-S-500-reference.png differ diff --git a/tests/visual_tests/simple-SE-500-reference.png b/tests/visual_tests/simple-SE-500-reference.png index 6f7b438cb..7ebab2a95 100644 Binary files a/tests/visual_tests/simple-SE-500-reference.png and b/tests/visual_tests/simple-SE-500-reference.png differ diff --git a/tests/visual_tests/simple-SW-500-reference.png b/tests/visual_tests/simple-SW-500-reference.png index 4599a044d..a69999da0 100644 Binary files a/tests/visual_tests/simple-SW-500-reference.png and b/tests/visual_tests/simple-SW-500-reference.png differ diff --git a/tests/visual_tests/simple-W-500-reference.png b/tests/visual_tests/simple-W-500-reference.png index 3744851f7..8e198986b 100644 Binary files a/tests/visual_tests/simple-W-500-reference.png and b/tests/visual_tests/simple-W-500-reference.png differ diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py index bfb430c2a..d9b11e957 100755 --- a/tests/visual_tests/test.py +++ b/tests/visual_tests/test.py @@ -5,6 +5,8 @@ import mapnik import cairo import sys import os.path +import math, operator +import Image dirname = os.path.dirname(sys.argv[0]) @@ -14,14 +16,45 @@ filenames_one_width = ["simple-E", "simple-NE", "simple-NW", "simple-N", "simple-SE", "simple-SW", "simple-S", "simple-W", "formating-1", "formating-2", "formating-3", "formating-4", "shieldsymbolizer-1", "expressionformat"] - + +COMPUTE_THRESHOLD = 0 + +# returns true if pixels are not identical +def compare_pixels(pixel1, pixel2): + r_diff = abs(pixel1[0] - pixel2[0]) + g_diff = abs(pixel1[1] - pixel2[1]) + b_diff = abs(pixel1[2] - pixel2[2]) + if(r_diff > COMPUTE_THRESHOLD or g_diff > COMPUTE_THRESHOLD or b_diff > COMPUTE_THRESHOLD): + return True + else: + return False + +# compare tow images and return number of different pixels +def compare(im1, im2): + diff = 0 + pixels = im1.size[0] * im1.size[1] + im1 = im1.getdata() + im2 = im2.getdata() + for i in range(3, pixels - 1, 3): + if(compare_pixels(im1[i], im2[i])): + diff = diff + 1 + return diff + def render(filename, width): - print "Rendering style \"%s\" with width %d" % (filename, width) m = mapnik.Map(width, 100) mapnik.load_map(m, os.path.join(dirname, "%s.xml" % filename), False) bbox = mapnik.Box2d(-0.05, -0.01, 0.95, 0.01) m.zoom_to_box(bbox) mapnik.render_to_file(m, '%s-%d-agg.png' % (filename, width)) + im1 = Image.open('%s-%d-reference.png' % (filename, width)) + im2 = Image.open('%s-%d-agg.png' % (filename, width)) + diff = compare(im1, im2) + if diff == 0: + rms = 'ok' + else: + rms = 'error: %u different pixels' % diff + + print "Rendering style \"%s\" with width %d ... %s" % (filename, width, rms) return m if len(sys.argv) > 1: