diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py index 0be1f1ca10..4ba0875ad3 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py @@ -4,6 +4,7 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ + class HeightTests: single_gradient_height_correct = ( "Successfully retrieved height for gradient1.", @@ -22,6 +23,7 @@ class HeightTests: "OnTerrainDataChanged call count incorrect." ) + def TerrainHeightGradientList_AddRemoveGradientWorks(): """ Summary: @@ -29,22 +31,16 @@ def TerrainHeightGradientList_AddRemoveGradientWorks(): :return: None """ - import os import math as sys_math import azlmbr.legacy.general as general import azlmbr.bus as bus import azlmbr.math as math import azlmbr.terrain as terrain - import azlmbr.editor as editor - import azlmbr.vegetation as vegetation - import azlmbr.entity as EntityId import editor_python_test_tools.hydra_editor_utils as hydra 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 - from editor_python_test_tools.editor_entity_utils import EditorEntity terrain_changed_call_count = 0 expected_terrain_changed_calls = 0 @@ -87,11 +83,8 @@ def TerrainHeightGradientList_AddRemoveGradientWorks(): Report.result(test_results, sys_math.isclose(height, expected_height, abs_tol=test_tolerance)) - helper.init_idle() - # Open a level. - helper.open_level("Physics", "Base") - helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + hydra.open_base_level() general.idle_wait_frames(1) @@ -101,7 +94,7 @@ def TerrainHeightGradientList_AddRemoveGradientWorks(): aabb_height = 1024.0 box_dimensions = math.Vector3(1.0, 1.0, aabb_height); - # Create a main entity with a LayerSpawner, AAbb and HeightGradientList. + # Create a main entity with a LayerSpawner, AAbb and HeightGradientList. main_entity = create_entity_at("entity2", [layerspawner_component_name, gradientlist_component_name, aabb_component_name], 0.0, 0.0, aabb_height/2.0) # Create three gradient entities. @@ -138,7 +131,8 @@ def TerrainHeightGradientList_AddRemoveGradientWorks(): # Add gradient3, the height should still be the second value, as that was the highest. set_gradients_check_height(main_entity, [gradient_entity1.id, gradient_entity2.id, gradient_entity3.id], aabb_height * gradient_values[1], HeightTests.triple_gradient_height_correct) + if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(TerrainHeightGradientList_AddRemoveGradientWorks) \ No newline at end of file + Report.start_test(TerrainHeightGradientList_AddRemoveGradientWorks) diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainMacroMaterialComponent_MacroMaterialActivates.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainMacroMaterialComponent_MacroMaterialActivates.py index 71ff02739a..ffa0d8ef26 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainMacroMaterialComponent_MacroMaterialActivates.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainMacroMaterialComponent_MacroMaterialActivates.py @@ -4,6 +4,7 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ + class MacroMaterialTests: setup_test = ( "Setup successful", @@ -30,6 +31,7 @@ class MacroMaterialTests: "Timed out waiting for OnTerrainMacroMaterialRegionChanged" ) + def TerrainMacroMaterialComponent_MacroMaterialActivates(): """ Summary: @@ -38,7 +40,6 @@ def TerrainMacroMaterialComponent_MacroMaterialActivates(): """ import os - import math as sys_math import azlmbr.legacy.general as general import azlmbr.asset as asset @@ -46,15 +47,11 @@ def TerrainMacroMaterialComponent_MacroMaterialActivates(): import azlmbr.math as math import azlmbr.terrain as terrain import azlmbr.editor as editor - import azlmbr.vegetation as vegetation - import azlmbr.entity as EntityId import editor_python_test_tools.hydra_editor_utils as hydra 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 from editor_python_test_tools.editor_entity_utils import EditorEntity - from editor_python_test_tools.asset_utils import Asset material_created_called = False material_changed_called = False @@ -84,11 +81,8 @@ def TerrainMacroMaterialComponent_MacroMaterialActivates(): nonlocal material_destroyed_called material_destroyed_called = True - helper.init_idle() - # Open a level. - helper.open_level("Physics", "Base") - helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + hydra.open_base_level() general.idle_wait_frames(1) @@ -160,7 +154,8 @@ def TerrainMacroMaterialComponent_MacroMaterialActivates(): region_changed_call_result = helper.wait_for_condition(lambda: material_region_changed_called == True, 2.0) Report.result(MacroMaterialTests.material_changed_call_on_aabb_change, region_changed_call_result) + if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(TerrainMacroMaterialComponent_MacroMaterialActivates) \ No newline at end of file + Report.start_test(TerrainMacroMaterialComponent_MacroMaterialActivates) diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges.py index f4c2a19884..cc0a9a3ffa 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges.py @@ -5,8 +5,9 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ + #fmt: off -class Tests(): +class Tests: create_test_entity = ("Entity created successfully", "Failed to create Entity") add_axis_aligned_box_shape = ("Axis Aligned Box Shape component added", "Failed to add Axis Aligned Box Shape component") add_terrain_collider = ("Terrain Physics Heightfield Collider component added", "Failed to add a Terrain Physics Heightfield Collider component") @@ -14,6 +15,7 @@ class Tests(): configuration_changed = ("Terrain size changed successfully", "Failed terrain size change") #fmt: on + def TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges(): """ Summary: @@ -36,24 +38,24 @@ def TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges(): :return: None """ + import editor_python_test_tools.hydra_editor_utils as hydra from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Report, Tracer - import azlmbr.legacy.general as general + import azlmbr.physics as physics import azlmbr.math as azmath import azlmbr.bus as bus - import sys + import math SET_BOX_X_SIZE = 5.0 SET_BOX_Y_SIZE = 6.0 EXPECTED_COLUMN_SIZE = SET_BOX_X_SIZE + 1 EXPECTED_ROW_SIZE = SET_BOX_Y_SIZE + 1 - helper.init_idle() # 1) Load the level - helper.open_level("", "Base") + hydra.open_base_level() # 2) Create test entity test_entity = EditorEntity.create_editor_entity("TestEntity") diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainSystem_VegetationSpawnsOnTerrainSurfaces.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainSystem_VegetationSpawnsOnTerrainSurfaces.py index f1769ae3d9..2c01aa6cde 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainSystem_VegetationSpawnsOnTerrainSurfaces.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainSystem_VegetationSpawnsOnTerrainSurfaces.py @@ -54,7 +54,6 @@ def TerrainSystem_VegetationSpawnsOnTerrainSurfaces(): """ import os - import sys import math as sys_math import azlmbr.legacy.general as general @@ -62,10 +61,8 @@ def TerrainSystem_VegetationSpawnsOnTerrainSurfaces(): import azlmbr.math as math import azlmbr.areasystem as areasystem - import azlmbr.editor as editor import azlmbr.vegetation as vegetation import azlmbr.terrain as terrain - import azlmbr.entity as EntityId import azlmbr.surface_data as surface_data import editor_python_test_tools.hydra_editor_utils as hydra @@ -86,11 +83,8 @@ def TerrainSystem_VegetationSpawnsOnTerrainSurfaces(): return highest_z, lowest_z - helper.init_idle() - # Open an empty level. - helper.open_level("Physics", "Base") - helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + hydra.open_base_level() general.idle_wait_frames(1) @@ -208,7 +202,8 @@ def TerrainSystem_VegetationSpawnsOnTerrainSurfaces(): Report.result(VegetationTests.testTag3_excluded_vegetation_z_correct, highest_z < box_height * gradient_value_2) + if __name__ == "__main__": from editor_python_test_tools.utils import Report - Report.start_test(TerrainSystem_VegetationSpawnsOnTerrainSurfaces) \ No newline at end of file + Report.start_test(TerrainSystem_VegetationSpawnsOnTerrainSurfaces) diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py index 390ec6a6b0..65530d8189 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py @@ -5,8 +5,9 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ + #fmt: off -class Tests(): +class Tests: create_terrain_spawner_entity = ("Terrain_spawner_entity created successfully", "Failed to create terrain_spawner_entity") create_height_provider_entity = ("Height_provider_entity created successfully", "Failed to create height_provider_entity") create_test_ball = ("Ball created successfully", "Failed to create Ball") @@ -19,6 +20,7 @@ class Tests(): no_errors_and_warnings_found = ("No errors and warnings found", "Found errors and warnings") #fmt: on + def Terrain_SupportsPhysics(): """ Summary: @@ -46,8 +48,7 @@ def Terrain_SupportsPhysics(): :return: None """ - from editor_python_test_tools.editor_entity_utils import EditorEntity - from editor_python_test_tools.utils import TestHelper as helper, Report + from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Report, Tracer import editor_python_test_tools.hydra_editor_utils as hydra import azlmbr.math as azmath @@ -59,12 +60,9 @@ def Terrain_SupportsPhysics(): SET_BOX_X_SIZE = 1024.0 SET_BOX_Y_SIZE = 1024.0 SET_BOX_Z_SIZE = 100.0 - - helper.init_idle() - + # 1) Load the level - helper.open_level("", "Base") - helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + hydra.open_base_level() #1a) Load the level components hydra.add_level_component("Terrain World") diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_World_ConfigurationWorks.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_World_ConfigurationWorks.py index 41dc6b92af..f3ad54ef14 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_World_ConfigurationWorks.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_World_ConfigurationWorks.py @@ -47,8 +47,8 @@ def Terrain_World_ConfigurationWorks(): 12) Check terrain does not exist at a known position outside the world 13) Check height value is the expected one when query resolution is changed """ - from editor_python_test_tools.editor_entity_utils import EditorEntity - from editor_python_test_tools.utils import TestHelper as helper, Report + + from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Report, Tracer import editor_python_test_tools.hydra_editor_utils as hydra import azlmbr.math as azmath @@ -62,14 +62,11 @@ def Terrain_World_ConfigurationWorks(): SET_BOX_Y_SIZE = 2048.0 SET_BOX_Z_SIZE = 100.0 CLAMP = 1 - - helper.init_idle() - + # 1) Start the Tracer to catch any errors and warnings with Tracer() as section_tracer: # 2) Load the level - helper.open_level("", "Base") - helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + hydra.open_base_level() # 3) Load the level components terrain_world_component = hydra.add_level_component("Terrain World") diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py index 98c4f8a660..a49e167bcf 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py @@ -3,25 +3,18 @@ Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. SPDX-License-Identifier: Apache-2.0 OR MIT - """ -# 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 from ly_test_tools.o3de.editor_test import EditorTestSuite, EditorSharedTest + @pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) class TestAutomation(EditorTestSuite): - enable_prefab_system = False - class test_AxisAlignedBoxShape_ConfigurationWorks(EditorSharedTest): from .EditorScripts import TerrainPhysicsCollider_ChangesSizeWithAxisAlignedBoxShapeChanges as test_module