TestSuite_Main_Test.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. """
  2. Copyright (c) Contributors to the Open 3D Engine Project.
  3. For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. SPDX-License-Identifier: Apache-2.0 OR MIT
  5. """
  6. import pytest
  7. import os
  8. import sys
  9. import inspect
  10. from ly_test_tools import LAUNCHERS
  11. from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
  12. from .FileManagement import FileManagement as fm
  13. # Custom test spec, it provides functionality to override files
  14. class EditorSingleTest_WithFileOverrides(EditorSingleTest):
  15. # Specify here what files to override, [(original, override), ...]
  16. files_to_override = [()]
  17. # Base directory of the files (Default path is {ProjectName})
  18. base_dir = None
  19. # True will will search sub-directories for the files in base
  20. search_subdirs = False
  21. @classmethod
  22. def wrap_run(cls, instance, request, workspace, editor, editor_test_results, launcher_platform):
  23. root_path = cls.base_dir
  24. if root_path is not None:
  25. root_path = os.path.join(workspace.paths.engine_root(), root_path)
  26. else:
  27. # Default to project folder
  28. root_path = workspace.paths.project()
  29. # Try to locate both target and source files
  30. original_file_list, override_file_list = zip(*cls.files_to_override)
  31. try:
  32. file_list = fm._find_files(original_file_list + override_file_list, root_path, cls.search_subdirs)
  33. except RuntimeWarning as w:
  34. assert False, (
  35. w.message
  36. + " Please check use of search_subdirs; make sure you are using the correct parent directory."
  37. )
  38. for f in original_file_list:
  39. fm._restore_file(f, file_list[f])
  40. fm._backup_file(f, file_list[f])
  41. for original, override in cls.files_to_override:
  42. fm._copy_file(override, file_list[override], original, file_list[override])
  43. yield # Run Test
  44. for f in original_file_list:
  45. fm._restore_file(f, file_list[f])
  46. @pytest.mark.SUITE_main
  47. @pytest.mark.parametrize("launcher_platform", ['windows_editor'])
  48. @pytest.mark.parametrize("project", ["AutomatedTesting"])
  49. class TestAutomation(EditorTestSuite):
  50. class C4044459_Material_DynamicFriction(EditorSingleTest_WithFileOverrides):
  51. from . import C4044459_Material_DynamicFriction as test_module
  52. files_to_override = [
  53. ('physxsystemconfiguration.setreg', 'C4044459_Material_DynamicFriction.setreg_override')
  54. ]
  55. base_dir = "AutomatedTesting/Registry"
  56. class C4982593_PhysXCollider_CollisionLayerTest(EditorSingleTest_WithFileOverrides):
  57. from . import C4982593_PhysXCollider_CollisionLayerTest as test_module
  58. files_to_override = [
  59. ('physxsystemconfiguration.setreg', 'C4982593_PhysXCollider_CollisionLayer.setreg_override')
  60. ]
  61. base_dir = "AutomatedTesting/Registry"
  62. class C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(EditorSharedTest):
  63. from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
  64. class C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(EditorSharedTest):
  65. from . import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module
  66. class C15425929_Undo_Redo(EditorSharedTest):
  67. from . import C15425929_Undo_Redo as test_module
  68. class C4976243_Collision_SameCollisionGroupDiffCollisionLayers(EditorSharedTest):
  69. from . import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module
  70. class C14654881_CharacterController_SwitchLevels(EditorSharedTest):
  71. from . import C14654881_CharacterController_SwitchLevels as test_module
  72. class C17411467_AddPhysxRagdollComponent(EditorSharedTest):
  73. from . import C17411467_AddPhysxRagdollComponent as test_module
  74. class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest):
  75. from . import C12712453_ScriptCanvas_MultipleRaycastNode as test_module
  76. class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest):
  77. from . import C18243586_Joints_HingeLeadFollowerCollide as test_module
  78. class C4982803_Enable_PxMesh_Option(EditorSharedTest):
  79. from . import C4982803_Enable_PxMesh_Option as test_module
  80. class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest):
  81. from . import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module