Merge pull request #4881 from aws-lumberyard-dev/lytt_update_defaults

Lytt update defaults
monroegm-disable-blank-issue-2
Sean Sweeney 4 years ago committed by GitHub
commit 45b164e722
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,14 +9,15 @@ Main launchers module, provides a facade for creating launchers.
import logging import logging
import ly_test_tools._internal.managers.workspace
import ly_test_tools import ly_test_tools
import ly_test_tools._internal.managers.workspace as workspace_manager
import ly_test_tools.launchers.platforms.base as base_launcher
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM, args=None): def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create a launcher compatible with the specified workspace, if no specific launcher is found return a generic one. Create a launcher compatible with the specified workspace, if no specific launcher is found return a generic one.
@ -25,12 +26,16 @@ def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM,
:param args: List of arguments to pass to the launcher's 'args' argument during construction :param args: List of arguments to pass to the launcher's 'args' argument during construction
:return: Launcher instance :return: Launcher instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_PLATFORM) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform)
if not launcher_class:
log.warning(f"Using default launcher for '{ly_test_tools.HOST_OS_PLATFORM}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_PLATFORM)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_DEDICATED_SERVER, args=None): def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_DEDICATED_SERVER, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create a dedicated launcher compatible with the specified workspace. Dedicated Launcher is only supported on the Create a dedicated launcher compatible with the specified workspace. Dedicated Launcher is only supported on the
Linux and Windows Platform Linux and Windows Platform
@ -40,12 +45,16 @@ def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS
:param args: List of arguments to pass to the launcher's 'args' argument during construction :param args: List of arguments to pass to the launcher's 'args' argument during construction
:return: Launcher instance :return: Launcher instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_DEDICATED_SERVER) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform)
if not launcher_class:
log.warning(f"Using default dedicated launcher for '{ly_test_tools.HOST_OS_DEDICATED_SERVER}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_DEDICATED_SERVER)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, args=None): def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create an Editor compatible with the specified workspace. Create an Editor compatible with the specified workspace.
Editor is only officially supported on the Windows Platform. Editor is only officially supported on the Windows Platform.
@ -55,12 +64,16 @@ def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, arg
:param args: List of arguments to pass to the launcher's 'args' argument during construction :param args: List of arguments to pass to the launcher's 'args' argument during construction
:return: Editor instance :return: Editor instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_EDITOR) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform)
if not launcher_class:
log.warning(f"Using default editor launcher for '{ly_test_tools.HOST_OS_EDITOR}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_EDITOR)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=None): def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, str, list[str]) -> base_launcher.Launcher
""" """
Create a generic launcher compatible with the specified workspace. Create a generic launcher compatible with the specified workspace.
Allows custom .exe files to serve as the launcher instead of ones listed in the ly_test_tools.LAUNCHERS constant Allows custom .exe files to serve as the launcher instead of ones listed in the ly_test_tools.LAUNCHERS constant
@ -71,5 +84,9 @@ def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=No
:param args: List of arguments to pass to the launcher's 'args' argument during construction :param args: List of arguments to pass to the launcher's 'args' argument during construction
:return: Launcher instance. :return: Launcher instance.
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform)
if not launcher_class:
log.warning(f"Using default generic executable launcher for '{ly_test_tools.HOST_OS_GENERIC_EXECUTABLE}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_GENERIC_EXECUTABLE)
return launcher_class(workspace, exe_file_name, args) return launcher_class(workspace, exe_file_name, args)

@ -221,3 +221,10 @@ class TestLauncherBuilder(object):
under_test = ly_test_tools.launchers.launcher_helper.create_editor( under_test = ly_test_tools.launchers.launcher_helper.create_editor(
dummy_workspace, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE) dummy_workspace, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE)
assert isinstance(under_test, ly_test_tools.launchers.Launcher) assert isinstance(under_test, ly_test_tools.launchers.Launcher)
def test_CreateEditor_InvalidPlatform_ValidLauncherStillReturned(self):
dummy_workspace = mock.MagicMock()
dummy_workspace.paths.build_directory.return_value = 'dummy'
under_test = ly_test_tools.launchers.launcher_helper.create_editor(
dummy_workspace, 'does not exist')
assert isinstance(under_test, ly_test_tools.launchers.Launcher)

Loading…
Cancel
Save