diff --git a/Assets/Engine/Config/engine_core.thread_config b/Assets/Engine/Config/engine_core.thread_config
deleted file mode 100644
index f9183d9174..0000000000
--- a/Assets/Engine/Config/engine_core.thread_config
+++ /dev/null
@@ -1,402 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Assets/Engine/Config/engine_sandbox.thread_config b/Assets/Engine/Config/engine_sandbox.thread_config
deleted file mode 100644
index 7c0dc00b71..0000000000
--- a/Assets/Engine/Config/engine_sandbox.thread_config
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/AutomatedTesting/Gem/PythonTests/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
index 3124f1048a..a0d0bf29db 100644
--- a/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/CMakeLists.txt
@@ -68,7 +68,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
TEST_SUITE periodic
TEST_SERIAL
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
- TIMEOUT 3000
+ TIMEOUT 1500
RUNTIME_DEPENDENCIES
Legacy::Editor
AZ::AssetProcessor
@@ -123,6 +123,21 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
)
endif()
+## Prefab ##
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
+ ly_add_pytest(
+ NAME AutomatedTesting::PrefabTests
+ TEST_SUITE main
+ TEST_SERIAL
+ PATH ${CMAKE_CURRENT_LIST_DIR}/prefab/TestSuite_Main.py
+ TIMEOUT 1500
+ RUNTIME_DEPENDENCIES
+ Legacy::Editor
+ AZ::AssetProcessor
+ AutomatedTesting.Assets
+ )
+endif()
+
## Editor Python Bindings ##
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
ly_add_pytest(
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py
new file mode 100644
index 0000000000..3401c6a0a9
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py
@@ -0,0 +1,76 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+# fmt:off
+class Tests():
+ find_empty_entity = ("Entity: 'EmptyEntity' found", "Entity: 'EmptyEntity' *not* found in level")
+ empty_entity_pos = ("'EmptyEntity' position is at the expected position", "'EmptyEntity' position is *not* at the expected position")
+ find_pxentity = ("Entity: 'EntityWithPxCollider' found", "Entity: 'EntityWithPxCollider' *not* found in level")
+ pxentity_component = ("Entity: 'EntityWithPxCollider' has a Physx Collider", "Entity: 'EntityWithPxCollider' does *not* have a Physx Collider")
+
+# fmt:on
+
+def PrefabLevel_OpensLevelWithEntities():
+ """
+ Opens the level that contains 2 entities, "EmptyEntity" and "EntityWithPxCollider".
+ This test makes sure that both entities exist after opening the level and that:
+ - EmptyEntity is at Position: (10, 20, 30)
+ - EntityWithPxCollider has a PhysXCollider component
+ """
+
+ import os
+ import sys
+
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import TestHelper as helper
+
+ import editor_python_test_tools.hydra_editor_utils as hydra
+
+ import azlmbr.entity as entity
+ import azlmbr.bus as bus
+ from azlmbr.math import Vector3
+
+ EXPECTED_EMPTY_ENTITY_POS = Vector3(10.00, 20.0, 30.0)
+
+ helper.init_idle()
+ helper.open_level("prefab", "PrefabLevel_OpensLevelWithEntities")
+
+ def find_entity(entity_name):
+ searchFilter = entity.SearchFilter()
+ searchFilter.names = [entity_name]
+ entityIds = entity.SearchBus(bus.Broadcast, 'SearchEntities', searchFilter)
+ if entityIds[0].IsValid():
+ return entityIds[0]
+ return None
+#Checks for an entity called "EmptyEntity"
+ helper.wait_for_condition(lambda: find_entity("EmptyEntity").IsValid(), 5.0)
+ empty_entity_id = find_entity("EmptyEntity")
+ Report.result(Tests.find_empty_entity, empty_entity_id.IsValid())
+
+# Checks if the EmptyEntity is in the correct position and if it fails, it will provide the expected postion and the actual postion of the entity in the Editor log
+ empty_entity_pos = azlmbr.components.TransformBus(azlmbr.bus.Event, "GetWorldTranslation", empty_entity_id)
+ is_at_position = empty_entity_pos.IsClose(EXPECTED_EMPTY_ENTITY_POS)
+ Report.result(Tests.empty_entity_pos, is_at_position)
+ if not is_at_position:
+ Report.info(f'Expected position: {EXPECTED_EMPTY_ENTITY_POS.ToString()}, actual position: {empty_entity_pos.ToString()}')
+
+#Checks for an entity called "EntityWithPxCollider" and if it has the PhysX Collider component
+ pxentity = find_entity("EntityWithPxCollider")
+ Report.result(Tests.find_pxentity, pxentity.IsValid())
+
+ pxcollider_id = hydra.get_component_type_id("PhysX Collider")
+ hasComponent = azlmbr.editor.EditorComponentAPIBus(azlmbr.bus.Broadcast, 'HasComponentOfType', pxentity, pxcollider_id)
+ Report.result(Tests.pxentity_component, hasComponent)
+
+if __name__ == "__main__":
+
+ from editor_python_test_tools.utils import Report
+ Report.start_test (PrefabLevel_OpensLevelWithEntities)
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py
new file mode 100644
index 0000000000..51c78a99e2
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/TestSuite_Main.py
@@ -0,0 +1,35 @@
+"""
+ All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+ its licensors.
+
+ For complete copyright and license terms please see the LICENSE at the root of this
+ distribution (the "License"). All use of this software is governed by the License,
+ or, if provided, by the license below or the license accompanying this file. Do not
+ remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+ """
+
+# This suite consists of all test cases that are passing and have been verified.
+
+import pytest
+import os
+import sys
+
+from ly_test_tools import LAUNCHERS
+
+sys.path.append (os.path.dirname (os.path.abspath (__file__)) + '/../automatedtesting_shared')
+
+from base import TestAutomationBase
+
+@pytest.mark.SUITE_main
+@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
+@pytest.mark.parametrize("project", ["AutomatedTesting"])
+class TestAutomation(TestAutomationBase):
+
+ def _run_prefab_test(self, request, workspace, editor, test_module):
+ self._run_test(request, workspace, editor, test_module, ["--regset=/Amazon/Preferences/EnablePrefabSystem=true"])
+
+ def test_PrefabLevel_OpensLevelWithEntities(self, request, workspace, editor, launcher_platform):
+ from . import PrefabLevel_OpensLevelWithEntities as test_module
+ self._run_prefab_test(request, workspace, editor, test_module)
diff --git a/AutomatedTesting/Gem/PythonTests/prefab/__init__.py b/AutomatedTesting/Gem/PythonTests/prefab/__init__.py
new file mode 100644
index 0000000000..79f8fa4422
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/prefab/__init__.py
@@ -0,0 +1,10 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
similarity index 94%
rename from AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
index 0947b0bb51..2c36062acf 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleEntities.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleEntities.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568856
-Test Case Title: Multiple Entities can be targeted in the Debugger tool
"""
@@ -25,20 +21,20 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def Debugging_TargetMultipleEntities():
+def Debugger_HappyPath_TargetMultipleEntities():
"""
Summary:
Multiple Entities can be targeted in the Debugger tool
Expected Behavior:
- Selected files can be checked for logging.
+ Multiple selected files can be checked for logging.
Upon checking, checkboxes of the parent folders change to either full or partial check.
Test Steps:
1) Create temp level
2) Create two entities with scriptcanvas components
3) Set values for scriptcanvas
- 4) Open Script Canvas window and get sc opbject
+ 4) Open Script Canvas window and get sc object
5) Open Debugging(Logging) window
6) Click on Entities tab in logging window
7) Verify if the scriptcanvas exist under entities
@@ -53,7 +49,6 @@ def Debugging_TargetMultipleEntities():
:return: None
"""
-
from PySide2 import QtWidgets
from PySide2.QtCore import Qt
import azlmbr.legacy.general as general
@@ -140,4 +135,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(Debugging_TargetMultipleEntities)
+ Report.start_test(Debugger_HappyPath_TargetMultipleEntities)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
index 8d2c39f288..906c198d43 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Debugging_TargetMultipleGraphs.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Debugger_HappyPath_TargetMultipleGraphs.py
@@ -7,29 +7,25 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569137
-Test Case Title: Multiple Graphs can be targeted in the Debugger tool
"""
# fmt: off
class Tests():
- select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
+ select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
# fmt: on
GENERAL_WAIT = 0.5 # seconds
-def Debugging_TargetMultipleGraphs():
+def Debugger_HappyPath_TargetMultipleGraphs():
"""
Summary:
Multiple Graphs can be targeted in the Debugger tool
Expected Behavior:
- Selected files can be checked for logging.
+ Multiple elected files can be checked for logging.
Upon checking, checkboxes of the parent folders change to either full or partial check.
Test Steps:
@@ -49,7 +45,6 @@ def Debugging_TargetMultipleGraphs():
:return: None
"""
-
from PySide2 import QtWidgets
from PySide2.QtCore import Qt
import azlmbr.legacy.general as general
@@ -106,7 +101,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Debugging_TargetMultipleGraphs)
+ Report.start_test(Debugger_HappyPath_TargetMultipleGraphs)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py b/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py
rename to AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
index 38ceb8335b..34345cf36b 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_UndoRedo.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/EditMenu_Default_UndoRedo.py
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569049
-Test Case Title: Edit > Undo undoes the last action
-Test case ID: T92569051
-Test Case Title: Edit > Redo redoes the last undone action
"""
@@ -24,7 +18,7 @@ class Tests():
# fmt: on
-def EditMenu_UndoRedo():
+def EditMenu_Default_UndoRedo():
"""
Summary:
Edit > Undo undoes the last action
@@ -33,8 +27,8 @@ def EditMenu_UndoRedo():
redo it and verify if the variable is created again.
Expected Behavior:
- The last action is undone.
- The last undone action is redone.
+ The last action is undone upon selecting Undo.
+ The last undone action is redone upon selecting Redo.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -44,7 +38,7 @@ def EditMenu_UndoRedo():
5) Create new variable
6) Verify if the variable is created initially
7) Trigger Undo action and verify if variable is removed in Variable Manager
- 8) Trigger Redo action and verify if variable is readded in Variable Manager
+ 8) Trigger Redo action and verify if variable is re-added in Variable Manager
9) Close SC window
Note:
@@ -54,13 +48,12 @@ def EditMenu_UndoRedo():
:return: None
"""
-
from PySide2 import QtWidgets, QtCore
- import azlmbr.legacy.general as general
-
import pyside_utils
+ import azlmbr.legacy.general as general
+
# 1) Open Script Canvas window
general.idle_enable(True)
general.open_pane("Script Canvas")
@@ -115,7 +108,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(EditMenu_UndoRedo)
+ Report.start_test(EditMenu_Default_UndoRedo)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py b/AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
index 47bbb955ec..22530c90c1 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Entity_AddScriptCanvasComponent.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Entity_HappyPath_AddScriptCanvasComponent.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562978
-Test Case Title: Script Canvas Component can be added to an entity
"""
@@ -23,13 +20,13 @@ class Tests():
# fmt: on
-def Entity_AddScriptCanvasComponent():
+def Entity_HappyPath_AddScriptCanvasComponent():
"""
Summary:
- verify if Script Canvas component can be added to Entity without any issue
+ Script Canvas Component can be added to an entity
Expected Behavior:
- Script Canvas Component is added to the entity successfully without issue.
+ Script Canvas Component is added to the entity successfully without issue
Test Steps:
1) Create temp level
@@ -46,7 +43,6 @@ def Entity_AddScriptCanvasComponent():
:return: None
"""
-
from utils import TestHelper as helper
from utils import Tracer
from editor_entity_utils import EditorEntity
@@ -84,4 +80,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(Entity_AddScriptCanvasComponent)
+ Report.start_test(Entity_HappyPath_AddScriptCanvasComponent)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py b/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
similarity index 89%
rename from AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py
rename to AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
index 3206590a8d..4771a95ab7 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_New_Open.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/FileMenu_Default_NewAndOpen.py
@@ -7,22 +7,15 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569037
-Test Case Title: File > New Script creates a new script
-Test case ID: T92569039
-Test Case Title: File > Open opens the Open... dialog
"""
-
-import os
-import sys
from PySide2 import QtWidgets
-import azlmbr.legacy.general as general
import editor_python_test_tools.pyside_utils as pyside_utils
from editor_python_test_tools.utils import Report
+import azlmbr.legacy.general as general
+
+
# fmt: off
class Tests():
new_action = "File->New action working as expected"
@@ -33,10 +26,11 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-class TestFileMenuNewOpen:
+class TestFileMenuDefaultNewOpen:
"""
Summary:
- When clicked on File->New, new script opens and File->Open should open the FileBrowser
+ When clicked on File->New, new script opens
+ File->Open should open the FileBrowser
Expected Behavior:
New and Open actions should work as expected.
@@ -92,5 +86,5 @@ class TestFileMenuNewOpen:
general.close_pane("Script Canvas")
-test = TestFileMenuNewOpen()
+test = TestFileMenuDefaultNewOpen()
test.run_test()
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py b/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py
rename to AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
index ec8f0c8fb6..9720c846c7 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_SavePrompt.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/GraphClose_Default_SavePrompt.py
@@ -7,24 +7,17 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92563070
-Test Case Title: Graphs can be closed by clicking X on the Graph name tab
-Test case ID: T92563068
-Test Case Title: Save Prompt: User is prompted to save a graph on close after
-creating a new graph
"""
-import os
-import sys
from PySide2 import QtWidgets
-import azlmbr.legacy.general as general
import editor_python_test_tools.pyside_utils as pyside_utils
from editor_python_test_tools.utils import TestHelper as helper
from editor_python_test_tools.utils import Report
+import azlmbr.legacy.general as general
+
+
# fmt: off
class Tests():
new_graph = "New graph created"
@@ -36,14 +29,15 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-class TestGraphCloseSavePrompt:
+class TestGraphClose_Default_SavePrompt:
"""
Summary:
The graph is closed when x button is clicked.
Save Prompt is opened before closing.
Expected Behavior:
- New and Open actions should work as expected.
+ The Graph is closed.
+ Upon closing the graph, User is prompted whether or not to save changes.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -104,5 +98,5 @@ class TestGraphCloseSavePrompt:
general.close_pane("Script Canvas")
-test = TestGraphCloseSavePrompt()
+test = TestGraphClose_Default_SavePrompt()
test.run_test()
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py b/AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
similarity index 92%
rename from AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
index d2765bfdf7..11c83bb779 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Graph_ZoomInZoomOut.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Graph_HappyPath_ZoomInZoomOut.py
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92569079
-Test Case Title: View > Zoom In zooms the graph in
-Test case ID: T92569081
-Test Case Title: View > Zoom In zooms the graph out
"""
@@ -26,7 +20,7 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def Graph_ZoomInZoomOut():
+def Graph_HappyPath_ZoomInZoomOut():
"""
Summary:
The graph can be zoomed in and zoomed out.
@@ -91,7 +85,7 @@ def Graph_ZoomInZoomOut():
zin = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomIn", "type": QtWidgets.QAction})
zin.trigger()
result = helper.wait_for_condition(
- lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT,
+ lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT
)
Report.result(Tests.zoom_in, result)
@@ -100,7 +94,7 @@ def Graph_ZoomInZoomOut():
zout = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomOut", "type": QtWidgets.QAction})
zout.trigger()
result = helper.wait_for_condition(
- lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT,
+ lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT
)
Report.result(Tests.zoom_out, result)
@@ -112,7 +106,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Graph_ZoomInZoomOut)
+ Report.start_test(Graph_HappyPath_ZoomInZoomOut)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
index 23e5f87030..ef794433f0 100755
--- a/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ImportPathHelper.py
@@ -13,5 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
def init():
import os
import sys
- sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
- sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../EditorPythonTestTools/editor_python_test_tools')
+
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../automatedtesting_shared")
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../EditorPythonTestTools/editor_python_test_tools")
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py b/AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
similarity index 94%
rename from AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
index e4fec76fe2..acc0880a73 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_NewScriptEvent.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NewScriptEventButton_HappyPath_ContainsSCCategory.py
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568942
-Test Case Title: Clicking the "+" button and selecting "New Script Event" opens the
-Asset Editor with a new Script Event asset
"""
from PySide2 import QtWidgets
@@ -35,11 +30,10 @@ GENERAL_WAIT = 0.5 # seconds
class TestAssetEditor_NewScriptEvent:
"""
Summary:
- Clicking the "+" button in Node Palette and creating New Script Event opens Asset Editor
+ Verifying logic flow of the "+" button on the Script Canvas pane's Node Palette is as expected
Expected Behavior:
- Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a
- new Script Event asset
+ Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a new Script Event asset
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py b/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py
index 141cdbea8d..81e23dc35e 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodeCategory_ExpandOnClick.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562988
-Test Case Title: Left-click/double click expands and collapses node categories
"""
@@ -123,6 +120,8 @@ def NodeCategory_ExpandOnClick():
if __name__ == "__main__":
import ImportPathHelper as imports
+
imports.init()
from utils import Report
+
Report.start_test(NodeCategory_ExpandOnClick)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py b/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
similarity index 96%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
index 550969e32a..c235db6256 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_RenameVariable.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodeInspector_HappyPath_VariableRenames.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92568982
-Test Case Title: Renaming variables in the Node Inspector
"""
@@ -24,7 +21,7 @@ class Tests():
GENERAL_WAIT = 0.5 # seconds
-def NodeInspector_RenameVariable():
+def NodeInspector_HappyPath_VariableRenames():
"""
Summary:
Renaming variables in the Node Inspector, renames the actual variable.
@@ -50,16 +47,16 @@ def NodeInspector_RenameVariable():
:return: None
"""
-
- TEST_NAME = "test name"
-
from PySide2 import QtWidgets, QtCore, QtTest
from PySide2.QtCore import Qt
- import azlmbr.legacy.general as general
import pyside_utils
from utils import TestHelper as helper
+ import azlmbr.legacy.general as general
+
+ TEST_NAME = "test name"
+
def open_tool(sc, dock_widget_name, pane_name):
if sc.findChild(QtWidgets.QDockWidget, dock_widget_name) is None:
action = pyside_utils.find_child_by_pattern(sc, {"text": pane_name, "type": QtWidgets.QAction})
@@ -120,12 +117,10 @@ def NodeInspector_RenameVariable():
general.close_pane("Script Canvas")
-
if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(NodeInspector_RenameVariable)
+ Report.start_test(NodeInspector_HappyPath_VariableRenames)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
similarity index 89%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
index 374dc4e1a0..2fb1830b8f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_SelectNode.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_CanSelectNode.py
@@ -7,30 +7,27 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-
-Test case ID: T92568940
-Test Case Title: Categories and Nodes can be selected
"""
# fmt: off
class Tests():
- category_selected = ("Category can be selected", "Category cannot be selected")
- node_selected = ("Node can be selected", "Node cannot be selected")
+ category_selected = ("Category can be selected", "Category cannot be selected")
+ node_selected = ("Node can be selected", "Node cannot be selected")
# fmt: on
GENERAL_WAIT = 0.5 # seconds
-def NodePalette_SelectNode():
+def NodePalette_HappyPath_CanSelectNode():
"""
Summary:
Categories and Nodes can be selected
Expected Behavior:
- When clicked on Node Palette, nodes and categories can be selected.
+ A category can be selected inside the Node Palette
+ A Node can be selected inside the Node Palette
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -53,11 +50,12 @@ def NodePalette_SelectNode():
NODE = "Find Path To Entity"
from PySide2 import QtWidgets
- import azlmbr.legacy.general as general
import pyside_utils
from utils import TestHelper as helper
+ import azlmbr.legacy.general as general
+
# 1) Open Script Canvas window (Tools > Script Canvas)
general.idle_enable(True)
general.open_pane("Script Canvas")
@@ -97,7 +95,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(NodePalette_SelectNode)
+ Report.start_test(NodePalette_HappyPath_CanSelectNode)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
similarity index 90%
rename from AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py
rename to AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
index 979bcff02e..93254dd377 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_ClearSelection.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/NodePalette_HappyPath_ClearSelection.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562993
-Test Case Title: Clicking the X button on the Search Box clears the currently entered string
"""
@@ -20,14 +17,14 @@ class Tests():
# fmt: on
-def NodePalette_ClearSelection():
+def NodePalette_HappyPath_ClearSelection():
"""
Summary:
- We enter some string in the Node Palette Search box, and click on the X button to verify if the
- search string got cleared.
+ Clicking the X button on the Search Box clears the currently entered string
Expected Behavior:
- Clicking the X button on the Search Box clears the currently entered string
+ After entering a string value into the Node Palette's search box and click on
+ the X button, the search box should be cleared
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -44,15 +41,13 @@ def NodePalette_ClearSelection():
:return: None
"""
-
from PySide2 import QtWidgets
+ import pyside_utils
from utils import TestHelper as helper
import azlmbr.legacy.general as general
- import pyside_utils
-
TEST_STRING = "Test String"
# 1) Open Script Canvas window (Tools > Script Canvas)
@@ -90,4 +85,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(NodePalette_ClearSelection)
+ Report.start_test(NodePalette_HappyPath_ClearSelection)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py b/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py
new file mode 100644
index 0000000000..77d3b2fcde
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Node_HappyPath_DuplicateNode.py
@@ -0,0 +1,117 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+
+
+# fmt: off
+class Tests():
+ node_duplicated = ("Successfully duplicated node", "Failed to duplicate the node")
+# fmt: on
+
+
+def Node_HappyPath_DuplicateNode():
+ """
+ Summary:
+ Duplicating node in graph
+
+ Expected Behavior:
+ Upon selecting a node and pressing Ctrl+D, the node will be duplicated
+
+ Test Steps:
+ 1) Open Script Canvas window (Tools > Script Canvas)
+ 2) Open a new graph
+ 3) Add node to graph
+ 4) Duplicate node
+ 5) Verify the node was duplicated6) Verify the node was duplicated
+
+ Note:
+ - This test file must be called from the Open 3D Engine Editor command terminal
+ - Any passed and failed tests are written to the Editor.log file.
+ Parsing the file or running a log_monitor are required to observe the test results.
+
+ :return: None
+ """
+ from PySide2 import QtWidgets, QtTest
+ from PySide2.QtCore import Qt
+
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import TestHelper as helper
+ import editor_python_test_tools.pyside_utils as pyside_utils
+
+ import azlmbr.legacy.general as general
+
+ WAIT_FRAMES = 200
+
+ NODE_NAME = "Print"
+ NODE_CATEGORY = "Debug"
+ EXPECTED_STRING = f"{NODE_NAME} - {NODE_CATEGORY} (2 Selected)"
+
+ def command_line_input(command_str):
+ cmd_action = pyside_utils.find_child_by_pattern(
+ sc_main, {"objectName": "action_ViewCommandLine", "type": QtWidgets.QAction}
+ )
+ cmd_action.trigger()
+ textbox = sc.findChild(QtWidgets.QLineEdit, "commandText")
+ QtTest.QTest.keyClicks(textbox, command_str)
+ QtTest.QTest.keyClick(textbox, Qt.Key_Enter, Qt.NoModifier)
+
+ def grab_title_text():
+ scroll_area = node_inspector.findChild(QtWidgets.QScrollArea, "")
+ QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
+ background = scroll_area.findChild(QtWidgets.QFrame, "Background")
+ title = background.findChild(QtWidgets.QLabel, "Title")
+ text = title.findChild(QtWidgets.QLabel, "Title")
+ return text.text()
+
+ # 1) Open Script Canvas window (Tools > Script Canvas)
+ general.idle_enable(True)
+ general.open_pane("Script Canvas")
+ helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
+
+ # 2) Open a new graph
+ editor_window = pyside_utils.get_editor_main_window()
+ sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
+ sc_main = sc.findChild(QtWidgets.QMainWindow)
+ create_new_graph = pyside_utils.find_child_by_pattern(
+ sc_main, {"objectName": "action_New_Script", "type": QtWidgets.QAction}
+ )
+ if sc.findChild(QtWidgets.QDockWidget, "NodeInspector") is None:
+ action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Inspector", "type": QtWidgets.QAction})
+ action.trigger()
+ node_inspector = sc.findChild(QtWidgets.QDockWidget, "NodeInspector")
+ create_new_graph.trigger()
+
+ # 3) Add node
+ command_line_input("add_node Print")
+
+ # 4) Duplicate node
+ graph_view = sc.findChild(QtWidgets.QFrame, "graphicsViewFrame")
+ graph = graph_view.findChild(QtWidgets.QWidget, "")
+ # There are currently no utilities available to directly duplicate the node,
+ # therefore the node is selected using CTRL+A on the graph to select
+ # it and then CTRL+D to duplicate
+ sc_main.activateWindow()
+ QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
+ QtTest.QTest.keyClick(graph, "d", Qt.ControlModifier, WAIT_FRAMES)
+
+ # 5) Verify the node was duplicated
+ # As direct interaction with node is not available the text on the label
+ # inside the Node Inspector is validated showing two nodes exist
+ after_dup = grab_title_text()
+ Report.result(Tests.node_duplicated, after_dup == EXPECTED_STRING)
+
+
+if __name__ == "__main__":
+ import ImportPathHelper as imports
+
+ imports.init()
+ from editor_python_test_tools.utils import Report
+
+ Report.start_test(Node_HappyPath_DuplicateNode)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
similarity index 79%
rename from AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
index adf9b5f35a..626b1cf0bd 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Pane_RetainOnSCRestart.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Default_RetainOnSCRestart.py
@@ -7,33 +7,30 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702821 // C1702832
-Test Case Title: Retain visibility, size and location upon Script Canvas restart
"""
# fmt: off
class Tests():
- relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
- test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
- close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
- visiblity_retained = ("Test pane retained its visiblity on SC restart", "Failed to retain visiblity of test pane on SC restart")
- resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
- size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
- location_changed = ("Location of test pane 2 changed successfully", "Failed to change locatio of test pane 2")
- location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
+ relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
+ test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
+ close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
+ visibility_retained = ("Test pane retained its visibility on SC restart", "Failed to retain visibility of test pane on SC restart")
+ resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
+ size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
+ location_changed = ("Location of test pane 2 changed successfully", "Failed to change location of test pane 2")
+ location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
# fmt: on
-def Pane_RetainOnSCRestart():
+def Pane_Default_RetainOnSCRestart():
"""
Summary:
The Script Canvas window is opened to verify if Script canvas panes can retain its visibility, size and location
upon ScriptCanvas restart.
Expected Behavior:
- The ScriptCanvas pane retain it's visiblity, size and location upon ScriptCanvas restart.
+ The ScriptCanvas pane retain it's visibility, size and location upon ScriptCanvas restart.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -42,7 +39,7 @@ def Pane_RetainOnSCRestart():
4) Change dock location of test pane 2
5) Resize test pane 3
6) Relaunch Script Canvas
- 7) Verify if test pane 1 retain its visiblity
+ 7) Verify if test pane 1 retain its visibility
8) Verify if location of test pane 2 is retained
9) Verify if size of test pane 3 is retained
10) Restore default layout and close SC window
@@ -55,6 +52,10 @@ def Pane_RetainOnSCRestart():
:return: None
"""
+ # Pyside imports
+ from PySide2 import QtCore, QtWidgets
+ from PySide2.QtCore import Qt
+
# Helper imports
from utils import Report
from utils import TestHelper as helper
@@ -63,11 +64,6 @@ def Pane_RetainOnSCRestart():
# Open 3D Engine Imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtCore, QtWidgets
- from PySide2.QtCore import Qt
-
- # Constants
TEST_PANE_1 = "NodePalette" # test visibility
TEST_PANE_2 = "VariableManager" # test location
TEST_PANE_3 = "NodeInspector" # test size
@@ -128,10 +124,10 @@ def Pane_RetainOnSCRestart():
sc_visible = helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
Report.result(Tests.relaunch_sc, sc_visible)
- # 7) Verify if test pane 1 retain its visiblity
+ # 7) Verify if test pane 1 retain its visibility
editor_window = pyside_utils.get_editor_main_window()
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
- Report.result(Tests.visiblity_retained, not find_pane(sc, TEST_PANE_1).isVisible())
+ Report.result(Tests.visibility_retained, not find_pane(sc, TEST_PANE_1).isVisible())
# 8) Verify if location of test pane 2 is retained
sc_main = sc.findChild(QtWidgets.QMainWindow)
@@ -156,7 +152,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Pane_RetainOnSCRestart)
+ Report.start_test(Pane_Default_RetainOnSCRestart)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
old mode 100755
new mode 100644
similarity index 88%
rename from AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
index 537b4d817a..2186a8a54a
--- a/AutomatedTesting/Gem/PythonTests/scripting/Docking_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_DocksProperly.py
@@ -7,24 +7,21 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702824
-Test Case Title: Docking
"""
# fmt: off
class Tests():
- pane_opened = ("Pane is opened successfully", "Failed to open pane")
- dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
+ pane_opened = ("Pane is opened successfully", "Failed to open pane")
+ dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
# fmt: on
-def Docking_Pane():
+def Pane_HappyPath_DocksProperly():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be docked into
- every possible area of Script Canvas main window.
+ The Script Canvas window is opened to verify if Script canvas panes can be docked into every
+ possible area of Script Canvas main window. (top, bottom, right and left sides of the window)
Expected Behavior:
The pane docks successfully.
@@ -43,12 +40,6 @@ def Docking_Pane():
:return: None
"""
-
- # Helper imports
- import ImportPathHelper as imports
-
- imports.init()
-
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
import editor_python_test_tools.pyside_utils as pyside_utils
@@ -110,7 +101,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from editor_python_test_tools.utils import Report
- Report.start_test(Docking_Pane)
+ Report.start_test(Pane_HappyPath_DocksProperly)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
old mode 100755
new mode 100644
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
index 48c40eb05e..cedd68cd87
--- a/AutomatedTesting/Gem/PythonTests/scripting/Opening_Closing_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_OpenCloseSuccessfully.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702834 // C1702823
-Test Case Title: Opening pane // Closing pane
"""
@@ -21,13 +18,13 @@ class Tests():
# fmt: on
-def Opening_Closing_Pane():
+def Pane_HappyPath_OpenCloseSuccessfully():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be opened and closed.
+ The Script Canvas window is opened to verify if Script Canvas panes can be opened and closed.
Expected Behavior:
- The pane opens and closes successfully.
+ The panes open and close successfully.
Test Steps:
1) Open Script Canvas window (Tools > Script Canvas)
@@ -113,7 +110,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from editor_python_test_tools.utils import Report
- Report.start_test(Opening_Closing_Pane)
+ Report.start_test(Pane_HappyPath_OpenCloseSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
old mode 100755
new mode 100644
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
index bbae3afefd..36d734049d
--- a/AutomatedTesting/Gem/PythonTests/scripting/Resizing_Pane.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_HappyPath_ResizesProperly.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702829
-Test Case Title: Resizing pane
"""
@@ -20,10 +17,10 @@ class Tests():
# fmt: on
-def Resizing_Pane():
+def Pane_HappyPath_ResizesProperly():
"""
Summary:
- The Script Canvas window is opened to verify if Script canvas panes can be resized and scaled
+ The Script Canvas window is opened to verify if Script Canvas panes can be resized and scaled
Expected Behavior:
The pane is resized and scaled appropriately.
@@ -32,7 +29,7 @@ def Resizing_Pane():
1) Open Script Canvas window (Tools > Script Canvas)
2) Restore default layout
3) Make sure pane is opened
- 4) Resize pane
+ 4) Resize pane and verify change
5) Restore default layout
6) Close Script Canvas window
@@ -44,6 +41,8 @@ def Resizing_Pane():
:return: None
"""
+ from PySide2 import QtWidgets
+
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
import editor_python_test_tools.pyside_utils as pyside_utils
@@ -51,9 +50,6 @@ def Resizing_Pane():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
PANE_WIDGET = "NodePalette"
SCALE_INT = 10
@@ -86,7 +82,7 @@ def Resizing_Pane():
Report.result(Tests.open_pane, pane.isVisible())
- # 4) Resize pane
+ # 4) Resize pane and verify change
initial_size = pane.frameSize()
pane.resize(initial_size.width() + SCALE_INT, initial_size.height() + SCALE_INT)
new_size = pane.frameSize()
@@ -109,4 +105,4 @@ if __name__ == "__main__":
imports.init()
from editor_python_test_tools.utils import Report
- Report.start_test(Resizing_Pane)
+ Report.start_test(Pane_HappyPath_ResizesProperly)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
similarity index 95%
rename from AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py
rename to AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
index da33a8ab80..0ddbe7e34f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/UnDockedPane_CloseSCWindow.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/Pane_Undocked_ClosesSuccessfully.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C1702825 // C1702831
-Test Case Title: Undocking // Closing script canvas with the pane floating
"""
@@ -21,7 +18,7 @@ class Tests():
# fmt: on
-def UnDockedPane_CloseSCWindow():
+def Pane_Undocked_ClosesSuccessfully():
"""
Summary:
The Script Canvas window is opened with one of the pane undocked.
@@ -45,6 +42,8 @@ def UnDockedPane_CloseSCWindow():
:return: None
"""
+ from PySide2 import QtWidgets
+
# Helper imports
from utils import Report
from utils import TestHelper as helper
@@ -53,9 +52,6 @@ def UnDockedPane_CloseSCWindow():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
TEST_PANE = "NodePalette" # Chosen most commonly used pane
def click_menu_option(window, option_text):
@@ -120,7 +116,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(UnDockedPane_CloseSCWindow)
+ Report.start_test(Pane_Undocked_ClosesSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
similarity index 79%
rename from AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
index 00893d6acb..14e0c849e3 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/OnEntityActivatedDeactivated_PrintMessage.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage.py
@@ -7,29 +7,26 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92569253 // T92569254
-Test Case Title: On Entity Activated // On Entity Deactivated
"""
# fmt: off
class Tests():
- level_created = ("Successfully created temp level", "Failed to create temp level")
- controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
- activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
- deactivated_exists = ("Successfully found deactivated entity","Failed to find deactivated entity")
- start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
- game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
- lines_found = ("Successfully found expected prints", "Failed to find expected prints")
- game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
+ level_created = ("Successfully created temp level", "Failed to create temp level")
+ controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
+ activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
+ deactivated_exists = ("Successfully found deactivated entity", "Failed to find deactivated entity")
+ start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
+ game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
+ lines_found = ("Successfully found expected prints", "Failed to find expected prints")
+ game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
# fmt: on
-def OnEntityActivatedDeactivated_PrintMessage():
+def ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage():
"""
Summary:
- Verify that the On Entity Activation node is working as expected
+ Verify that the On Entity Activated/On Entity Deactivated nodes are working as expected
Expected Behavior:
Upon entering game mode, the Controller entity will wait 1 second and then activate the ActivationTest
@@ -54,9 +51,9 @@ def OnEntityActivatedDeactivated_PrintMessage():
"""
import os
- from utils import TestHelper as helper
from editor_entity_utils import EditorEntity as Entity
from utils import Report
+ from utils import TestHelper as helper
from utils import Tracer
import azlmbr.legacy.general as general
@@ -68,33 +65,45 @@ def OnEntityActivatedDeactivated_PrintMessage():
controller_dict = {
"name": "Controller",
"status": "active",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas"),
}
activated_dict = {
"name": "ActivationTest",
"status": "inactive",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas"),
}
deactivated_dict = {
"name": "DeactivationTest",
"status": "active",
- "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas")
+ "path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas"),
}
def get_asset(asset_path):
- return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
+ return azlmbr.asset.AssetCatalogRequestBus(
+ azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
+ )
def setup_level():
- def create_editor_entity(entity_dict:dict, entity_to_activate:EditorEntity=None, entity_to_deactivate:EditorEntity=None) -> EditorEntity:
+ def create_editor_entity(
+ entity_dict: dict, entity_to_activate: EditorEntity = None, entity_to_deactivate: EditorEntity = None
+ ) -> EditorEntity:
entity = Entity.create_editor_entity(entity_dict["name"])
entity.set_start_status(entity_dict["status"])
sc_component = entity.add_component("Script Canvas")
- sc_component.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"]))
+ sc_component.set_component_property_value(
+ "Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"])
+ )
if entity_dict["name"] == "Controller":
sc_component.get_property_tree()
- sc_component.set_component_property_value("Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate", entity_to_activate.id)
- sc_component.set_component_property_value("Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate", entity_to_deactivate.id)
+ sc_component.set_component_property_value(
+ "Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate",
+ entity_to_activate.id,
+ )
+ sc_component.set_component_property_value(
+ "Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate",
+ entity_to_deactivate.id,
+ )
return entity
activated = create_editor_entity(activated_dict)
@@ -110,7 +119,7 @@ def OnEntityActivatedDeactivated_PrintMessage():
Report.critical_result(test_tuple, entity.id.IsValid())
return entity
- def validate_start_state(entity:EditorEntity, expected_state:str):
+ def validate_start_state(entity: EditorEntity, expected_state: str):
"""
Validate that the starting state of the entity is correct, if it isn't then attempt to rectify and recheck.
:return: bool: Whether state is set as expected
@@ -176,8 +185,8 @@ def OnEntityActivatedDeactivated_PrintMessage():
if __name__ == "__main__":
import ImportPathHelper as imports
- imports.init()
+ imports.init()
from utils import Report
-
- Report.start_test(OnEntityActivatedDeactivated_PrintMessage)
+
+ Report.start_test(ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
index 42cc42de0d..a105f1ef18 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/Toggle_ScriptCanvasTools.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvasTools_Toggle_OpenCloseSuccess.py
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: C92569165, C92569167, C92569168, C92569170
-Test Case Title: Tools > Node Palette toggles the Node Palette
- Tools > Node Inspector toggles the Node Inspector
- Tools > Bookmarks toggles the Bookmarks
- Tools > Variable Manager toggles the Variable Manager
"""
@@ -33,7 +27,7 @@ class Tests():
# fmt: on
-def Toggle_ScriptCanvasTools():
+def ScriptCanvasTools_Toggle_OpenCloseSuccess():
"""
Summary:
Toggle Node Palette, Node Inspector, Bookmarks and Variable Manager in Script Canvas.
@@ -58,6 +52,8 @@ def Toggle_ScriptCanvasTools():
:return: None
"""
+ from PySide2 import QtWidgets
+
from utils import Report
from utils import TestHelper as helper
import pyside_utils
@@ -65,9 +61,6 @@ def Toggle_ScriptCanvasTools():
# Open 3D Engine imports
import azlmbr.legacy.general as general
- # Pyside imports
- from PySide2 import QtWidgets
-
def click_menu_option(window, option_text):
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
action.trigger()
@@ -126,7 +119,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(Toggle_ScriptCanvasTools)
+ Report.start_test(ScriptCanvasTools_Toggle_OpenCloseSuccess)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
similarity index 94%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
index bb4de4a6c9..d39c3d2590 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_ChangingAssets_ComponentStable.py
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92562986
-Test Case Title: Changing the assigned Script Canvas Asset on an entity properly updates
-level functionality
"""
@@ -24,7 +20,7 @@ class Tests():
# fmt: on
-def ScriptCanvas_ChangingAssets():
+def ScriptCanvas_ChangingAssets_ComponentStable():
"""
Summary:
Changing the assigned Script Canvas Asset on an entity properly updates level functionality
@@ -57,7 +53,6 @@ def ScriptCanvas_ChangingAssets():
import azlmbr.math as math
import azlmbr.asset as asset
import azlmbr.bus as bus
- import azlmbr.paths as paths
LEVEL_NAME = "tmp_level"
ASSET_1 = os.path.join("scriptcanvas", "ScriptCanvas_TwoComponents0.scriptcanvas")
@@ -83,7 +78,6 @@ def ScriptCanvas_ChangingAssets():
Report.result(Tests.found_lines, find_expected_line(EXP_LINE))
helper.exit_game_mode(Tests.game_mode_exited)
-
# 1) Create temp level
general.idle_enable(True)
result = general.create_level_no_prompt(LEVEL_NAME, 128, 1, 512, True)
@@ -112,4 +106,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(ScriptCanvas_ChangingAssets)
+ Report.start_test(ScriptCanvas_ChangingAssets_ComponentStable)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
similarity index 95%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
index 6187ac81ba..9bbda9bdbd 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoComponents_InteractSuccessfully.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92563190
-Test Case Title: A single Entity with two Script Canvas components works properly
"""
@@ -26,7 +23,7 @@ class LogLines:
expected_lines = ["Greetings from the first script", "Greetings from the second script"]
-def ScriptCanvas_TwoComponents():
+def ScriptCanvas_TwoComponents_InteractSuccessfully():
"""
Summary:
A test entity contains two Script Canvas components with different unique script canvas files.
@@ -57,6 +54,7 @@ def ScriptCanvas_TwoComponents():
import hydra_editor_utils as hydra
from utils import Report
from utils import Tracer
+
import azlmbr.legacy.general as general
import azlmbr.math as math
import azlmbr.asset as asset
@@ -111,7 +109,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(ScriptCanvas_TwoComponents)
+ Report.start_test(ScriptCanvas_TwoComponents_InteractSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
similarity index 91%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
index 9453c31488..d25ef64c4a 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptCanvas_TwoEntities_UseSimultaneously.py
@@ -7,26 +7,23 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92563191
-Test Case Title: Two Entities can use the same Graph asset successfully at RunTime
"""
# fmt: off
class Tests():
- level_created = ("New level created", "New level not created")
+ level_created = ("New level created successfully", "New level failed to create")
game_mode_entered = ("Game Mode successfully entered", "Game mode failed to enter")
game_mode_exited = ("Game Mode successfully exited", "Game mode failed to exited")
found_lines = ("Expected log lines were found", "Expected log lines were not found")
# fmt: on
-def ScriptCanvas_TwoEntities():
+def ScriptCanvas_TwoEntities_UseSimultaneously():
"""
Summary:
Two Entities can use the same Graph asset successfully at RunTime. The script canvas asset
- attached to the enties will print the respective entity names.
+ attached to the entities will print the respective entity names.
Expected Behavior:
When game mode is entered, respective strings of different entities should be printed.
@@ -48,9 +45,10 @@ def ScriptCanvas_TwoEntities():
import os
+ import hydra_editor_utils as hydra
from utils import TestHelper as helper
from utils import Tracer
- import hydra_editor_utils as hydra
+
import azlmbr.legacy.general as general
import azlmbr.math as math
import azlmbr.asset as asset
@@ -103,4 +101,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(ScriptCanvas_TwoEntities)
+ Report.start_test(ScriptCanvas_TwoEntities_UseSimultaneously)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
similarity index 98%
rename from AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
index b844f9e4af..72144ebc0e 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/AssetEditor_CreateScriptEventFile.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvent_HappyPath_CreatedWithoutError.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92569013
-Test Case Title: Script Event file can be created
"""
@@ -117,7 +114,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
Report.start_test(CreateScriptEventFile)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
similarity index 94%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
index 388e2bb7c0..e0730b284c 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveSuccessfully.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_Default_SendReceiveSuccessfully.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92567320
-Test Case Title: Script Events: Can send and receive a script event successfully
"""
@@ -23,7 +20,7 @@ class Tests():
# fmt: on
-def ScriptEvents_SendReceiveSuccessfully():
+def ScriptEvents_Default_SendReceiveSuccessfully():
"""
Summary:
An entity exists in the level that contains a Script Canvas component. In the graph is both a Send Event
@@ -103,7 +100,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
- Report.start_test(ScriptEvents_SendReceiveSuccessfully)
+ Report.start_test(ScriptEvents_Default_SendReceiveSuccessfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
similarity index 84%
rename from AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py
rename to AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
index a2913d3468..be2665899f 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_SendReceiveAcrossMultiple.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_HappyPath_SendReceiveAcrossMultiple.py
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92567321
-Test Case Title: Script Events: Can send and receive a script event across multiple entities successfully
"""
@@ -24,10 +21,11 @@ class Tests():
# fmt: on
-def ScriptEvents_SendReceiveAcrossMultiple():
+def ScriptEvents_HappyPath_SendReceiveAcrossMultiple():
"""
Summary:
- EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component. The Script Event created for the test will be sent from EntityA to EntityB.
+ EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component.
+ The Script Event created for the test will be sent from EntityA to EntityB.
Expected Behavior:
The output of the Script Event should be printed to the console
@@ -49,7 +47,7 @@ def ScriptEvents_SendReceiveAcrossMultiple():
:return: None
"""
import os
-
+
from editor_entity_utils import EditorEntity as Entity
from utils import Report
from utils import TestHelper as helper
@@ -65,20 +63,19 @@ def ScriptEvents_SendReceiveAcrossMultiple():
"assetA": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}A.scriptcanvas"),
"assetB": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}B.scriptcanvas"),
}
- sc_for_entities = {
- "EntityA": asset_paths["assetA"],
- "EntityB": asset_paths["assetB"]
- }
+ sc_for_entities = {"EntityA": asset_paths["assetA"], "EntityB": asset_paths["assetB"]}
EXPECTED_LINES = ["Incoming Message Received"]
def get_asset(asset_path):
- return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
+ return azlmbr.asset.AssetCatalogRequestBus(
+ azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
+ )
def create_editor_entity(name, sc_asset):
entity = Entity.create_editor_entity(name)
sc_comp = entity.add_component("Script Canvas")
sc_comp.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(sc_asset))
- Report.critical_result(Tests.__dict__[name.lower()+"_created"], entity.id.isValid())
+ Report.critical_result(Tests.__dict__[name.lower() + "_created"], entity.id.isValid())
def locate_expected_lines(line_list: list):
found_lines = [printInfo.message.strip() for printInfo in section_tracer.prints]
@@ -112,8 +109,8 @@ def ScriptEvents_SendReceiveAcrossMultiple():
if __name__ == "__main__":
import ImportPathHelper as imports
- imports.init()
+ imports.init()
from utils import Report
- Report.start_test(ScriptEvents_SendReceiveAcrossMultiple)
+ Report.start_test(ScriptEvents_HappyPath_SendReceiveAcrossMultiple)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
index aa9abd110b..ee63684ace 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/ScriptEvents_ReturnSetType_Successfully.py
@@ -106,7 +106,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
Report.start_test(ScriptEvents_ReturnSetType_Successfully)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py
index dda75f0a0c..c42c9f1a03 100755
--- a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Active.py
@@ -29,79 +29,73 @@ TEST_DIRECTORY = os.path.dirname(__file__)
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("project", ["AutomatedTesting"])
class TestAutomation(TestAutomationBase):
- @pytest.mark.test_case_id("C1702834", "C1702823")
- def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform):
- from . import Opening_Closing_Pane as test_module
+ def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_OpenCloseSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702824")
- def test_Docking_Pane(self, request, workspace, editor, launcher_platform):
- from . import Docking_Pane as test_module
+ def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_DocksProperly as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702829")
- def test_Resizing_Pane(self, request, workspace, editor, launcher_platform):
- from . import Resizing_Pane as test_module
+ def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform):
+ from . import Pane_HappyPath_ResizesProperly as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92563190")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_TwoComponents(self, request, workspace, editor, launcher_platform, level):
+ def test_ScriptCanvas_TwoComponents_InteractSuccessfully(self, request, workspace, editor, launcher_platform, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_TwoComponents as test_module
+ from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92562986")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_ChangingAssets(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvas_ChangingAssets_ComponentStable(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_ChangingAssets as test_module
+ from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569079", "T92569081")
- def test_Graph_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
- from . import Graph_ZoomInZoomOut as test_module
+ def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
+ from . import Graph_HappyPath_ZoomInZoomOut as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568940")
- def test_NodePalette_SelectNode(self, request, workspace, editor, launcher_platform):
- from . import NodePalette_SelectNode as test_module
+ def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform):
+ from . import NodePalette_HappyPath_CanSelectNode as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569253")
- @pytest.mark.test_case_id("T92569254")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import OnEntityActivatedDeactivated_PrintMessage as test_module
+ from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module
self._run_test(request, workspace, editor, test_module)
-
+
+<<<<<<< HEAD
+ def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project):
+ from . import NodePalette_HappyPath_ClearSelection as test_module
+=======
@pytest.mark.test_case_id("T92562993")
def test_NodePalette_ClearSelection(self, request, workspace, editor, launcher_platform, project):
from . import NodePalette_ClearSelection as test_module
+>>>>>>> main
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92563191")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptCanvas_TwoEntities(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptCanvas_TwoEntities_UseSimultaneously(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptCanvas_TwoEntities as test_module
+ from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569013")
- def test_AssetEditor_CreateScriptEventFile(self, request, workspace, editor, launcher_platform, project):
+ def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project):
def teardown():
file_system.delete(
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
@@ -110,77 +104,72 @@ class TestAutomation(TestAutomationBase):
file_system.delete(
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
)
- from . import AssetEditor_CreateScriptEventFile as test_module
+ from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569165", "T92569167", "T92569168", "T92569170")
- def test_Toggle_ScriptCanvasTools(self, request, workspace, editor, launcher_platform):
- from . import Toggle_ScriptCanvasTools as test_module
+ def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform):
+ from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568982")
- def test_NodeInspector_RenameVariable(self, request, workspace, editor, launcher_platform, project):
- from . import NodeInspector_RenameVariable as test_module
+ def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project):
+ from . import NodeInspector_HappyPath_VariableRenames as test_module
self._run_test(request, workspace, editor, test_module)
-
+
+ def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
+ from . import Debugger_HappyPath_TargetMultipleGraphs as test_module
+ self._run_test(request, workspace, editor, test_module)
+
@pytest.mark.test_case_id("T92569137")
def test_Debugging_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
from . import Debugging_TargetMultipleGraphs as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92568856")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_Debugging_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
+ def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import Debugging_TargetMultipleEntities as test_module
+ from . import Debugger_HappyPath_TargetMultipleEntities as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92569049", "T92569051")
- def test_EditMenu_UndoRedo(self, request, workspace, editor, launcher_platform, project):
- from . import EditMenu_UndoRedo as test_module
+ def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project):
+ from . import EditMenu_Default_UndoRedo as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702825", "C1702831")
- def test_UnDockedPane_CloseSCWindow(self, request, workspace, editor, launcher_platform):
- from . import UnDockedPane_CloseSCWindow as test_module
+ def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform):
+ from . import Pane_Undocked_ClosesSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92562978")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_Entity_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
+ def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import Entity_AddScriptCanvasComponent as test_module
+ from . import Entity_HappyPath_AddScriptCanvasComponent as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("C1702821", "C1702832")
- def test_Pane_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
- from . import Pane_RetainOnSCRestart as test_module
+ def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
+ from . import Pane_Default_RetainOnSCRestart as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92567321")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptEvents_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptEvents_HappyPath_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptEvents_SendReceiveAcrossMultiple as test_module
+ from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module
self._run_test(request, workspace, editor, test_module)
- @pytest.mark.test_case_id("T92567320")
@pytest.mark.parametrize("level", ["tmp_level"])
- def test_ScriptEvents_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
+ def test_ScriptEvents_Default_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
def teardown():
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
request.addfinalizer(teardown)
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
- from . import ScriptEvents_SendReceiveSuccessfully as test_module
+ from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module
self._run_test(request, workspace, editor, test_module)
@pytest.mark.parametrize("level", ["tmp_level"])
@@ -195,7 +184,7 @@ class TestAutomation(TestAutomationBase):
def test_NodeCategory_ExpandOnClick(self, request, workspace, editor, launcher_platform):
from . import NodeCategory_ExpandOnClick as test_module
self._run_test(request, workspace, editor, test_module)
-
+
def test_NodePalette_SearchText_Deletion(self, request, workspace, editor, launcher_platform):
from . import NodePalette_SearchText_Deletion as test_module
self._run_test(request, workspace, editor, test_module)
@@ -204,6 +193,10 @@ class TestAutomation(TestAutomationBase):
from . import VariableManager_UnpinVariableType_Works as test_module
self._run_test(request, workspace, editor, test_module)
+ def test_Node_HappyPath_DuplicateNode(self, request, workspace, editor, launcher_platform):
+ from . import Node_HappyPath_DuplicateNode as test_module
+ self._run_test(request, workspace, editor, test_module)
+
# NOTE: We had to use hydra_test_utils.py, as TestAutomationBase run_test method
# fails because of pyside_utils import
@pytest.mark.SUITE_periodic
@@ -214,18 +207,16 @@ class TestScriptCanvasTests(object):
The following tests use hydra_test_utils.py to launch the editor and validate the results.
"""
- @pytest.mark.test_case_id("T92569037", "T92569039")
- def test_FileMenu_New_Open(self, request, editor, launcher_platform):
+ def test_FileMenu_Default_NewAndOpen(self, request, editor, launcher_platform):
expected_lines = [
"File->New action working as expected: True",
"File->Open action working as expected: True",
]
hydra.launch_and_validate_results(
- request, TEST_DIRECTORY, editor, "FileMenu_New_Open.py", expected_lines, auto_test_mode=False, timeout=60,
+ request, TEST_DIRECTORY, editor, "FileMenu_Default_NewAndOpen.py", expected_lines, auto_test_mode=False, timeout=60,
)
- @pytest.mark.test_case_id("T92568942")
- def test_AssetEditor_NewScriptEvent(self, request, editor, launcher_platform):
+ def test_NewScriptEventButton_HappyPath_ContainsSCCategory(self, request, editor, launcher_platform):
expected_lines = [
"New Script event action found: True",
"Asset Editor opened: True",
@@ -236,14 +227,13 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "AssetEditor_NewScriptEvent.py",
+ "NewScriptEventButton_HappyPath_ContainsSCCategory.py",
expected_lines,
auto_test_mode=False,
timeout=60,
)
- @pytest.mark.test_case_id("T92563068", "T92563070")
- def test_GraphClose_SavePrompt(self, request, editor, launcher_platform):
+ def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform):
expected_lines = [
"New graph created: True",
"Save prompt opened as expected: True",
@@ -253,14 +243,13 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "GraphClose_SavePrompt.py",
+ "GraphClose_Default_SavePrompt.py",
expected_lines,
auto_test_mode=False,
timeout=60,
)
- @pytest.mark.test_case_id("T92564789", "T92568873")
- def test_VariableManager_CreateDeleteVars(self, request, editor, launcher_platform):
+ def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform):
var_types = ["Boolean", "Color", "EntityID", "Number", "String", "Transform", "Vector2", "Vector3", "Vector4"]
expected_lines = [f"Success: {var_type} variable is created" for var_type in var_types]
expected_lines.extend([f"Success: {var_type} variable is deleted" for var_type in var_types])
@@ -268,7 +257,7 @@ class TestScriptCanvasTests(object):
request,
TEST_DIRECTORY,
editor,
- "VariableManager_CreateDeleteVars.py",
+ "VariableManager_Default_CreateDeleteVars.py",
expected_lines,
auto_test_mode=False,
timeout=60,
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
similarity index 93%
rename from AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py
rename to AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
index 8b5c78fa87..e53939172e 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_CreateDeleteVars.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_Default_CreateDeleteVars.py
@@ -7,18 +7,13 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-Test case ID: T92564789
-Test Case Title: Each Variable type can be created
-Test case ID: T92568873
-Test Case Title: Each Variable type can be deleted
"""
-def VariableManager_CreateDeleteVars():
+def VariableManager_Default_CreateDeleteVars():
"""
Summary:
- Each variable type can be created and deleted in variable manager.
+ Creating and deleting each type of variable in the Variable Manager pane
Expected Behavior:
Each variable type can be created and deleted in variable manager.
@@ -41,15 +36,13 @@ def VariableManager_CreateDeleteVars():
"""
from PySide2 import QtWidgets, QtCore, QtTest
-
from PySide2.QtCore import Qt
from utils import TestHelper as helper
+ import pyside_utils
import azlmbr.legacy.general as general
- import pyside_utils
-
def generate_test_tuple(var_type, action):
return (f"{var_type} variable is {action}d", f"{var_type} variable is not {action}d")
@@ -118,4 +111,4 @@ if __name__ == "__main__":
imports.init()
from utils import Report
- Report.start_test(VariableManager_CreateDeleteVars)
+ Report.start_test(VariableManager_Default_CreateDeleteVars)
diff --git a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py
index 7076f60385..a7c72ce134 100644
--- a/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py
+++ b/AutomatedTesting/Gem/PythonTests/scripting/VariableManager_UnpinVariableType_Works.py
@@ -115,7 +115,6 @@ if __name__ == "__main__":
import ImportPathHelper as imports
imports.init()
-
from utils import Report
Report.start_test(VariableManager_UnpinVariableType_Works)
diff --git a/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab
new file mode 100644
index 0000000000..0776f25935
--- /dev/null
+++ b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab
@@ -0,0 +1,171 @@
+{
+ "Source": "Levels/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab",
+ "ContainerEntity": {
+ "Id": "Entity_[403811863694]",
+ "Name": "Level",
+ "Components": {
+ "Component_[10582285743525614098]": {
+ "$type": "SelectionComponent",
+ "Id": 10582285743525614098
+ },
+ "Component_[12253783095375428046]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 12253783095375428046
+ },
+ "Component_[13764860261821571747]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 13764860261821571747,
+ "Parent Entity": ""
+ },
+ "Component_[15844324401733835865]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 15844324401733835865
+ },
+ "Component_[1605854641405361768]": {
+ "$type": "EditorLockComponent",
+ "Id": 1605854641405361768
+ },
+ "Component_[17698173984524983803]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 17698173984524983803
+ },
+ "Component_[3444251662966224826]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 3444251662966224826
+ },
+ "Component_[4231768881195179982]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 4231768881195179982
+ },
+ "Component_[4722360315410084479]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 4722360315410084479
+ },
+ "Component_[7614719100624882952]": {
+ "$type": "EditorPrefabComponent",
+ "Id": 7614719100624882952
+ },
+ "Component_[9585901769691795481]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 9585901769691795481
+ }
+ },
+ "IsDependencyReady": true
+ },
+ "Entities": {
+ "Entity_[438171602062]": {
+ "Id": "Entity_[438171602062]",
+ "Name": "EntityWithPxCollider",
+ "Components": {
+ "Component_[11161653124805884473]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 11161653124805884473
+ },
+ "Component_[13116773315299882093]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 13116773315299882093
+ },
+ "Component_[15820915681461536711]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 15820915681461536711
+ },
+ "Component_[2222061938345834243]": {
+ "$type": "SelectionComponent",
+ "Id": 2222061938345834243
+ },
+ "Component_[3861913165076405600]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 3861913165076405600
+ },
+ "Component_[7118587015611303204]": {
+ "$type": "EditorLockComponent",
+ "Id": 7118587015611303204
+ },
+ "Component_[7751174327125555504]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 7751174327125555504
+ },
+ "Component_[8304730147756374057]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 8304730147756374057,
+ "Parent Entity": "Entity_[403811863694]",
+ "Transform Data": {
+ "Translate": [
+ 0.0,
+ 20.0,
+ 34.0
+ ]
+ }
+ },
+ "Component_[8866353210615920259]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 8866353210615920259
+ },
+ "Component_[8988181228601932779]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 8988181228601932779
+ },
+ "Component_[7103333782129541775]": {
+ "$type": "EditorColliderComponent",
+ "Id": 7103333782129541775
+ }
+ },
+ "IsDependencyReady": true
+ },
+ "Entity_[532660882574]": {
+ "Id": "Entity_[532660882574]",
+ "Name": "EmptyEntity",
+ "Components": {
+ "Component_[16437814751543997955]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 16437814751543997955
+ },
+ "Component_[16751517102089557119]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 16751517102089557119
+ },
+ "Component_[16773275259304187949]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 16773275259304187949
+ },
+ "Component_[17283539636910567200]": {
+ "$type": "SelectionComponent",
+ "Id": 17283539636910567200
+ },
+ "Component_[250004123617033400]": {
+ "$type": "EditorLockComponent",
+ "Id": 250004123617033400
+ },
+ "Component_[2791138963683667073]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 2791138963683667073,
+ "Parent Entity": "Entity_[403811863694]",
+ "Transform Data": {
+ "Translate": [
+ 10.0,
+ 20.0,
+ 30.0
+ ]
+ }
+ },
+ "Component_[3296942400051129145]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 3296942400051129145
+ },
+ "Component_[3422076964671342434]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 3422076964671342434
+ },
+ "Component_[3431895414183121731]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 3431895414183121731
+ },
+ "Component_[7072085777705148766]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 7072085777705148766
+ }
+ },
+ "IsDependencyReady": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/Code/.p4ignore b/Code/.p4ignore
deleted file mode 100644
index f0b9f1ea6b..0000000000
--- a/Code/.p4ignore
+++ /dev/null
@@ -1,6 +0,0 @@
-#Ignore these directories
-SDKs
-
-#ColinB (8/26)- I know there are depot files that this will ignore... But these files should not be
-#here, they should all be in 3rdParty... so we will ignore them until I can move them, it should
-#be OK for now because they shouldn't change at all anyway.
diff --git a/Code/CryEngine/CryCommon/CMakeLists.txt b/Code/CryEngine/CryCommon/CMakeLists.txt
index 4725489358..3a1eb90d9d 100644
--- a/Code/CryEngine/CryCommon/CMakeLists.txt
+++ b/Code/CryEngine/CryCommon/CMakeLists.txt
@@ -9,58 +9,15 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
-ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
-ly_get_pal_tool_dirs(pal_tool_dirs ${CMAKE_CURRENT_LIST_DIR}/Platform)
-
ly_add_target(
NAME CryCommon STATIC
NAMESPACE Legacy
FILES_CMAKE
crycommon_files.cmake
- ${pal_dir}/crycommon_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- PLATFORM_INCLUDE_FILES
- ${pal_dir}/crycommon_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
INCLUDE_DIRECTORIES
PUBLIC
. # Lots of code without CryCommon/
.. # Dangerous since exports CryEngine's path (client code can do CrySystem/ without depending on that target)
- ${pal_dir}
- ${pal_tool_dirs}
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
-)
-
-ly_add_target(
- NAME CryCommon.EngineSettings.Static STATIC
- NAMESPACE Legacy
- FILES_CMAKE
- crycommon_enginesettings_files.cmake
- ${pal_dir}/crycommon_enginesettings_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- .
- ${pal_dir}
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
-)
-
-ly_add_target(
- NAME CryCommon.EngineSettings.RC.Static STATIC
- NAMESPACE Legacy
- FILES_CMAKE
- crycommon_enginesettings_files.cmake
- ${pal_dir}/crycommon_enginesettings_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- .
- ${pal_dir}
- COMPILE_DEFINITIONS
- PRIVATE
- RESOURCE_COMPILER
BUILD_DEPENDENCIES
PUBLIC
AZ::AzCore
diff --git a/Code/CryEngine/CryCommon/CryAssert_Android.h b/Code/CryEngine/CryCommon/CryAssert_Android.h
index 68f716ec28..6e60df1bb1 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Android.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Android.h
@@ -31,7 +31,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_Linux.h b/Code/CryEngine/CryCommon/CryAssert_Linux.h
index 7c52f78366..f0acdd79db 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Linux.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Linux.h
@@ -34,7 +34,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_Mac.h b/Code/CryEngine/CryCommon/CryAssert_Mac.h
index 9502605fea..f7f74c3b58 100644
--- a/Code/CryEngine/CryCommon/CryAssert_Mac.h
+++ b/Code/CryEngine/CryCommon/CryAssert_Mac.h
@@ -30,7 +30,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_iOS.h b/Code/CryEngine/CryCommon/CryAssert_iOS.h
index ad668fb131..2cb08befff 100644
--- a/Code/CryEngine/CryCommon/CryAssert_iOS.h
+++ b/Code/CryEngine/CryCommon/CryAssert_iOS.h
@@ -31,7 +31,7 @@ void CryAssertTrace(const char* szFormat, ...)
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (szFormat == NULL)
{
diff --git a/Code/CryEngine/CryCommon/CryAssert_impl.h b/Code/CryEngine/CryCommon/CryAssert_impl.h
index ed55162f1a..edbbb2f0c4 100644
--- a/Code/CryEngine/CryCommon/CryAssert_impl.h
+++ b/Code/CryEngine/CryCommon/CryAssert_impl.h
@@ -305,7 +305,7 @@ void CryAssertTrace(const char* _pszFormat, ...)
{
return;
}
- if (!gEnv->bIgnoreAllAsserts || gEnv->bTesting)
+ if (!gEnv->bIgnoreAllAsserts)
{
if (NULL == _pszFormat)
{
diff --git a/Code/CryEngine/CryCommon/CrySystemBus.h b/Code/CryEngine/CryCommon/CrySystemBus.h
index f183de0fa9..def1ce4688 100644
--- a/Code/CryEngine/CryCommon/CrySystemBus.h
+++ b/Code/CryEngine/CryCommon/CrySystemBus.h
@@ -49,12 +49,6 @@ public:
//! ISystem has shut down.
virtual void OnCrySystemPostShutdown() {}
- //! Engine pre physics update.
- virtual void OnCrySystemPrePhysicsUpdate() {}
-
- //! Engine post physics update.
- virtual void OnCrySystemPostPhysicsUpdate() {}
-
//! Sent when a new level is being created.
virtual void OnCryEditorBeginCreate() {}
diff --git a/Code/CryEngine/CryCommon/CryThread.h b/Code/CryEngine/CryCommon/CryThread.h
index f1e97b2199..9aa7bce128 100644
--- a/Code/CryEngine/CryCommon/CryThread.h
+++ b/Code/CryEngine/CryCommon/CryThread.h
@@ -37,9 +37,6 @@ enum CryLockType
#define CRYLOCK_HAVE_FASTLOCK 1
-void CryThreadSetName(threadID nThreadId, const char* sThreadName);
-const char* CryThreadGetName(threadID nThreadId);
-
/////////////////////////////////////////////////////////////////////////////
//
// Primitive locks and conditions.
diff --git a/Code/CryEngine/CryCommon/CryThreadImpl.h b/Code/CryEngine/CryCommon/CryThreadImpl.h
index b151b3da8a..da9be86dd5 100644
--- a/Code/CryEngine/CryCommon/CryThreadImpl.h
+++ b/Code/CryEngine/CryCommon/CryThreadImpl.h
@@ -31,22 +31,3 @@
#else
// Put other platform specific includes here!
#endif
-
-#include
-
-void CryThreadSetName(threadID dwThreadId, const char* sThreadName)
-{
- if (gEnv && gEnv->pSystem && gEnv->pSystem->GetIThreadTaskManager())
- {
- gEnv->pSystem->GetIThreadTaskManager()->SetThreadName(dwThreadId, sThreadName);
- }
-}
-
-const char* CryThreadGetName(threadID dwThreadId)
-{
- if (gEnv && gEnv->pSystem && gEnv->pSystem->GetIThreadTaskManager())
- {
- return gEnv->pSystem->GetIThreadTaskManager()->GetThreadName(dwThreadId);
- }
- return "";
-}
diff --git a/Code/CryEngine/CryCommon/CryThreadImpl_windows.h b/Code/CryEngine/CryCommon/CryThreadImpl_windows.h
index 6f37edeea1..3ff28a81be 100644
--- a/Code/CryEngine/CryCommon/CryThreadImpl_windows.h
+++ b/Code/CryEngine/CryCommon/CryThreadImpl_windows.h
@@ -13,8 +13,6 @@
#pragma once
-//#include
-
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
diff --git a/Code/CryEngine/CryCommon/CryThread_windows.h b/Code/CryEngine/CryCommon/CryThread_windows.h
index 1d9ea6dc31..b70260c7ac 100644
--- a/Code/CryEngine/CryCommon/CryThread_windows.h
+++ b/Code/CryEngine/CryCommon/CryThread_windows.h
@@ -249,10 +249,6 @@ public:
void SetName(const char* Name)
{
m_name = Name;
- if (m_threadId)
- {
- CryThreadSetName(m_threadId, m_name);
- }
}
const char* GetName() { return m_name; }
@@ -289,11 +285,6 @@ private:
self->m_bIsStarted = true;
self->m_bIsRunning = true;
- if (!self->m_name.empty())
- {
- CryThreadSetName(-1, self->m_name);
- }
-
self->m_Runnable->Run();
self->m_bIsRunning = false;
self->m_bCreatedThread = false;
@@ -311,11 +302,6 @@ private:
self->m_bIsStarted = true;
self->m_bIsRunning = true;
- if (!self->m_name.empty())
- {
- CryThreadSetName(-1, self->m_name);
- }
-
self->Run();
self->m_bIsRunning = false;
self->m_bCreatedThread = false;
diff --git a/Code/CryEngine/CryCommon/EngineSettingsBackend.cpp b/Code/CryEngine/CryCommon/EngineSettingsBackend.cpp
deleted file mode 100644
index caf7e03f31..0000000000
--- a/Code/CryEngine/CryCommon/EngineSettingsBackend.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
- * its licensors.
- *
- * For complete copyright and license terms please see the LICENSE at the root of this
- * distribution (the "License"). All use of this software is governed by the License,
- * or, if provided, by the license below or the license accompanying this file. Do not
- * remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *
- */
-
-
-#include "EngineSettingsBackend.h"
-
-#ifdef CRY_ENABLE_RC_HELPER
-
-CEngineSettingsBackend::CEngineSettingsBackend(CEngineSettingsManager* parent, const wchar_t* moduleName)
- : m_parent(parent)
- , m_moduleName()
-{
- if (moduleName != nullptr)
- {
- m_moduleName = moduleName;
- }
-}
-
-CEngineSettingsBackend::~CEngineSettingsBackend()
-{
-
-}
-
-#endif // CRY_ENABLE_RC_HELPER
-
diff --git a/Code/CryEngine/CryCommon/EngineSettingsBackend.h b/Code/CryEngine/CryCommon/EngineSettingsBackend.h
deleted file mode 100644
index fce16517ec..0000000000
--- a/Code/CryEngine/CryCommon/EngineSettingsBackend.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
- * its licensors.
- *
- * For complete copyright and license terms please see the LICENSE at the root of this
- * distribution (the "License"). All use of this software is governed by the License,
- * or, if provided, by the license below or the license accompanying this file. Do not
- * remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *
- */
-#ifndef CRYINCLUDE_CRYCOMMON_ENGINESETTINGSBACKEND_H
-#define CRYINCLUDE_CRYCOMMON_ENGINESETTINGSBACKEND_H
-#pragma once
-
-#include "ProjectDefines.h"
-
-#ifdef CRY_ENABLE_RC_HELPER
-
-#include "SettingsManagerHelpers.h"
-
-#include
-
-class CEngineSettingsManager;
-
-class CEngineSettingsBackend
-{
-public:
- CEngineSettingsBackend(CEngineSettingsManager* parent, const wchar_t* moduleName = NULL);
- virtual ~CEngineSettingsBackend();
-
- virtual std::wstring GetModuleFilePath() const = 0;
-
- virtual bool GetModuleSpecificStringEntryUtf16(const char* key, SettingsManagerHelpers::CWCharBuffer wbuffer) = 0;
- virtual bool GetModuleSpecificIntEntry(const char* key, int& value) = 0;
- virtual bool GetModuleSpecificBoolEntry(const char* key, bool& value) = 0;
-
- virtual bool SetModuleSpecificStringEntryUtf16(const char* key, const wchar_t* str) = 0;
- virtual bool SetModuleSpecificIntEntry(const char* key, const int& value) = 0;
- virtual bool SetModuleSpecificBoolEntry(const char* key, const bool& value) = 0;
-
- virtual bool GetInstalledBuildRootPathUtf16(const int index, SettingsManagerHelpers::CWCharBuffer name, SettingsManagerHelpers::CWCharBuffer path) = 0;
-
- virtual void LoadEngineSettingsFromRegistry() = 0;
- virtual bool StoreEngineSettingsToRegistry() = 0;
-
-protected:
- CEngineSettingsManager* parent() const
- {
- return m_parent;
- }
-
- const std::wstring& moduleName() const
- {
- return m_moduleName;
- }
-
-private:
- std::wstring m_moduleName;
- CEngineSettingsManager* m_parent;
-};
-
-#endif // CRY_ENABLE_RC_HELPER
-
-#endif // CRYINCLUDE_CRYCOMMON_ENGINESETTINGSBACKEND_H
diff --git a/Code/CryEngine/CryCommon/EngineSettingsBackendApple.cpp b/Code/CryEngine/CryCommon/EngineSettingsBackendApple.cpp
deleted file mode 100644
index 06f8d532d3..0000000000
--- a/Code/CryEngine/CryCommon/EngineSettingsBackendApple.cpp
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
- * its licensors.
- *
- * For complete copyright and license terms please see the LICENSE at the root of this
- * distribution (the "License"). All use of this software is governed by the License,
- * or, if provided, by the license below or the license accompanying this file. Do not
- * remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *
- */
-
-#include "EngineSettingsBackendApple.h"
-
-#ifdef CRY_ENABLE_RC_HELPER
-
-#include "AzCore/PlatformDef.h"
-
-#if AZ_TRAIT_OS_PLATFORM_APPLE
-
-#include "EngineSettingsManager.h"
-#include "SettingsManagerHelpers.h"
-
-#include "platform.h"
-
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include