[python-mapnik] 01/01: Add patch to skip tests for missing data.
Bas Couwenberg
sebastic at debian.org
Fri Aug 5 16:25:44 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository python-mapnik.
commit 848e7135e51f336a4c5268a39df59293331a7091
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Fri Aug 5 18:03:58 2016 +0200
Add patch to skip tests for missing data.
---
debian/changelog | 6 +
debian/patches/series | 1 +
debian/patches/skip-tests-for-missing-data.patch | 1488 ++++++++++++++++++++++
3 files changed, 1495 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index bdbff51..4801e5f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+python-mapnik (1:0.0~20160726-1c4a51d-1~exp2) UNRELEASED; urgency=medium
+
+ * Add patch to skip tests for missing data.
+
+ -- Bas Couwenberg <sebastic at debian.org> Fri, 05 Aug 2016 18:03:45 +0200
+
python-mapnik (1:0.0~20160726-1c4a51d-1~exp1) experimental; urgency=medium
* New upstream git snapshot.
diff --git a/debian/patches/series b/debian/patches/series
index 012abd5..cda19a3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
denominator-typo.patch
+skip-tests-for-missing-data.patch
diff --git a/debian/patches/skip-tests-for-missing-data.patch b/debian/patches/skip-tests-for-missing-data.patch
new file mode 100644
index 0000000..315ccac
--- /dev/null
+++ b/debian/patches/skip-tests-for-missing-data.patch
@@ -0,0 +1,1488 @@
+Description: Skip tests for missing data.
+Author: Bas Couwenberg <sebastic at debian.org>
+Forwarded: https://github.com/mapnik/python-mapnik/pull/107
+
+--- a/test/python_tests/sqlite_rtree_test.py
++++ b/test/python_tests/sqlite_rtree_test.py
+@@ -5,6 +5,7 @@ import sys
+ import threading
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -30,6 +31,9 @@ def create_ds(test_db, table):
+ if 'sqlite' in mapnik.DatasourceCache.plugin_names():
+
+ def test_rtree_creation():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ test_db = '../data/sqlite/world.sqlite'
+ index = test_db + '.index'
+ table = 'world_merc'
+--- a/test/python_tests/cairo_test.py
++++ b/test/python_tests/cairo_test.py
+@@ -6,6 +6,7 @@ import os
+ import shutil
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -178,6 +179,9 @@ if mapnik.has_pycairo():
+
+ if 'sqlite' in mapnik.DatasourceCache.plugin_names():
+ def _pycairo_surface(type, sym):
++ if not os.path.exists('../data/good_maps/%s_symbolizer.xml' % sym):
++ raise SkipTest
++
+ test_cairo_file = '/tmp/mapnik-cairo-surface-test.%s.%s' % (
+ sym, type)
+ expected_cairo_file = './images/pycairo/cairo-surface-expected.%s.%s' % (
+--- a/test/python_tests/compositing_test.py
++++ b/test/python_tests/compositing_test.py
+@@ -5,6 +5,7 @@ from __future__ import print_function
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -182,6 +183,9 @@ def test_pre_multiply_status_of_map2():
+
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
+ def test_style_level_comp_op():
++ if not os.path.exists('../data/good_maps/style_level_comp_op.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/style_level_comp_op.xml')
+ m.zoom_all()
+@@ -218,6 +222,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ eq_(len(fails), 0, '\n' + '\n'.join(fails))
+
+ def test_style_level_opacity():
++ if not os.path.exists('../data/good_maps/style_level_opacity_and_blur.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(
+ m, '../data/good_maps/style_level_opacity_and_blur.xml')
+@@ -235,6 +242,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+
+ def test_rounding_and_color_expectations():
++ if not os.path.exists('../data/images/stripes_pattern.png'):
++ raise SkipTest
++
+ m = mapnik.Map(1, 1)
+ m.background = mapnik.Color('rgba(255,255,255,.4999999)')
+ im = mapnik.Image(m.width, m.height)
+@@ -260,6 +270,9 @@ def test_rounding_and_color_expectations
+
+
+ def test_background_image_and_background_color():
++ if not os.path.exists('../data/images/stripes_pattern.png'):
++ raise SkipTest
++
+ m = mapnik.Map(8, 8)
+ m.background = mapnik.Color('rgba(255,255,255,.5)')
+ m.background_image = '../data/images/stripes_pattern.png'
+@@ -269,6 +282,9 @@ def test_background_image_and_background
+
+
+ def test_background_image_with_alpha_and_background_color():
++ if not os.path.exists('../data/images/yellow_half_trans.png'):
++ raise SkipTest
++
+ m = mapnik.Map(10, 10)
+ m.background = mapnik.Color('rgba(255,255,255,.5)')
+ m.background_image = '../data/images/yellow_half_trans.png'
+@@ -278,6 +294,9 @@ def test_background_image_with_alpha_and
+
+
+ def test_background_image_with_alpha_and_background_color_against_composited_control():
++ if not os.path.exists('../data/images/yellow_half_trans.png'):
++ raise SkipTest
++
+ m = mapnik.Map(10, 10)
+ m.background = mapnik.Color('rgba(255,255,255,.5)')
+ m.background_image = '../data/images/yellow_half_trans.png'
+--- a/test/python_tests/csv_test.py
++++ b/test/python_tests/csv_test.py
+@@ -7,6 +7,7 @@ import glob
+ import os
+
+ from nose.tools import eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -31,10 +32,16 @@ def teardown():
+ if 'csv' in mapnik.DatasourceCache.plugin_names():
+
+ def get_csv_ds(filename):
++ if not os.path.exists('../data/csv/'):
++ raise SkipTest
++
+ return mapnik.Datasource(
+ type='csv', file=os.path.join('../data/csv/', filename))
+
+ def test_broken_files(visual=False):
++ if not os.path.exists('../data/csv/'):
++ raise SkipTest
++
+ broken = glob.glob("../data/csv/fails/*.*")
+ broken.extend(glob.glob("../data/csv/warns/*.*"))
+
+@@ -50,6 +57,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ print('\x1b[1;32m✓ \x1b[0m', csv)
+
+ def test_good_files(visual=False):
++ if not os.path.exists('../data/csv/'):
++ raise SkipTest
++
+ good_files = glob.glob("../data/csv/*.*")
+ good_files.extend(glob.glob("../data/csv/warns/*.*"))
+ ignorable = os.path.join('..', 'data', 'csv', 'long_lat.vrt')
+@@ -508,6 +518,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ get_csv_ds('more_column_values_than_headers.csv')
+
+ def test_that_feature_id_only_incremented_for_valid_rows(**kwargs):
++ if not os.path.exists(os.path.join('../data/csv/warns', 'feature_id_counting.csv')):
++ raise SkipTest
++
+ ds = mapnik.Datasource(type='csv',
+ file=os.path.join('../data/csv/warns', 'feature_id_counting.csv'))
+ eq_(len(ds.fields()), 3)
+@@ -529,6 +542,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ eq_(len(list(ds.all_features())), 2)
+
+ def test_dynamically_defining_headers1(**kwargs):
++ if not os.path.exists(os.path.join('../data/csv/fails', 'needs_headers_two_lines.csv')):
++ raise SkipTest
++
+ ds = mapnik.Datasource(type='csv',
+ file=os.path.join(
+ '../data/csv/fails', 'needs_headers_two_lines.csv'),
+@@ -546,6 +562,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ eq_(len(list(ds.all_features())), 2)
+
+ def test_dynamically_defining_headers2(**kwargs):
++ if not os.path.exists(os.path.join('../data/csv/fails', 'needs_headers_one_line.csv')):
++ raise SkipTest
++
+ ds = mapnik.Datasource(type='csv',
+ file=os.path.join(
+ '../data/csv/fails', 'needs_headers_one_line.csv'),
+@@ -563,6 +582,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ eq_(len(list(ds.all_features())), 1)
+
+ def test_dynamically_defining_headers3(**kwargs):
++ if not os.path.exists(os.path.join('../data/csv/fails', 'needs_headers_one_line_no_newline.csv')):
++ raise SkipTest
++
+ ds = mapnik.Datasource(type='csv',
+ file=os.path.join(
+ '../data/csv/fails', 'needs_headers_one_line_no_newline.csv'),
+--- a/test/python_tests/datasource_test.py
++++ b/test/python_tests/datasource_test.py
+@@ -4,6 +4,7 @@ import sys
+ from itertools import groupby
+
+ from nose.tools import eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -69,6 +70,9 @@ def test_vrt_referring_to_missing_files(
+
+ def test_field_listing():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/shp/poly.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/poly.shp')
+ fields = ds.fields()
+ eq_(fields, ['AREA', 'EAS_ID', 'PRFEDEA'])
+@@ -81,6 +85,9 @@ def test_field_listing():
+
+ def test_total_feature_count_shp():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/shp/poly.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/poly.shp')
+ features = ds.all_features()
+ num_feats = len(list(features))
+@@ -89,6 +96,9 @@ def test_total_feature_count_shp():
+
+ def test_total_feature_count_json():
+ if 'ogr' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/json/points.geojson'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/json/points.geojson', layer_by_index=0)
+ desc = ds.describe()
+ eq_(desc['geometry_type'], mapnik.DataGeometryType.Point)
+@@ -102,6 +112,9 @@ def test_total_feature_count_json():
+
+ def test_sqlite_reading():
+ if 'sqlite' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(
+ file='../data/sqlite/world.sqlite',
+ table_by_index=0)
+@@ -116,6 +129,9 @@ def test_sqlite_reading():
+
+
+ def test_reading_json_from_string():
++ if not os.path.exists('../data/json/points.geojson'):
++ raise SkipTest
++
+ with open('../data/json/points.geojson', 'r') as f:
+ json = f.read()
+ if 'ogr' in mapnik.DatasourceCache.plugin_names():
+@@ -127,6 +143,9 @@ def test_reading_json_from_string():
+
+ def test_feature_envelope():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/shp/poly.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/poly.shp')
+ features = ds.all_features()
+ for feat in features:
+@@ -139,6 +158,9 @@ def test_feature_envelope():
+
+ def test_feature_attributes():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/shp/poly.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/poly.shp')
+ features = list(ds.all_features())
+ feat = features[0]
+@@ -150,6 +172,9 @@ def test_feature_attributes():
+
+ def test_ogr_layer_by_sql():
+ if 'ogr' in mapnik.DatasourceCache.plugin_names():
++ if not os.path.exists('../data/shp/poly.shp'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/shp/poly.shp',
+ layer_by_sql='SELECT * FROM poly WHERE EAS_ID = 168')
+ features = ds.all_features()
+@@ -164,6 +189,9 @@ def test_hit_grid():
+ return ["%d:%s" % (len(list(group)), name)
+ for name, group in groupby(l)]
+
++ if not os.path.exists('../data/good_maps/agg_poly_gamma_map.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ try:
+ mapnik.load_map(m, '../data/good_maps/agg_poly_gamma_map.xml')
+--- a/test/python_tests/extra_map_props_test.py
++++ b/test/python_tests/extra_map_props_test.py
+@@ -4,6 +4,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -17,6 +18,9 @@ def setup():
+
+
+ def test_arbitrary_parameters_attached_to_map():
++ if not os.path.exists('../data/good_maps/extra_arbitary_map_parameters.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/extra_arbitary_map_parameters.xml')
+ eq_(len(m.parameters), 5)
+--- a/test/python_tests/feature_id_test.py
++++ b/test/python_tests/feature_id_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -21,6 +22,9 @@ def setup():
+
+
+ def compare_shape_between_mapnik_and_ogr(shapefile, query=None):
++ if not os.path.exists(shapefile):
++ raise SkipTest
++
+ plugins = mapnik.DatasourceCache.plugin_names()
+ if 'shape' in plugins and 'ogr' in plugins:
+ ds1 = mapnik.Ogr(file=shapefile, layer_by_index=0)
+@@ -49,6 +53,9 @@ def test_shapefile_polygon_featureset_id
+
+
+ def test_shapefile_polygon_feature_query_id():
++ if not os.path.exists('../data/shp/world_merc.shp'):
++ raise SkipTest
++
+ bbox = (15523428.2632, 4110477.6323, -11218494.8310, 7495720.7404)
+ query = mapnik.Query(mapnik.Box2d(*bbox))
+ if 'ogr' in mapnik.DatasourceCache.plugin_names():
+--- a/test/python_tests/fontset_test.py
++++ b/test/python_tests/fontset_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -16,6 +17,9 @@ def setup():
+
+
+ def test_loading_fontset_from_map():
++ if not os.path.exists('../data/good_maps/fontset.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/fontset.xml', True)
+ fs = m.find_fontset('book-fonts')
+--- a/test/python_tests/geojson_plugin_test.py
++++ b/test/python_tests/geojson_plugin_test.py
+@@ -4,6 +4,7 @@
+ import os
+
+ from nose.tools import assert_almost_equal, eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -18,6 +19,9 @@ def setup():
+ if 'geojson' in mapnik.DatasourceCache.plugin_names():
+
+ def test_geojson_init():
++ if not os.path.exists('../data/json/escaped.geojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='geojson',
+ file='../data/json/escaped.geojson')
+@@ -28,6 +32,9 @@ if 'geojson' in mapnik.DatasourceCache.p
+ assert_almost_equal(e.maxy, 41.480573, places=3)
+
+ def test_geojson_properties():
++ if not os.path.exists('../data/json/escaped.geojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='geojson',
+ file='../data/json/escaped.geojson')
+@@ -64,6 +71,9 @@ if 'geojson' in mapnik.DatasourceCache.p
+ eq_(f['NOM_FR'], u'Québec')
+
+ def test_large_geojson_properties():
++ if not os.path.exists('../data/json/escaped.geojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='geojson',
+ file='../data/json/escaped.geojson',
+@@ -115,6 +125,9 @@ if 'geojson' in mapnik.DatasourceCache.p
+
+ # @raises(RuntimeError)
+ def test_that_nonexistant_query_field_throws(**kwargs):
++ if not os.path.exists('../data/json/escaped.geojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='geojson',
+ file='../data/json/escaped.geojson')
+@@ -131,6 +144,9 @@ if 'geojson' in mapnik.DatasourceCache.p
+ # fs = ds.features(query)
+
+ def test_parsing_feature_collection_with_top_level_properties():
++ if not os.path.exists('../data/json/feature_collection_level_properties.json'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='geojson',
+ file='../data/json/feature_collection_level_properties.json')
+--- a/test/python_tests/image_filters_test.py
++++ b/test/python_tests/image_filters_test.py
+@@ -4,6 +4,7 @@ import os
+ import re
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -31,6 +32,9 @@ def test_append():
+
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
+ def test_style_level_image_filter():
++ if not os.path.exists('../data/good_maps/style_level_image_filter.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/style_level_image_filter.xml')
+ m.zoom_all()
+--- a/test/python_tests/image_test.py
++++ b/test/python_tests/image_test.py
+@@ -5,6 +5,7 @@ import os
+ import sys
+
+ from nose.tools import assert_almost_equal, eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -370,6 +371,9 @@ def test_png_round_trip():
+
+
+ def test_image_open_from_string():
++ if not os.path.exists('../data/images/dummy.png'):
++ raise SkipTest
++
+ filepath = '../data/images/dummy.png'
+ im1 = mapnik.Image.open(filepath)
+ with open(filepath, READ_FLAGS) as f:
+--- a/test/python_tests/image_tiff_test.py
++++ b/test/python_tests/image_tiff_test.py
+@@ -5,6 +5,7 @@ import hashlib
+ import os
+
+ from nose.tools import assert_not_equal, eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -208,6 +209,9 @@ def test_tiff_round_trip_tiled():
+
+
+ def test_tiff_rgb8_compare():
++ if not os.path.exists('../data/tiff/ndvi_256x256_rgb8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_rgb8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-rgb8.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -223,6 +227,9 @@ def test_tiff_rgb8_compare():
+
+
+ def test_tiff_rgba8_compare_scanline():
++ if not os.path.exists('../data/tiff/ndvi_256x256_rgba8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_rgba8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-rgba8-scanline.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -239,6 +246,9 @@ def test_tiff_rgba8_compare_scanline():
+
+
+ def test_tiff_rgba8_compare_stripped():
++ if not os.path.exists('../data/tiff/ndvi_256x256_rgba8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_rgba8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-rgba8-stripped.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -255,6 +265,9 @@ def test_tiff_rgba8_compare_stripped():
+
+
+ def test_tiff_rgba8_compare_tiled():
++ if not os.path.exists('../data/tiff/ndvi_256x256_rgba8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_rgba8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-rgba8-stripped.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -271,6 +284,9 @@ def test_tiff_rgba8_compare_tiled():
+
+
+ def test_tiff_gray8_compare_scanline():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray8-scanline.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -287,6 +303,9 @@ def test_tiff_gray8_compare_scanline():
+
+
+ def test_tiff_gray8_compare_stripped():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray8-stripped.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -303,6 +322,9 @@ def test_tiff_gray8_compare_stripped():
+
+
+ def test_tiff_gray8_compare_tiled():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray8_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray8_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray8-tiled.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -319,6 +341,9 @@ def test_tiff_gray8_compare_tiled():
+
+
+ def test_tiff_gray16_compare_scanline():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray16_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray16_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray16-scanline.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -335,6 +360,9 @@ def test_tiff_gray16_compare_scanline():
+
+
+ def test_tiff_gray16_compare_stripped():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray16_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray16_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray16-stripped.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -351,6 +379,9 @@ def test_tiff_gray16_compare_stripped():
+
+
+ def test_tiff_gray16_compare_tiled():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray16_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray16_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray16-tiled.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -367,6 +398,9 @@ def test_tiff_gray16_compare_tiled():
+
+
+ def test_tiff_gray32f_compare_scanline():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray32f_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray32f_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray32f-scanline.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -383,6 +417,9 @@ def test_tiff_gray32f_compare_scanline()
+
+
+ def test_tiff_gray32f_compare_stripped():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray32f_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray32f_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray32f-stripped.tiff'
+ im = mapnik.Image.open(filepath1)
+@@ -399,6 +436,9 @@ def test_tiff_gray32f_compare_stripped()
+
+
+ def test_tiff_gray32f_compare_tiled():
++ if not os.path.exists('../data/tiff/ndvi_256x256_gray32f_striped.tif'):
++ raise SkipTest
++
+ filepath1 = '../data/tiff/ndvi_256x256_gray32f_striped.tif'
+ filepath2 = '/tmp/mapnik-tiff-gray32f-tiled.tiff'
+ im = mapnik.Image.open(filepath1)
+--- a/test/python_tests/layer_buffer_size_test.py
++++ b/test/python_tests/layer_buffer_size_test.py
+@@ -2,6 +2,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -19,6 +20,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ # override the postive map buffer leading
+ # only one point to be rendered in the map
+ def test_layer_buffer_size_1():
++ if not os.path.exists('../data/good_maps/layer_buffer_size_reduction.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ eq_(m.buffer_size, 0)
+ mapnik.load_map(m, '../data/good_maps/layer_buffer_size_reduction.xml')
+--- a/test/python_tests/layer_modification_test.py
++++ b/test/python_tests/layer_modification_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -16,6 +17,9 @@ def setup():
+
+
+ def test_adding_datasource_to_layer():
++ if not os.path.exists('../data/shp/world_merc.shp'):
++ raise SkipTest
++
+ map_string = '''<?xml version="1.0" encoding="utf-8"?>
+ <Map>
+
+--- a/test/python_tests/map_query_test.py
++++ b/test/python_tests/map_query_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import assert_almost_equal, eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -43,6 +44,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ # map has never been zoomed (even with data)
+ @raises(RuntimeError)
+ def test_map_query_throw4():
++ if not os.path.exists('../data/good_maps/agg_poly_gamma_map.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/agg_poly_gamma_map.xml')
+ m.query_point(0, 0, 0)
+@@ -50,12 +54,18 @@ if 'shape' in mapnik.DatasourceCache.plu
+ # invalid coords in general (do not intersect)
+ @raises(RuntimeError)
+ def test_map_query_throw5():
++ if not os.path.exists('../data/good_maps/agg_poly_gamma_map.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/agg_poly_gamma_map.xml')
+ m.zoom_all()
+ m.query_point(0, 9999999999999999, 9999999999999999)
+
+ def test_map_query_works1():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/wgs842merc_reprojection.xml')
+ merc_bounds = mapnik.Box2d(-20037508.34, -
+@@ -68,6 +78,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ eq_(feat.attributes['NAME_FORMA'], u'United States of America')
+
+ def test_map_query_works2():
++ if not os.path.exists('../data/good_maps/merc2wgs84_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/merc2wgs84_reprojection.xml')
+ wgs84_bounds = mapnik.Box2d(-179.999999975, -
+@@ -87,6 +100,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ eq_(feat.attributes['NAME'], u'United States')
+
+ def test_map_query_in_pixels_works1():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/wgs842merc_reprojection.xml')
+ merc_bounds = mapnik.Box2d(-20037508.34, -
+@@ -98,6 +114,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ eq_(feat.attributes['NAME_FORMA'], u'United States of America')
+
+ def test_map_query_in_pixels_works2():
++ if not os.path.exists('../data/good_maps/merc2wgs84_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/merc2wgs84_reprojection.xml')
+ wgs84_bounds = mapnik.Box2d(-179.999999975, -
+--- a/test/python_tests/markers_complex_rendering_test.py
++++ b/test/python_tests/markers_complex_rendering_test.py
+@@ -2,6 +2,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -15,6 +16,9 @@ def setup():
+
+ if 'csv' in mapnik.DatasourceCache.plugin_names():
+ def test_marker_ellipse_render1():
++ if not os.path.exists('../data/good_maps/marker_ellipse_transform.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/marker_ellipse_transform.xml')
+ m.zoom_all()
+@@ -32,6 +36,9 @@ if 'csv' in mapnik.DatasourceCache.plugi
+ 'test/python_tests/' + expected))
+
+ def test_marker_ellipse_render2():
++ if not os.path.exists('../data/good_maps/marker_ellipse_transform2.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/marker_ellipse_transform2.xml')
+ m.zoom_all()
+--- a/test/python_tests/ogr_and_shape_geometries_test.py
++++ b/test/python_tests/ogr_and_shape_geometries_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -30,6 +31,9 @@ plugins = mapnik.DatasourceCache.plugin_
+ if 'shape' in plugins and 'ogr' in plugins:
+
+ def ensure_geometries_are_interpreted_equivalently(filename):
++ if not os.path.exists(filename):
++ raise SkipTest
++
+ ds1 = mapnik.Ogr(file=filename, layer_by_index=0)
+ ds2 = mapnik.Shapefile(file=filename)
+ fs1 = ds1.featureset()
+--- a/test/python_tests/ogr_test.py
++++ b/test/python_tests/ogr_test.py
+@@ -4,6 +4,7 @@
+ import os
+
+ from nose.tools import assert_almost_equal, eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -24,6 +25,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+
+ # Shapefile initialization
+ def test_shapefile_init():
++ if not os.path.exists('../data/shp/boundaries.shp'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/shp/boundaries.shp', layer_by_index=0)
+ e = ds.envelope()
+ assert_almost_equal(e.minx, -11121.6896651, places=7)
+@@ -36,6 +40,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+
+ # Shapefile properties
+ def test_shapefile_properties():
++ if not os.path.exists('../data/shp/boundaries.shp'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/shp/boundaries.shp', layer_by_index=0)
+ f = list(ds.features_at_point(ds.envelope().center(), 0.001))[0]
+ eq_(ds.geometry_type(), mapnik.DataGeometryType.Polygon)
+@@ -56,6 +63,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+
+ @raises(RuntimeError)
+ def test_that_nonexistant_query_field_throws(**kwargs):
++ if not os.path.exists('../data/shp/world_merc.shp'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/shp/world_merc.shp', layer_by_index=0)
+ eq_(len(ds.fields()), 11)
+ eq_(ds.fields(), ['FIPS', 'ISO2', 'ISO3', 'UN', 'NAME',
+@@ -87,6 +97,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+
+ # OGR plugin extent parameter
+ def test_ogr_extent_parameter():
++ if not os.path.exists('../data/shp/world_merc.shp'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(
+ file='../data/shp/world_merc.shp',
+ layer_by_index=0,
+@@ -101,6 +114,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+ eq_('+proj=merc' in meta['proj4'], True)
+
+ def test_ogr_reading_gpx_waypoint():
++ if not os.path.exists('../data/gpx/empty.gpx'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/gpx/empty.gpx', layer='waypoints')
+ e = ds.envelope()
+ eq_(e.minx, -122)
+@@ -112,6 +128,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+ eq_('+proj=longlat' in meta['proj4'], True)
+
+ def test_ogr_empty_data_should_not_throw():
++ if not os.path.exists('../data/gpx/empty.gpx'):
++ raise SkipTest
++
+ default_logging_severity = mapnik.logger.get_severity()
+ mapnik.logger.set_severity(getattr(mapnik.severity_type, "None"))
+ # use logger to silence expected warnings
+@@ -134,6 +153,9 @@ if 'ogr' in mapnik.DatasourceCache.plugi
+ # eq_(len(fs),1)
+
+ def test_geometry_type():
++ if not os.path.exists('../data/csv/wkt.csv'):
++ raise SkipTest
++
+ ds = mapnik.Ogr(file='../data/csv/wkt.csv', layer_by_index=0)
+ e = ds.envelope()
+ assert_almost_equal(e.minx, 1.0, places=1)
+--- a/test/python_tests/palette_test.py
++++ b/test/python_tests/palette_test.py
+@@ -5,6 +5,7 @@ import os
+ import sys
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -26,6 +27,9 @@ expected_rgb = '[Palette 2 colors #ff00f
+
+
+ def test_reading_palettes():
++ if not os.path.exists('../data/palettes/palette64.act') or not os.path.exists('../data/palettes/palette256.act'):
++ raise SkipTest
++
+ with open('../data/palettes/palette64.act', 'rb') as act:
+ palette = mapnik.Palette(act.read(), 'act')
+ eq_(palette.to_string(), expected_64)
+@@ -41,6 +45,9 @@ def test_reading_palettes():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
+
+ def test_render_with_palette():
++ if not os.path.exists('../data/good_maps/agg_poly_gamma_map.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(600, 400)
+ mapnik.load_map(m, '../data/good_maps/agg_poly_gamma_map.xml')
+ m.zoom_all()
+--- a/test/python_tests/png_encoding_test.py
++++ b/test/python_tests/png_encoding_test.py
+@@ -4,6 +4,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -152,6 +153,9 @@ if mapnik.has_png():
+ eq_(t0_len < t1_len < t2_len, True)
+
+ def test_transparency_levels_aerial():
++ if not os.path.exists('../data/images/12_654_1580.png'):
++ raise SkipTest
++
+ im = mapnik.Image.open('../data/images/12_654_1580.png')
+ im_in = mapnik.Image.open(
+ './images/support/transparency/aerial_rgba.png')
+--- a/test/python_tests/pngsuite_test.py
++++ b/test/python_tests/pngsuite_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import assert_raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -26,6 +27,9 @@ def assert_good_file(fname):
+
+
+ def get_pngs(good):
++ if not os.path.exists(datadir):
++ raise SkipTest
++
+ files = [x for x in os.listdir(datadir) if x.endswith('.png')]
+ return [os.path.join(datadir, x)
+ for x in files if good != x.startswith('x')]
+--- a/test/python_tests/query_tolerance_test.py
++++ b/test/python_tests/query_tolerance_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -16,6 +17,9 @@ def setup():
+
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
+ def test_query_tolerance():
++ if not os.path.exists('../data/shp/arrows.shp'):
++ raise SkipTest
++
+ srs = '+init=epsg:4326'
+ lyr = mapnik.Layer('test')
+ ds = mapnik.Shapefile(file='../data/shp/arrows.shp')
+--- a/test/python_tests/raster_symbolizer_test.py
++++ b/test/python_tests/raster_symbolizer_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -16,6 +17,9 @@ def setup():
+
+
+ def test_dataraster_coloring():
++ if not os.path.exists('../data/raster/dataraster.tif'):
++ raise SkipTest
++
+ srs = '+init=epsg:32630'
+ lyr = mapnik.Layer('dataraster')
+ if 'gdal' in mapnik.DatasourceCache.plugin_names():
+@@ -72,6 +76,9 @@ def test_dataraster_coloring():
+
+
+ def test_dataraster_query_point():
++ if not os.path.exists('../data/raster/dataraster.tif'):
++ raise SkipTest
++
+ srs = '+init=epsg:32630'
+ lyr = mapnik.Layer('dataraster')
+ if 'gdal' in mapnik.DatasourceCache.plugin_names():
+@@ -106,6 +113,9 @@ def test_dataraster_query_point():
+
+
+ def test_load_save_map():
++ if not os.path.exists('../data/good_maps/raster_symbolizer.xml'):
++ raise SkipTest
++
+ map = mapnik.Map(256, 256)
+ in_map = "../data/good_maps/raster_symbolizer.xml"
+ try:
+@@ -122,6 +132,9 @@ def test_load_save_map():
+
+
+ def test_raster_with_alpha_blends_correctly_with_background():
++ if not os.path.exists('../data/raster/white-alpha.png'):
++ raise SkipTest
++
+ WIDTH = 500
+ HEIGHT = 500
+
+@@ -157,6 +170,9 @@ def test_raster_with_alpha_blends_correc
+
+
+ def test_raster_warping():
++ if not os.path.exists('../data/raster/dataraster.tif'):
++ raise SkipTest
++
+ lyrSrs = "+init=epsg:32630"
+ mapSrs = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'
+ lyr = mapnik.Layer('dataraster', lyrSrs)
+@@ -198,6 +214,9 @@ def test_raster_warping():
+
+
+ def test_raster_warping_does_not_overclip_source():
++ if not os.path.exists('../data/raster/dataraster.tif'):
++ raise SkipTest
++
+ lyrSrs = "+init=epsg:32630"
+ mapSrs = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'
+ lyr = mapnik.Layer('dataraster', lyrSrs)
+--- a/test/python_tests/render_test.py
++++ b/test/python_tests/render_test.py
+@@ -6,6 +6,7 @@ import sys
+ import tempfile
+
+ from nose.tools import eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -126,6 +127,9 @@ def get_paired_images(w, h, mapfile):
+
+
+ def test_render_from_serialization():
++ if not os.path.exists('../data/good_maps/building_symbolizer.xml') or not os.path.exists('../data/good_maps/polygon_symbolizer.xml'):
++ raise SkipTest
++
+ try:
+ im, im2 = get_paired_images(
+ 100, 100, '../data/good_maps/building_symbolizer.xml')
+@@ -263,6 +267,9 @@ def test_render_with_detector():
+ if 'shape' in mapnik.DatasourceCache.plugin_names():
+
+ def test_render_with_scale_factor():
++ if not os.path.exists('../data/good_maps/marker-text-line.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(256, 256)
+ mapnik.load_map(m, '../data/good_maps/marker-text-line.xml')
+ m.zoom_all()
+--- a/test/python_tests/reprojection_test.py
++++ b/test/python_tests/reprojection_test.py
+@@ -2,6 +2,7 @@
+ import os
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -17,11 +18,17 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ #@raises(RuntimeError)
+ def test_zoom_all_will_fail():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/wgs842merc_reprojection.xml')
+ m.zoom_all()
+
+ def test_zoom_all_will_work_with_max_extent():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/wgs842merc_reprojection.xml')
+ merc_bounds = mapnik.Box2d(-20037508.34, -
+@@ -39,6 +46,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ # eq_(m.envelope(),merc_bounds)
+
+ def test_visual_zoom_all_rendering1():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/wgs842merc_reprojection.xml')
+ merc_bounds = mapnik.Box2d(-20037508.34, -
+@@ -57,6 +67,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ 'test/python_tests/' + expected))
+
+ def test_visual_zoom_all_rendering2():
++ if not os.path.exists('../data/good_maps/wgs842merc_reprojection.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/merc2wgs84_reprojection.xml')
+ m.zoom_all()
+@@ -73,6 +86,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # maximum-extent read from map.xml
+ def test_visual_zoom_all_rendering3():
++ if not os.path.exists('../data/good_maps/bounds_clipping.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/bounds_clipping.xml')
+ m.zoom_all()
+@@ -89,6 +105,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # no maximum-extent
+ def test_visual_zoom_all_rendering4():
++ if not os.path.exists('../data/good_maps/bounds_clipping.xml'):
++ raise SkipTest
++
+ m = mapnik.Map(512, 512)
+ mapnik.load_map(m, '../data/good_maps/bounds_clipping.xml')
+ m.maximum_extent = None
+--- a/test/python_tests/save_map_test.py
++++ b/test/python_tests/save_map_test.py
+@@ -5,6 +5,7 @@ import os
+ import tempfile
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -70,6 +71,9 @@ def compare_map(xml):
+
+
+ def test_compare_map():
++ if not os.path.exists('../data/good_maps/'):
++ raise SkipTest
++
+ good_maps = glob.glob("../data/good_maps/*.xml")
+ good_maps = [os.path.normpath(p) for p in good_maps]
+ # remove one map that round trips CDATA differently, but this is okay
+@@ -85,6 +89,9 @@ def test_compare_map():
+
+
+ def test_compare_map_deprecations():
++ if not os.path.exists('../data/deprecated_maps/'):
++ raise SkipTest
++
+ dep = glob.glob("../data/deprecated_maps/*.xml")
+ dep = [os.path.normpath(p) for p in dep]
+ for m in dep:
+--- a/test/python_tests/shapefile_test.py
++++ b/test/python_tests/shapefile_test.py
+@@ -4,6 +4,7 @@
+ import os
+
+ from nose.tools import assert_almost_equal, eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -19,6 +20,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # Shapefile initialization
+ def test_shapefile_init():
++ if not os.path.exists('../data/shp/boundaries'):
++ raise SkipTest
++
+ s = mapnik.Shapefile(file='../data/shp/boundaries')
+
+ e = s.envelope()
+@@ -30,6 +34,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # Shapefile properties
+ def test_shapefile_properties():
++ if not os.path.exists('../data/shp/boundaries'):
++ raise SkipTest
++
+ s = mapnik.Shapefile(file='../data/shp/boundaries', encoding='latin1')
+ f = list(s.features_at_point(s.envelope().center()))[0]
+
+@@ -45,6 +52,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ @raises(RuntimeError)
+ def test_that_nonexistant_query_field_throws(**kwargs):
++ if not os.path.exists('../data/shp/world_merc'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/world_merc')
+ eq_(len(ds.fields()), 11)
+ eq_(ds.fields(), ['FIPS', 'ISO2', 'ISO3', 'UN', 'NAME',
+@@ -69,6 +79,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ ds.features(query)
+
+ def test_dbf_logical_field_is_boolean():
++ if not os.path.exists('../data/shp/long_lat'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/long_lat')
+ eq_(len(ds.fields()), 7)
+ eq_(ds.fields(), ['LONG', 'LAT', 'LOGICAL_TR',
+@@ -90,6 +103,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # created by hand in qgis 1.8.0
+ def test_shapefile_point2d_from_qgis():
++ if not os.path.exists('../data/shp/points/qgis.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/points/qgis.shp')
+ eq_(len(ds.fields()), 2)
+ eq_(ds.fields(), ['id', 'name'])
+@@ -99,6 +115,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ # ogr2ogr tests/data/shp/3dpoint/ogr_zfield.shp
+ # tests/data/shp/3dpoint/qgis.shp -zfield id
+ def test_shapefile_point_z_from_qgis():
++ if not os.path.exists('../data/shp/points/ogr_zfield.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/points/ogr_zfield.shp')
+ eq_(len(ds.fields()), 2)
+ eq_(ds.fields(), ['id', 'name'])
+@@ -106,6 +125,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+ eq_(len(list(ds.all_features())), 3)
+
+ def test_shapefile_multipoint_from_qgis():
++ if not os.path.exists('../data/shp/points/qgis_multi.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/points/qgis_multi.shp')
+ eq_(len(ds.fields()), 2)
+ eq_(ds.fields(), ['id', 'name'])
+@@ -114,6 +136,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # pointzm from arcinfo
+ def test_shapefile_point_zm_from_arcgis():
++ if not os.path.exists('../data/shp/points/poi.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/points/poi.shp')
+ eq_(len(ds.fields()), 7)
+ eq_(ds.fields(),
+@@ -130,6 +155,9 @@ if 'shape' in mapnik.DatasourceCache.plu
+
+ # copy of the above with ogr2ogr that makes m record 14 instead of 18
+ def test_shapefile_point_zm_from_ogr():
++ if not os.path.exists('../data/shp/points/poi_ogr.shp'):
++ raise SkipTest
++
+ ds = mapnik.Shapefile(file='../data/shp/points/poi_ogr.shp')
+ eq_(len(ds.fields()), 7)
+ eq_(ds.fields(),
+--- a/test/python_tests/shapeindex_test.py
++++ b/test/python_tests/shapeindex_test.py
+@@ -6,6 +6,7 @@ import shutil
+ from subprocess import PIPE, Popen
+
+ from nose.tools import eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -19,6 +20,9 @@ def setup():
+
+
+ def test_shapeindex():
++ if not os.path.exists('../data/shp/'):
++ raise SkipTest
++
+ # first copy shapefiles to tmp directory
+ source_dir = '../data/shp/'
+ working_dir = '/tmp/mapnik-shp-tmp/'
+--- a/test/python_tests/sqlite_test.py
++++ b/test/python_tests/sqlite_test.py
+@@ -3,6 +3,7 @@
+ import os
+
+ from nose.tools import eq_, raises
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -23,6 +24,9 @@ def teardown():
+ if 'sqlite' in mapnik.DatasourceCache.plugin_names():
+
+ def test_attachdb_with_relative_file():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ # The point table and index is in the qgis_spatiallite.sqlite
+ # database. If either is not found, then this fails
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+@@ -36,6 +40,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_relative_file.requires_data = True
+
+ def test_attachdb_with_multiple_files():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='attachedtest',
+ attachdb='scratch1@:memory:,scratch2@:memory:',
+@@ -57,6 +64,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_multiple_files.requires_data = True
+
+ def test_attachdb_with_absolute_file():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ # The point table and index is in the qgis_spatiallite.sqlite
+ # database. If either is not found, then this fails
+ ds = mapnik.SQLite(file=os.getcwd() + '/../data/sqlite/world.sqlite',
+@@ -70,6 +80,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_absolute_file.requires_data = True
+
+ def test_attachdb_with_index():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='attachedtest',
+ attachdb='scratch@:memory:',
+@@ -91,6 +104,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_index.requires_data = True
+
+ def test_attachdb_with_explicit_index():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='attachedtest',
+ index_table='myindex',
+@@ -112,6 +128,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_explicit_index.requires_data = True
+
+ def test_attachdb_with_sql_join():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='(select * from world_merc INNER JOIN business on world_merc.iso3 = business.ISO3 limit 100)',
+ attachdb='busines at business.sqlite'
+@@ -223,6 +242,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join.requires_data = True
+
+ def test_attachdb_with_sql_join_count():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='(select * from world_merc INNER JOIN business on world_merc.iso3 = business.ISO3 limit 100)',
+ attachdb='busines at business.sqlite'
+@@ -293,6 +315,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join_count.requires_data = True
+
+ def test_attachdb_with_sql_join_count2():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ '''
+ sqlite3 world.sqlite
+ attach database 'business.sqlite' as business;
+@@ -368,6 +393,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join_count2.requires_data = True
+
+ def test_attachdb_with_sql_join_count3():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ '''
+ select count(*) from (select * from world_merc where 1=1) as world_merc INNER JOIN business on world_merc.iso3 = business.ISO3;
+ '''
+@@ -441,6 +469,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join_count3.requires_data = True
+
+ def test_attachdb_with_sql_join_count4():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ '''
+ select count(*) from (select * from world_merc where 1=1) as world_merc INNER JOIN business on world_merc.iso3 = business.ISO3;
+ '''
+@@ -514,6 +545,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join_count4.requires_data = True
+
+ def test_attachdb_with_sql_join_count5():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ '''
+ select count(*) from (select * from world_merc where 1=1) as world_merc INNER JOIN business on world_merc.iso3 = business.ISO3;
+ '''
+@@ -555,6 +589,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_attachdb_with_sql_join_count5.requires_data = True
+
+ def test_subqueries():
++ if not os.path.exists('../data/sqlite/world.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/world.sqlite',
+ table='world_merc',
+ )
+@@ -629,6 +666,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_subqueries.requires_data = True
+
+ def test_empty_db():
++ if not os.path.exists('../data/sqlite/empty.db'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/empty.db',
+ table='empty',
+ )
+@@ -644,6 +684,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+
+ @raises(RuntimeError)
+ def test_that_nonexistant_query_field_throws(**kwargs):
++ if not os.path.exists('../data/sqlite/empty.db'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/empty.db',
+ table='empty',
+ )
+@@ -710,6 +753,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_that_nonexistant_query_field_throws.requires_data = True
+
+ def test_intersects_token1():
++ if not os.path.exists('../data/sqlite/empty.db'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/empty.db',
+ table='(select * from empty where !intersects!)',
+ )
+@@ -724,6 +770,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_intersects_token1.requires_data = True
+
+ def test_intersects_token2():
++ if not os.path.exists('../data/sqlite/empty.db'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/empty.db',
+ table='(select * from empty where "a"!="b" and !intersects!)',
+ )
+@@ -738,6 +787,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ test_intersects_token2.requires_data = True
+
+ def test_intersects_token3():
++ if not os.path.exists('../data/sqlite/empty.db'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/empty.db',
+ table='(select * from empty where "a"!="b" and !intersects!)',
+ )
+@@ -815,6 +867,9 @@ if 'sqlite' in mapnik.DatasourceCache.pl
+ eq_(ds.field_types(), ['int', 'str', 'int'])
+
+ def test_that_64bit_int_fields_work():
++ if not os.path.exists('../data/sqlite/64bit_int.sqlite'):
++ raise SkipTest
++
+ ds = mapnik.SQLite(file='../data/sqlite/64bit_int.sqlite',
+ table='int_table',
+ use_spatial_index=False
+--- a/test/python_tests/topojson_plugin_test.py
++++ b/test/python_tests/topojson_plugin_test.py
+@@ -5,6 +5,7 @@ from __future__ import absolute_import,
+ import os
+
+ from nose.tools import assert_almost_equal, eq_
++from nose.plugins.skip import SkipTest
+
+ import mapnik
+
+@@ -19,6 +20,9 @@ def setup():
+ if 'topojson' in mapnik.DatasourceCache.plugin_names():
+
+ def test_topojson_init():
++ if not os.path.exists('../data/topojson/escaped.topojson'):
++ raise SkipTest
++
+ # topojson tests/data/json/escaped.geojson -o tests/data/topojson/escaped.topojson --properties
+ # topojson version 1.4.2
+ ds = mapnik.Datasource(
+@@ -31,6 +35,9 @@ if 'topojson' in mapnik.DatasourceCache.
+ assert_almost_equal(e.maxy, 41.480573, places=3)
+
+ def test_topojson_properties():
++ if not os.path.exists('../data/topojson/escaped.topojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='topojson',
+ file='../data/topojson/escaped.topojson')
+@@ -67,6 +74,9 @@ if 'topojson' in mapnik.DatasourceCache.
+ eq_(f['NOM_FR'], u'Québec')
+
+ def test_geojson_from_in_memory_string():
++ if not os.path.exists('../data/topojson/escaped.topojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='topojson',
+ inline=open(
+@@ -89,6 +99,9 @@ if 'topojson' in mapnik.DatasourceCache.
+
+ # @raises(RuntimeError)
+ def test_that_nonexistant_query_field_throws(**kwargs):
++ if not os.path.exists('../data/topojson/escaped.topojson'):
++ raise SkipTest
++
+ ds = mapnik.Datasource(
+ type='topojson',
+ file='../data/topojson/escaped.topojson')
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/python-mapnik.git
More information about the Pkg-grass-devel
mailing list