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 ly_test_tools._internal.managers.workspace
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__)
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.
@ -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
: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)
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
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
: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)
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.
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
: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)
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.
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
: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)

@ -221,3 +221,10 @@ class TestLauncherBuilder(object):
under_test = ly_test_tools.launchers.launcher_helper.create_editor(
dummy_workspace, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE)
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