@@ -44,12 +44,9 @@ def tearDownClass(cls):
4444 """Run after all tests"""
4545 shutil .rmtree (cls .basetestpath , True )
4646
47+ @unittest .expectedFailure (int (gdal .VersionInfo ('VERSION_NUM' )) < GDAL_COMPUTE_VERSION (1 , 11 , 0 ))
4748 def testSingleToMultiPolygonPromotion (self ):
4849
49- version_num = int (gdal .VersionInfo ('VERSION_NUM' ))
50- if version_num < GDAL_COMPUTE_VERSION (1 , 11 , 0 ):
51- return
52-
5350 tmpfile = os .path .join (self .basetestpath , 'testSingleToMultiPolygonPromotion.gpkg' )
5451 ds = ogr .GetDriverByName ('GPKG' ).CreateDataSource (tmpfile )
5552 lyr = ds .CreateLayer ('test' , geom_type = ogr .wkbMultiPolygon )
@@ -59,15 +56,14 @@ def testSingleToMultiPolygonPromotion(self):
5956 f = QgsFeature ()
6057 f .setGeometry (QgsGeometry .fromWkt ('POLYGON ((0 0,0 1,1 1,0 0))' ))
6158 vl .dataProvider ().addFeatures ([f ])
62- got = [f .geometry ().exportToWkt (0 ) for f in vl .getFeatures ()][0 ]
63- self .assertEqual (got , 'MultiPolygon (((0 0, 0 1, 1 1, 0 0)))' )
59+ got = [f .geometry () for f in vl .getFeatures ()][0 ]
60+ reference = QgsGeometry .fromWkt ('MultiPolygon (((0 0, 0 1, 1 1, 0 0)))' )
61+ # The geometries must be binarily identical
62+ self .assertEqual (got .asWkb (), reference .asWkb (), 'Expected {}, got {}' .format (reference .exportToWkt (), got .exportToWkt ()))
6463
64+ @unittest .expectedFailure (int (gdal .VersionInfo ('VERSION_NUM' )) < GDAL_COMPUTE_VERSION (2 , 0 , 0 ))
6565 def testCurveGeometryType (self ):
6666
67- version_num = int (gdal .VersionInfo ('VERSION_NUM' ))
68- if version_num < GDAL_COMPUTE_VERSION (2 , 0 , 0 ):
69- return
70-
7167 tmpfile = os .path .join (self .basetestpath , 'testCurveGeometryType.gpkg' )
7268 ds = ogr .GetDriverByName ('GPKG' ).CreateDataSource (tmpfile )
7369 lyr = ds .CreateLayer ('test' , geom_type = ogr .wkbCurvePolygon )
@@ -78,11 +74,16 @@ def testCurveGeometryType(self):
7874 f = QgsFeature ()
7975 f .setGeometry (QgsGeometry .fromWkt ('POLYGON ((0 0,0 1,1 1,0 0))' ))
8076 vl .dataProvider ().addFeatures ([f ])
81- got = [f .geometry ().exportToWkt (0 ) for f in vl .getFeatures ()][0 ]
82- self .assertEqual (got , 'CurvePolygon ((0 0, 0 1, 1 1, 0 0))' )
77+ got = [f .geometry () for f in vl .getFeatures ()][0 ]
78+ reference = QgsGeometry .fromWkt ('CurvePolygon (((0 0, 0 1, 1 1, 0 0)))' )
79+ # The geometries must be binarily identical
80+ self .assertEqual (got .asWkb (), reference .asWkb (), 'Expected {}, got {}' .format (reference .exportToWkt (), got .exportToWkt ()))
8381
8482 def testFidSupport (self ):
8583
84+ # We do not use @unittest.expectedFailure since the test might actually succeed
85+ # on Linux 64bit with GDAL 1.11, where "long" is 64 bit...
86+ # GDAL 2.0 is guaranteed to properly support it on all platforms
8687 version_num = int (gdal .VersionInfo ('VERSION_NUM' ))
8788 if version_num < GDAL_COMPUTE_VERSION (2 , 0 , 0 ):
8889 return
0 commit comments