From: Sarah Hoffmann Date: Mon, 4 Jan 2021 10:39:45 +0000 (+0100) Subject: create a temporary project dir for tests X-Git-Tag: v3.7.0~62^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/4aba70caeef6f574e59ad05972ac4981d07ea26d create a temporary project dir for tests The project directory contains the website script as configured through the test configuration. This means that tests are now completely independet of any configuration that may be contained in the build directory. Also removes the hack to inject additional settings via a environment variable. --- diff --git a/test/bdd/environment.py b/test/bdd/environment.py index 71d0dd2b..0ac92104 100644 --- a/test/bdd/environment.py +++ b/test/bdd/environment.py @@ -20,7 +20,6 @@ userconfig = { 'TEMPLATE_DB' : 'test_template_nominatim', 'TEST_DB' : 'test_nominatim', 'API_TEST_DB' : 'test_api_nominatim', - 'TEST_SETTINGS_FILE' : '/tmp/nominatim_settings.php', 'SERVER_MODULE_PATH' : None, 'PHPCOV' : False, # set to output directory to enable code coverage } @@ -43,15 +42,14 @@ class NominatimEnvironment(object): self.test_db = config['TEST_DB'] self.api_test_db = config['API_TEST_DB'] self.server_module_path = config['SERVER_MODULE_PATH'] - self.local_settings_file = config['TEST_SETTINGS_FILE'] self.reuse_template = not config['REMOVE_TEMPLATE'] self.keep_scenario_db = config['KEEP_TEST_DB'] self.code_coverage_path = config['PHPCOV'] self.code_coverage_id = 1 self.test_env = None - os.environ['NOMINATIM_SETTINGS'] = self.local_settings_file self.template_db_done = False + self.website_dir = None def connect_database(self, dbname): dbargs = {'database': dbname} @@ -80,26 +78,24 @@ class NominatimEnvironment(object): (';user=' + self.db_user) if self.db_user else '', (';password=' + self.db_pass) if self.db_pass else '' ) + + if self.website_dir is not None \ + and self.test_env is not None \ + and dsn == self.test_env['NOMINATIM_DATABASE_DSN']: + return # environment already set uo + self.test_env = os.environ self.test_env['NOMINATIM_DATABASE_DSN'] = dsn self.test_env['NOMINATIM_FLATNODE_FILE'] = '' self.test_env['NOMINATIM_IMPORT_STYLE'] = 'full' self.test_env['NOMINATIM_USE_US_TIGER_DATA'] = 'yes' - f = open(self.local_settings_file, 'w') - # https://secure.php.net/manual/en/ref.pdo-pgsql.connection.php - f.write("