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.
This commit is contained in:
Sarah Hoffmann
2021-01-04 11:39:45 +01:00
parent 5e989b9296
commit 4aba70caee
2 changed files with 20 additions and 22 deletions

View File

@@ -302,10 +302,9 @@ def send_api_query(endpoint, params, fmt, context):
env['SCRIPT_NAME'] = '/%s.php' % endpoint
env['REQUEST_URI'] = '%s?%s' % (env['SCRIPT_NAME'], env['QUERY_STRING'])
env['CONTEXT_DOCUMENT_ROOT'] = os.path.join(context.nominatim.build_dir, 'website')
env['CONTEXT_DOCUMENT_ROOT'] = os.path.join(context.nominatim.website_dir.name, 'website')
env['SCRIPT_FILENAME'] = os.path.join(env['CONTEXT_DOCUMENT_ROOT'],
'%s.php' % endpoint)
env['NOMINATIM_SETTINGS'] = context.nominatim.local_settings_file
logger.debug("Environment:" + json.dumps(env, sort_keys=True, indent=2))
@@ -327,7 +326,7 @@ def send_api_query(endpoint, params, fmt, context):
for k,v in params.items():
cmd.append("%s=%s" % (k, v))
proc = subprocess.Popen(cmd, cwd=context.nominatim.build_dir, env=env,
proc = subprocess.Popen(cmd, cwd=context.nominatim.website_dir.name, env=env,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(outp, err) = proc.communicate()