X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/b2df8e478a51ef2264efd63339f8356bd835bff5..6eb1113dcb569f07367a801e6ac2dcb9565ec7b8:/test/python/conftest.py diff --git a/test/python/conftest.py b/test/python/conftest.py index 4cea9fb3..f4581bf9 100644 --- a/test/python/conftest.py +++ b/test/python/conftest.py @@ -1,3 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# This file is part of Nominatim. (https://nominatim.org) +# +# Copyright (C) 2022 by the Nominatim developer community. +# For a full list of authors see the git log. import itertools import sys from pathlib import Path @@ -5,10 +11,9 @@ from pathlib import Path import psycopg2 import pytest -SRC_DIR = (Path(__file__) / '..' / '..' / '..').resolve() - # always test against the source -sys.path.insert(0, str(SRC_DIR.resolve())) +SRC_DIR = (Path(__file__) / '..' / '..' / '..').resolve() +sys.path.insert(0, str(SRC_DIR)) from nominatim.config import Configuration from nominatim.db import connection @@ -20,6 +25,11 @@ import mocks from cursor import CursorForTesting +@pytest.fixture +def src_dir(): + return SRC_DIR + + @pytest.fixture def temp_db(monkeypatch): """ Create an empty database for the test. The database name is also @@ -97,18 +107,25 @@ def table_factory(temp_db_cursor): @pytest.fixture -def def_config(): - cfg = Configuration(None, SRC_DIR.resolve() / 'settings') +def def_config(src_dir): + cfg = Configuration(None, src_dir / 'settings') cfg.set_libdirs(module='.', osm2pgsql='.', - php=SRC_DIR / 'lib-php', - sql=SRC_DIR / 'lib-sql', - data=SRC_DIR / 'data') + php=src_dir / 'lib-php', + sql=src_dir / 'lib-sql', + data=src_dir / 'data') return cfg @pytest.fixture -def src_dir(): - return SRC_DIR.resolve() +def project_env(src_dir, tmp_path): + projdir = tmp_path / 'project' + projdir.mkdir() + cfg = Configuration(projdir, src_dir / 'settings') + cfg.set_libdirs(module='.', osm2pgsql='.', + php=src_dir / 'lib-php', + sql=src_dir / 'lib-sql', + data=src_dir / 'data') + return cfg @pytest.fixture