Merge pull request #972 from aws-lumberyard-dev/LyttFindExternal

Tests search for external project definition relative to build directory
main
Sean Sweeney 5 years ago committed by GitHub
commit 371a2f71ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -16,8 +16,10 @@ import pathlib
import warnings
from abc import ABCMeta, abstractmethod
import ly_test_tools._internal.pytest_plugin
from ly_test_tools.environment.file_system import find_ancestor_file
def _find_engine_root(initial_path):
# type: (str) -> str
"""
@ -34,11 +36,9 @@ def _find_engine_root(initial_path):
# Assumes folder structure similar to: engine_root/dev/Tools/.../ly_test_tools/builtin
for _ in range(15):
if os.path.exists(os.path.join(current_dir, root_file)):
# The parent of the directory containing the engineroot.txt is the root directory
engine_root = current_dir
return engine_root
# Using an explicit else to avoid aberrant behavior from following filesystem links
else:
# parent of the directory containing root_file
return current_dir
else: # explicit else avoids aberrant behavior from following filesystem links
current_dir = os.path.abspath(os.path.join(current_dir, os.path.pardir))
raise OSError(f"Unable to find engine root directory. Verify root file '{root_file}' exists")
@ -50,8 +50,10 @@ def _find_project_json(engine_root, project):
Find the project.json file for this project.
:return: Full path to the project.json file
"""
project_json = find_ancestor_file('project.json')
if not project_json:
# First check relative to defined build directory, for external projects which configure through SDK settings
project_json = find_ancestor_file(target_file_name='project.json',
start_path=ly_test_tools._internal.pytest_plugin.build_directory)
if not project_json: # check internally for a project bundled with the engine
project_json = os.path.join(engine_root, project, 'project.json')
return project_json

Loading…
Cancel
Save