X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6551399bcc3ee347953aebdc586f167f63687330..6867b240d5d23c22ae04c57d65881d54d793da73:/test/bdd/environment.py diff --git a/test/bdd/environment.py b/test/bdd/environment.py index a1a9c0bd..aca7929d 100644 --- a/test/bdd/environment.py +++ b/test/bdd/environment.py @@ -4,6 +4,7 @@ import os import psycopg2 import psycopg2.extras import subprocess +import tempfile from nose.tools import * # for assert functions from sys import version_info as python_version @@ -40,6 +41,7 @@ class NominatimEnvironment(object): def write_nominatim_config(self, dbname): f = open(self.local_settings_file, 'w') f.write("') - logger.debug("running osm2pgsql for template: %s\n%s\n%s" % (osm2pgsql, outstr, errstr)) - self.run_setup_script('create-functions', 'create-tables', - 'create-partition-tables', 'create-partition-functions', - 'load-data', 'create-search-indices') + # execute osm2pgsql import on an empty file to get the right tables + with tempfile.NamedTemporaryFile(dir='/tmp', suffix='.xml') as fd: + fd.write(b'') + fd.flush() + self.run_setup_script('import-data', + 'ignore-errors', + 'create-functions', + 'create-tables', + 'create-partition-tables', + 'create-partition-functions', + 'load-data', + 'create-search-indices', + osm_file=fd.name, + osm2pgsql_cache='200') def setup_api_db(self, context): self.write_nominatim_config(self.api_test_db) @@ -153,8 +158,9 @@ class OSMDataFactory(object): def parse_geometry(self, geom, scene): if geom.find(':') >= 0: - out = "POINT(%s)" % self.get_scene_geometry(scene, geom) - elif geom.find(',') < 0: + return "ST_SetSRID(%s, 4326)" % self.get_scene_geometry(scene, geom) + + if geom.find(',') < 0: out = "POINT(%s)" % self.mk_wkt_point(geom) elif geom.find('(') < 0: line = ','.join([self.mk_wkt_point(x) for x in geom.split(',')])