]> git.openstreetmap.org Git - nominatim.git/blobdiff - tests/steps/terrain.py
enable test execution using ctest
[nominatim.git] / tests / steps / terrain.py
index cfd243db4cada7443f5b1ee031e09cd2e0d17f97..349deafed691d76e1c58a8a49f77c632a112a4bf 100644 (file)
@@ -23,11 +23,11 @@ class NominatimConfig:
             logging.basicConfig(level=loglevel)
         # Nominatim test setup
         self.base_url = os.environ.get('NOMINATIM_SERVER', 'http://localhost/nominatim')
-        self.source_dir = os.path.abspath(os.environ.get('NOMINATIM_DIR', '..'))
+        self.source_dir = os.path.abspath(os.environ.get('NOMINATIM_DIR', '../build'))
         self.template_db = os.environ.get('TEMPLATE_DB', 'test_template_nominatim')
         self.test_db = os.environ.get('TEST_DB', 'test_nominatim')
         self.local_settings_file = os.environ.get('NOMINATIM_SETTINGS', '/tmp/nominatim_settings.php')
-        self.reuse_template = 'NOMINATIM_REUSE_TEMPLATE' in os.environ
+        self.reuse_template = 'NOMINATIM_REMOVE_TEMPLATE' not in os.environ
         self.keep_scenario_db = 'NOMINATIM_KEEP_SCENARIO_DB' in os.environ
         os.environ['NOMINATIM_SETTINGS'] = '/tmp/nominatim_settings.php'
 
@@ -52,7 +52,8 @@ def write_nominatim_config(dbname):
 def run_nominatim_script(script, *args):
     cmd = [os.path.join(world.config.source_dir, 'utils', '%s.php' % script)]
     cmd.extend(['--%s' % x for x in args])
-    proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    proc = subprocess.Popen(cmd, cwd=world.config.source_dir,
+                            stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     (outp, outerr) = proc.communicate()
     assert (proc.returncode == 0), "Script '%s' failed:\n%s\n%s\n" % (script, outp, outerr)
 
@@ -94,7 +95,7 @@ def get_placeid(oid):
         q = 'SELECT place_id FROM placex where osm_type = %s and osm_id = %s and class = %s'
         params = (osmtype, osmid, cls)
     cur.execute(q, params)
-    assert_equals (cur.rowcount, 1)
+    assert_equals(cur.rowcount, 1, "%d rows found for place %s" % (cur.rowcount, oid))
     return cur.fetchone()[0]
 
 
@@ -176,8 +177,9 @@ def db_template_setup():
     conn.close()
     # execute osm2pgsql on an empty file to get the right tables
     osm2pgsql = os.path.join(world.config.source_dir, 'osm2pgsql', 'osm2pgsql')
-    proc = subprocess.Popen([osm2pgsql, '-lsc', '-O', 'gazetteer', '-d', world.config.template_db, '-'],
-    stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    proc = subprocess.Popen([osm2pgsql, '-lsc', '-r', 'xml', '-O', 'gazetteer', '-d', world.config.template_db, '-'],
+                            cwd=world.config.source_dir, stdin=subprocess.PIPE,
+                            stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     [outstr, errstr] = proc.communicate(input='<osm version="0.6"></osm>')
     world.run_nominatim_script('setup', 'create-functions', 'create-tables', 'create-partition-tables', 'create-partition-functions', 'load-data', 'create-search-indices')