Fixed All Physics automated tests (#129)

* Fixed all Tests.
* Fixed tests stdout redirection
* Changed return code for failed tests to be 0xF
* Small improvements on automated testing code
* Created Periodic test suite and moved tests
* Made physics main to only have one test for now
* Renamed all tests to have leading AutomatedTesting::
main
AMZN-AlexOteiza 5 years ago committed by GitHub
parent b885e902d0
commit 3f32cc929c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -19,37 +19,50 @@ add_subdirectory(assetpipeline)
add_subdirectory(atom_renderer) add_subdirectory(atom_renderer)
## Physics ## ## Physics ##
# DISABLED - see LYN-2536 if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
#if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) ly_add_pytest(
# ly_add_pytest( NAME AutomatedTesting::PhysicsTests_Main
# NAME AutomatedTesting::PhysicsTests TEST_SUITE main
# TEST_SUITE main TEST_SERIAL
# TEST_SERIAL PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Main.py
# PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Active.py TIMEOUT 3600
# TIMEOUT 3600 RUNTIME_DEPENDENCIES
# RUNTIME_DEPENDENCIES Legacy::Editor
# Legacy::Editor Legacy::CryRenderNULL
# Legacy::CryRenderNULL AZ::AssetProcessor
# AZ::AssetProcessor AutomatedTesting.Assets
# AutomatedTesting.Assets COMPONENT
# COMPONENT Physics
# Physics )
# ) ly_add_pytest(
# ly_add_pytest( NAME AutomatedTesting::PhysicsTests_Periodic
# NAME AutomatedTesting::PhysicsTests_Sandbox TEST_SUITE periodic
# TEST_SUITE sandbox TEST_SERIAL
# TEST_SERIAL PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Periodic.py
# PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py TIMEOUT 3600
# TIMEOUT 3600 RUNTIME_DEPENDENCIES
# RUNTIME_DEPENDENCIES Legacy::Editor
# Legacy::Editor Legacy::CryRenderNULL
# Legacy::CryRenderNULL AZ::AssetProcessor
# AZ::AssetProcessor AutomatedTesting.Assets
# AutomatedTesting.Assets COMPONENT
# COMPONENT Physics
# Physics )
# ) ly_add_pytest(
#endif() NAME AutomatedTesting::PhysicsTests_Sandbox
TEST_SUITE sandbox
TEST_SERIAL
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py
TIMEOUT 3600
RUNTIME_DEPENDENCIES
Legacy::Editor
Legacy::CryRenderNULL
AZ::AssetProcessor
AutomatedTesting.Assets
COMPONENT
Physics
)
endif()
## ScriptCanvas ## ## ScriptCanvas ##
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
@ -178,7 +191,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
## DynVeg ## ## DynVeg ##
ly_add_pytest( ly_add_pytest(
NAME DynamicVegetationTests_Main_GPU NAME AutomatedTesting::DynamicVegetationTests_Main_GPU
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE main TEST_SUITE main
@ -195,7 +208,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
) )
ly_add_pytest( ly_add_pytest(
NAME DynamicVegetationTests_Sandbox_GPU NAME AutomatedTesting::DynamicVegetationTests_Sandbox_GPU
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE sandbox TEST_SUITE sandbox
@ -212,7 +225,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
) )
ly_add_pytest( ly_add_pytest(
NAME DynamicVegetationTests_Periodic_GPU NAME AutomatedTesting::DynamicVegetationTests_Periodic_GPU
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE periodic TEST_SUITE periodic
@ -229,7 +242,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
## LandscapeCanvas ## ## LandscapeCanvas ##
ly_add_pytest( ly_add_pytest(
NAME LandscapeCanvasTests_Main NAME AutomatedTesting::LandscapeCanvasTests_Main
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE main TEST_SUITE main
@ -245,7 +258,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
) )
ly_add_pytest( ly_add_pytest(
NAME LandscapeCanvasTests_Periodic NAME AutomatedTesting::LandscapeCanvasTests_Periodic
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE periodic TEST_SUITE periodic
@ -262,7 +275,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
## GradientSignal ## ## GradientSignal ##
ly_add_pytest( ly_add_pytest(
NAME GradientSignalTests_Periodic NAME AutomatedTesting::GradientSignalTests_Periodic
TEST_REQUIRES gpu TEST_REQUIRES gpu
TEST_SERIAL TEST_SERIAL
TEST_SUITE periodic TEST_SUITE periodic
@ -281,7 +294,7 @@ endif()
## Editor ## ## Editor ##
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED) if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
ly_add_pytest( ly_add_pytest(
NAME EditorTests_Periodic NAME AutomatedTesting::EditorTests_Periodic
TEST_SUITE periodic TEST_SUITE periodic
TEST_SERIAL TEST_SERIAL
PATH ${CMAKE_CURRENT_LIST_DIR}/editor PATH ${CMAKE_CURRENT_LIST_DIR}/editor
@ -299,7 +312,7 @@ endif()
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
# Unstable, SPEC-3838 will restore # Unstable, SPEC-3838 will restore
#ly_add_pytest( #ly_add_pytest(
# NAME asset_load_benchmark_test # NAME AutomatedTesting::asset_load_benchmark_test
# TEST_SERIAL # TEST_SERIAL
# TEST_SUITE benchmark # TEST_SUITE benchmark
# PATH ${CMAKE_CURRENT_LIST_DIR}/streaming/benchmark/asset_load_benchmark_test.py # PATH ${CMAKE_CURRENT_LIST_DIR}/streaming/benchmark/asset_load_benchmark_test.py

@ -278,6 +278,12 @@ class Tracer:
self.function = args[3] self.function = args[3]
self.message = args[4] self.message = args[4]
def __str__(self):
return f"Warning: [{self.filename}:{self.function}:{self.line}]: [{self.window}] {self.message}"
def __repr__(self):
return f"[Warning: {self.message}]"
class ErrorInfo: class ErrorInfo:
def __init__(self, args): def __init__(self, args):
self.window = args[0] self.window = args[0]
@ -285,6 +291,12 @@ class Tracer:
self.line = args[2] self.line = args[2]
self.function = args[3] self.function = args[3]
self.message = args[4] self.message = args[4]
def __str__(self):
return f"Error: [{self.filename}:{self.function}:{self.line}]: [{self.window}] {self.message}"
def __repr__(self):
return f"[Error: {self.message}]"
class AssertInfo: class AssertInfo:
def __init__(self, args): def __init__(self, args):
@ -292,6 +304,12 @@ class Tracer:
self.line = args[1] self.line = args[1]
self.function = args[2] self.function = args[2]
self.message = args[3] self.message = args[3]
def __str__(self):
return f"Assert: [{self.filename}:{self.function}:{self.line}]: {self.message}"
def __repr__(self):
return f"[Assert: {self.message}]"
def _on_warning(self, args): def _on_warning(self, args):
warningInfo = Tracer.WarningInfo(args) warningInfo = Tracer.WarningInfo(args)

@ -94,13 +94,13 @@ class TestAutomationBase:
editor_starttime = time.time() editor_starttime = time.time()
self.logger.debug("Running automated test") self.logger.debug("Running automated test")
testcase_module_filepath = self._get_testcase_module_filepath(testcase_module) testcase_module_filepath = self._get_testcase_module_filepath(testcase_module)
pycmd = ["--runpythontest", testcase_module_filepath, "-BatchMode", "-autotest_mode", "-NullRenderer"] + extra_cmdline_args pycmd = ["--runpythontest", testcase_module_filepath, "-BatchMode", "-autotest_mode", "-rhi=null"] + extra_cmdline_args
editor.args.extend(pycmd) # args are added to the WinLauncher start command editor.args.extend(pycmd) # args are added to the WinLauncher start command
editor.start(backupFiles = False, launch_ap = False) editor.start(backupFiles = False, launch_ap = False)
try: try:
editor.wait(TestAutomationBase.MAX_TIMEOUT) editor.wait(TestAutomationBase.MAX_TIMEOUT)
except WaitTimeoutError: except WaitTimeoutError:
errors.append(TestRunError("TIMEOUT", "Editor did not close after {TestAutomationBase.MAX_TIMEOUT} seconds, verify the test is ending and the application didn't freeze")) errors.append(TestRunError("TIMEOUT", f"Editor did not close after {TestAutomationBase.MAX_TIMEOUT} seconds, verify the test is ending and the application didn't freeze"))
editor.kill() editor.kill()
output = editor.get_output() output = editor.get_output()
@ -118,16 +118,16 @@ class TestAutomationBase:
else: else:
error_str = "Test failed, no output available..\n" error_str = "Test failed, no output available..\n"
errors.append(TestRunError("FAILED TEST", error_str)) errors.append(TestRunError("FAILED TEST", error_str))
if return_code != TestAutomationBase.TEST_FAIL_RETCODE: # Crashed if return_code and return_code != TestAutomationBase.TEST_FAIL_RETCODE: # Crashed
crash_info = "-- No crash log available --" crash_info = "-- No crash log available --"
error_log = os.path.join(workspace.paths.project_log(), 'error.log') crash_log = os.path.join(workspace.paths.project_log(), 'error.log')
try: try:
waiter.wait_for(lambda: os.path.exists(error_log), timeout=TestAutomationBase.WAIT_FOR_CRASH_LOG) waiter.wait_for(lambda: os.path.exists(crash_log), timeout=TestAutomationBase.WAIT_FOR_CRASH_LOG)
except AssertionError: except AssertionError:
pass pass
try: try:
with open(error_log) as f: with open(crash_log) as f:
crash_info = f.read() crash_info = f.read()
except Exception as ex: except Exception as ex:
crash_info += f"\n{str(ex)}" crash_info += f"\n{str(ex)}"

@ -24,7 +24,7 @@ class Tests():
# fmt: on # fmt: on
def run(): def C14861501_PhysXCollider_RenderMeshAutoAssigned():
""" """
Summary: Summary:
Create entity with Mesh component and assign a render mesh to the Mesh component. Add Physics Collider component Create entity with Mesh component and assign a render mesh to the Mesh component. Add Physics Collider component
@ -61,7 +61,7 @@ def run():
from asset_utils import Asset from asset_utils import Asset
# Asset paths # Asset paths
STATIC_MESH = os.path.join("assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.cgf") STATIC_MESH = os.path.join("assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.azmodel")
PHYSX_MESH = os.path.join( PHYSX_MESH = os.path.join(
"assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.pxmesh" "assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.pxmesh"
) )
@ -80,8 +80,8 @@ def run():
# 4) Assign a render mesh asset to Mesh component (the fbx mesh having both Static mesh and PhysX collision Mesh) # 4) Assign a render mesh asset to Mesh component (the fbx mesh having both Static mesh and PhysX collision Mesh)
mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
mesh_component.set_component_property_value("MeshComponentRenderNode|Mesh asset", mesh_asset.id) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
mesh_asset.id = mesh_component.get_component_property_value("MeshComponentRenderNode|Mesh asset") mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
# 5) Add PhysX Collider component # 5) Add PhysX Collider component
@ -95,4 +95,8 @@ def run():
if __name__ == "__main__": if __name__ == "__main__":
run() import ImportPathHelper as imports
imports.init()
from utils import Report
Report.start_test(C14861501_PhysXCollider_RenderMeshAutoAssigned)

@ -62,8 +62,8 @@ def C14861502_PhysXCollider_AssetAutoAssigned():
# Open 3D Engine Imports # Open 3D Engine Imports
import azlmbr.legacy.general as general import azlmbr.legacy.general as general
MESH_ASSET_PATH = os.path.join("Objects", "SphereBot", "r0-b_body.cgf") MESH_ASSET_PATH = os.path.join("Objects", "SphereBot", "r0-b_body.azmodel")
MESH_PROPERTY_PATH = "MeshComponentRenderNode|Mesh asset" MESH_PROPERTY_PATH = "Controller|Configuration|Mesh Asset"
TESTED_PROPERTY_PATH = "Shape Configuration|Asset|PhysX Mesh" TESTED_PROPERTY_PATH = "Shape Configuration|Asset|PhysX Mesh"
helper.init_idle() helper.init_idle()

@ -69,7 +69,7 @@ def run():
import azlmbr.asset as azasset import azlmbr.asset as azasset
# Asset paths # Asset paths
STATIC_MESH = os.path.join("assets", "c14861504_rendermeshasset_withnopxasset", "test_asset.cgf") STATIC_MESH = os.path.join("assets", "c14861504_rendermeshasset_withnopxasset", "test_asset.azmodel")
helper.init_idle() helper.init_idle()
# 1) Load the empty level # 1) Load the empty level
@ -85,8 +85,8 @@ def run():
# 4) Assign a render mesh asset to Mesh component (the fbx mesh having both Static mesh and PhysX collision Mesh) # 4) Assign a render mesh asset to Mesh component (the fbx mesh having both Static mesh and PhysX collision Mesh)
mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
mesh_component.set_component_property_value("MeshComponentRenderNode|Mesh asset", mesh_asset.id) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
mesh_asset.id = mesh_component.get_component_property_value("MeshComponentRenderNode|Mesh asset") mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
# 5) Add PhysX Collider component # 5) Add PhysX Collider component

@ -27,7 +27,7 @@ class Tests():
# fmt: on # fmt: on
def run(): def C4044695_PhysXCollider_AddMultipleSurfaceFbx():
""" """
Summary: Summary:
Create entity with Mesh and PhysX Collider components and assign a fbx file in both the components. Create entity with Mesh and PhysX Collider components and assign a fbx file in both the components.
@ -45,12 +45,7 @@ def run():
4) Select the PhysicsAsset shape in the PhysX Collider component 4) Select the PhysicsAsset shape in the PhysX Collider component
5) Assign the fbx file in PhysX Mesh and Mesh component 5) Assign the fbx file in PhysX Mesh and Mesh component
6) Check if multiple material slots show up under Materials section in the PhysX Collider component 6) Check if multiple material slots show up under Materials section in the PhysX Collider component
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 :return: None
""" """
# Builtins # Builtins
@ -70,7 +65,7 @@ def run():
SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset
# Asset paths # Asset paths
STATIC_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.cgf") STATIC_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.azmodel")
PHYSX_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.pxmesh") PHYSX_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.pxmesh")
helper.init_idle() helper.init_idle()
@ -100,8 +95,8 @@ def run():
Report.result(Tests.assign_px_mesh_asset, px_asset.get_path() == PHYSX_MESH.replace(os.sep, "/")) Report.result(Tests.assign_px_mesh_asset, px_asset.get_path() == PHYSX_MESH.replace(os.sep, "/"))
mesh_asset = Asset.find_asset_by_path(STATIC_MESH) mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
mesh_component.set_component_property_value("MeshComponentRenderNode|Mesh asset", mesh_asset.id) mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
mesh_asset.id = mesh_component.get_component_property_value("MeshComponentRenderNode|Mesh asset") mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/")) Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
# 6) Check if multiple material slots show up under Materials section in the PhysX Collider component # 6) Check if multiple material slots show up under Materials section in the PhysX Collider component
@ -116,4 +111,8 @@ def run():
if __name__ == "__main__": if __name__ == "__main__":
run() import ImportPathHelper as imports
imports.init()
from utils import Report
Report.start_test(C4044695_PhysXCollider_AddMultipleSurfaceFbx)

@ -27,7 +27,7 @@ class Tests():
def C4976236_AddPhysxColliderComponent(): def C4976236_AddPhysxColliderComponent():
""" """
Summary: Summary:
Load level with Entity having PhysX Collider component. Verify that editor remains stable in Game mode. Opens an empty level and creates an Entity with PhysX Collider. Verify that editor remains stable in Game mode.
Expected Behavior: Expected Behavior:
The Editor is stable there are no warnings or errors. The Editor is stable there are no warnings or errors.
@ -37,16 +37,10 @@ def C4976236_AddPhysxColliderComponent():
2) Create test entity 2) Create test entity
3) Start the Tracer to catch any errors and warnings 3) Start the Tracer to catch any errors and warnings
4) Add the PhysX Collider component and change shape to box 4) Add the PhysX Collider component and change shape to box
5) Add Mesh component and an asset 5) Enter game mode
6) Enter game mode 6) Verify there are no errors and warnings in the logs
7) Verify there are no errors and warnings in the logs 7) Exit game mode
8) Exit game mode 8) Close the editor
9) Close the editor
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 :return: None
""" """
@ -60,7 +54,7 @@ def C4976236_AddPhysxColliderComponent():
from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import TestHelper as helper
from editor_python_test_tools.utils import Tracer from editor_python_test_tools.utils import Tracer
from asset_utils import Asset from asset_utils import Asset
helper.init_idle() helper.init_idle()
# 1) Load the level # 1) Load the level
helper.open_level("Physics", "Base") helper.open_level("Physics", "Base")
@ -74,17 +68,12 @@ def C4976236_AddPhysxColliderComponent():
# 4) Add the PhysX Collider component and change shape to box # 4) Add the PhysX Collider component and change shape to box
collider_component = test_entity.add_component("PhysX Collider") collider_component = test_entity.add_component("PhysX Collider")
Report.result(Tests.add_physx_collider, test_entity.has_component("PhysX Collider")) Report.result(Tests.add_physx_collider, test_entity.has_component("PhysX Collider"))
collider_component.set_component_property_value('Shape Configuration|Shape', 1) collider_component.set_component_property_value('Shape Configuration|Shape', azlmbr.physics.ShapeType_Box)
# 5) Add Mesh component and an asset
mesh_component = test_entity.add_component("Mesh")
asset = Asset.find_asset_by_path(r"Objects\default\primitive_cube.cgf")
mesh_component.set_component_property_value('MeshComponentRenderNode|Mesh asset', asset.id)
# 6) Enter game mode # 5) Enter game mode
helper.enter_game_mode(Tests.enter_game_mode) helper.enter_game_mode(Tests.enter_game_mode)
# 7) Verify there are no errors and warnings in the logs # 6) Verify there are no errors and warnings in the logs
success_condition = not (section_tracer.has_errors or section_tracer.has_warnings) success_condition = not (section_tracer.has_errors or section_tracer.has_warnings)
Report.result(Tests.no_errors_and_warnings_found, success_condition) Report.result(Tests.no_errors_and_warnings_found, success_condition)
if not success_condition: if not success_condition:
@ -92,9 +81,8 @@ def C4976236_AddPhysxColliderComponent():
Report.info(f"Warnings found: {section_tracer.warnings}") Report.info(f"Warnings found: {section_tracer.warnings}")
if section_tracer.has_errors: if section_tracer.has_errors:
Report.info(f"Errors found: {section_tracer.errors}") Report.info(f"Errors found: {section_tracer.errors}")
Report.failure(Tests.no_errors_and_warnings_found)
# 8) Exit game mode # 7) Exit game mode
helper.exit_game_mode(Tests.exit_game_mode) helper.exit_game_mode(Tests.exit_game_mode)

@ -0,0 +1,37 @@
"""
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 .FileManagement import FileManagement as fm
from ly_test_tools import LAUNCHERS
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
from base import TestAutomationBase
revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', 'physxdefaultsceneconfiguration.setreg', 'physxsystemconfiguration.setreg'], 'AutomatedTesting/Registry')
@pytest.mark.SUITE_main
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("project", ["AutomatedTesting"])
class TestAutomation(TestAutomationBase):
def test_C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform):
from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
self._run_test(request, workspace, editor, test_module)

@ -27,26 +27,16 @@ from base import TestAutomationBase
revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', 'physxdefaultsceneconfiguration.setreg', 'physxsystemconfiguration.setreg'], 'AutomatedTesting/Registry') revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', 'physxdefaultsceneconfiguration.setreg', 'physxsystemconfiguration.setreg'], 'AutomatedTesting/Registry')
@pytest.mark.SUITE_main @pytest.mark.SUITE_periodic
@pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("project", ["AutomatedTesting"])
class TestAutomation(TestAutomationBase): class TestAutomation(TestAutomationBase):
# Marking the test as an expected failure due to sporadic failure on Automated Review: SPEC-3146
# The test still runs, but a failure of the test doesn't result in the test run failing
@pytest.mark.xfail(
reason="This test seems to fail sometimes due to it being the first test in the testsuite, we'll duplicate it temporarly."
"Need to figure out the reason why this is the case")
@revert_physics_config
def test_C000000_RigidBody_EnablingGravityWorksPoC_DUPLICATE(self, request, workspace, editor, launcher_platform):
from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module
self._run_test(request, workspace, editor, test_module)
@revert_physics_config @revert_physics_config
def test_C3510642_Terrain_NotCollideWithTerrain(self, request, workspace, editor, launcher_platform): def test_C3510642_Terrain_NotCollideWithTerrain(self, request, workspace, editor, launcher_platform):
from . import C3510642_Terrain_NotCollideWithTerrain as test_module from . import C3510642_Terrain_NotCollideWithTerrain as test_module
self._run_test(request, workspace, editor, test_module) self._run_test(request, workspace, editor, test_module)
@revert_physics_config @revert_physics_config
def test_C4976195_RigidBodies_InitialLinearVelocity(self, request, workspace, editor, launcher_platform): def test_C4976195_RigidBodies_InitialLinearVelocity(self, request, workspace, editor, launcher_platform):
from . import C4976195_RigidBodies_InitialLinearVelocity as test_module from . import C4976195_RigidBodies_InitialLinearVelocity as test_module
@ -530,8 +520,4 @@ class TestAutomation(TestAutomationBase):
def test_C100000_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform): def test_C100000_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform):
from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module
self._run_test(request, workspace, editor, test_module) self._run_test(request, workspace, editor, test_module)
def test_C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform):
from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
self._run_test(request, workspace, editor, test_module)

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:75cb1c8454aafc3de81351450a9480f91cb98d926a6e47f87a5ffe91e1d5a7d5 oid sha256:f63204a86af8bc0963a4823d047a2e222cc19aabd14570d0789dc90cdc82970c
size 4745 size 2017

@ -1,356 +1,356 @@
<TimeOfDay Time="13.5" TimeStart="13.5" TimeEnd="13.5" TimeAnimSpeed="0"> <TimeOfDay Time="13.5" TimeStart="13.5" TimeEnd="13.5" TimeAnimSpeed="0">
<Variable Name="Sun color" Color="0.99989021,0.99946922,0.9991194"> <Variable Name="Sun color" Color="0.78353798,0.89626998,0.93034101">
<Spline Keys="-0.000628322:(0.783538:0.89627:0.930341):36,0:(0.783538:0.887923:0.921582):36,0.229167:(0.783538:0.879623:0.921582):36,0.25:(0.947307:0.745404:0.577581):36,0.458333:(1:1:1):36,0.5625:(1:1:1):36,0.75:(0.947307:0.745404:0.577581):36,0.770833:(0.783538:0.879623:0.921582):36,1:(0.783538:0.89627:0.930556):36,"/> <Spline Keys="-0.000628322:(0.783538:0.89627:0.930341):36"/>
</Variable> </Variable>
<Variable Name="Sun intensity" Value="92366.68"> <Variable Name="Sun intensity" Value="1000">
<Spline Keys="0:1000:36,0.229167:1000:36,0.5:120000:36,0.770833:1000:65572,0.999306:1000:36,"/> <Spline Keys="0:1000:36"/>
</Variable> </Variable>
<Variable Name="Sun specular multiplier" Value="1"> <Variable Name="Sun specular multiplier" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:36,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Fog color" Color="0.27049801,0.47353199,0.83076996"> <Variable Name="Fog color" Color="0.0065120901,0.0097212195,0.0137021">
<Spline Keys="0:(0.00651209:0.00972122:0.0137021):36,0.229167:(0.00604883:0.00972122:0.0137021):36,0.25:(0.270498:0.473532:0.83077):36,0.5:(0.270498:0.473532:0.83077):458788,0.75:(0.270498:0.473532:0.83077):36,0.770833:(0.00604883:0.00972122:0.0137021):36,1:(0.00651209:0.00972122:0.0137021):36,"/> <Spline Keys="0:(0.00651209:0.00972122:0.0137021):36"/>
</Variable> </Variable>
<Variable Name="Fog color multiplier" Value="1"> <Variable Name="Fog color multiplier" Value="0.5">
<Spline Keys="0:0.5:36,0.229167:0.5:36,0.25:1:36,0.5:1:36,0.75:1:36,0.770833:0.5:36,1:0.5:65572,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Fog height (bottom)" Value="0"> <Variable Name="Fog height (bottom)" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:36,0.75:0:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Fog layer density (bottom)" Value="1"> <Variable Name="Fog layer density (bottom)" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:36,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Fog color (top)" Color="0.597202,0.72305501,0.91309899"> <Variable Name="Fog color (top)" Color="0.0069954102,0.0097212195,0.0122865">
<Spline Keys="0:(0.00699541:0.00972122:0.0122865):36,0.229167:(0.00699541:0.00972122:0.0122865):36,0.25:(0.597202:0.723055:0.913099):36,0.5:(0.597202:0.723055:0.913099):458788,0.75:(0.597202:0.723055:0.913099):36,0.770833:(0.00699541:0.00972122:0.0122865):36,1:(0.00699541:0.00972122:0.0122865):36,"/> <Spline Keys="0:(0.00699541:0.00972122:0.0122865):36"/>
</Variable> </Variable>
<Variable Name="Fog color (top) multiplier" Value="0.88389361"> <Variable Name="Fog color (top) multiplier" Value="0.5">
<Spline Keys="-4.40702e-06:0.5:36,0.0297507:0.499195:36,0.229167:0.5:36,0.5:1:36,0.770833:0.5:36,1:0.5:36,"/> <Spline Keys="-4.40702e-06:0.5:36"/>
</Variable> </Variable>
<Variable Name="Fog height (top)" Value="100.00001"> <Variable Name="Fog height (top)" Value="100">
<Spline Keys="0:100:36,0.25:100:36,0.5:100:36,0.75:100:65572,1:100:36,"/> <Spline Keys="0:100:36"/>
</Variable> </Variable>
<Variable Name="Fog layer density (top)" Value="9.9999997e-05"> <Variable Name="Fog layer density (top)" Value="9.9999997e-05">
<Spline Keys="0:0.0001:36,0.25:0.0001:36,0.5:0.0001:65572,0.75:0.0001:36,1:0.0001:36,"/> <Spline Keys="0:0.0001:36"/>
</Variable> </Variable>
<Variable Name="Fog color height offset" Value="0"> <Variable Name="Fog color height offset" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:36,0.75:0:36,1:0:65572,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Fog color (radial)" Color="0.78592348,0.52744436,0.17234583"> <Variable Name="Fog color (radial)" Color="0,0,0">
<Spline Keys="0:(0:0:0):36,0.229167:(0.00439144:0.00367651:0.00334654):36,0.25:(0.838799:0.564712:0.184475):36,0.5:(0.768151:0.514918:0.168269):458788,0.75:(0.838799:0.564712:0.184475):36,0.770833:(0.00402472:0.00334654:0.00303527):36,1:(0:0:0):36,"/> <Spline Keys="0:(0:0:0):36"/>
</Variable> </Variable>
<Variable Name="Fog color (radial) multiplier" Value="6"> <Variable Name="Fog color (radial) multiplier" Value="0">
<Spline Keys="0:0:36,0.25:6:36,0.5:6:36,0.75:6:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Fog radial size" Value="0.85000002"> <Variable Name="Fog radial size" Value="0">
<Spline Keys="0:0:36,0.25:0.85:65572,0.5:0.85:36,0.75:0.85:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Fog radial lobe" Value="0.75"> <Variable Name="Fog radial lobe" Value="0">
<Spline Keys="0:0:36,0.25:0.75:36,0.5:0.75:36,0.75:0.75:65572,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Final density clamp" Value="1"> <Variable Name="Volumetric fog: Final density clamp" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Global density" Value="1.5"> <Variable Name="Volumetric fog: Global density" Value="1.5">
<Spline Keys="0:1.5:36,0.25:1.5:36,0.5:1.5:65572,0.75:1.5:36,1:1.5:36,"/> <Spline Keys="0:1.5:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Ramp start" Value="25.000002"> <Variable Name="Volumetric fog: Ramp start" Value="25">
<Spline Keys="0:25:36,0.25:25:36,0.5:25:65572,0.75:25:36,1:25:36,"/> <Spline Keys="0:25:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Ramp end" Value="1000.0001"> <Variable Name="Volumetric fog: Ramp end" Value="1000">
<Spline Keys="0:1000:36,0.25:1000:36,0.5:1000:65572,0.75:1000:36,1:1000:36,"/> <Spline Keys="0:1000:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Ramp influence" Value="0.69999993"> <Variable Name="Volumetric fog: Ramp influence" Value="0.69999999">
<Spline Keys="0:0.7:36,0.25:0.7:36,0.5:0.7:65572,0.75:0.7:36,1:0.7:36,"/> <Spline Keys="0:0.7:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Shadow darkening" Value="0.20000002"> <Variable Name="Volumetric fog: Shadow darkening" Value="0.2">
<Spline Keys="0:0.2:36,0.25:0.2:36,0.5:0.2:65572,0.75:0.2:36,1:0.2:36,"/> <Spline Keys="0:0.2:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Shadow darkening sun" Value="0.5"> <Variable Name="Volumetric fog: Shadow darkening sun" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0.5:36,0.5:0.5:65572,0.75:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Shadow darkening ambient" Value="1"> <Variable Name="Volumetric fog: Shadow darkening ambient" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog: Shadow range" Value="0.10000001"> <Variable Name="Volumetric fog: Shadow range" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog height (bottom)" Value="0"> <Variable Name="Volumetric fog 2: Fog height (bottom)" Value="0">
<Spline Keys="0:0:0,1:0:0,"/> <Spline Keys="0:0:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog layer density (bottom)" Value="1"> <Variable Name="Volumetric fog 2: Fog layer density (bottom)" Value="1">
<Spline Keys="0:1:0,1:1:0,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog height (top)" Value="4000"> <Variable Name="Volumetric fog 2: Fog height (top)" Value="4000">
<Spline Keys="0:4000:0,1:4000:0,"/> <Spline Keys="0:4000:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog layer density (top)" Value="9.9999997e-05"> <Variable Name="Volumetric fog 2: Fog layer density (top)" Value="9.9999997e-05">
<Spline Keys="0:0.0001:0,1:0.0001:0,"/> <Spline Keys="0:0.0001:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Global fog density" Value="0.1"> <Variable Name="Volumetric fog 2: Global fog density" Value="0.1">
<Spline Keys="0:0.1:0,1:0.1:0,"/> <Spline Keys="0:0.1:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Ramp start" Value="0"> <Variable Name="Volumetric fog 2: Ramp start" Value="0">
<Spline Keys="0:0:0,1:0:0,"/> <Spline Keys="0:0:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Ramp end" Value="0"> <Variable Name="Volumetric fog 2: Ramp end" Value="0">
<Spline Keys="0:0:0,1:0:0,"/> <Spline Keys="0:0:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog albedo color (atmosphere)" Color="1,1,1"> <Variable Name="Volumetric fog 2: Fog albedo color (atmosphere)" Color="1,1,1">
<Spline Keys="0:(1:1:1):0,1:(1:1:1):0,"/> <Spline Keys="0:(1:1:1):0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Anisotropy factor (atmosphere)" Value="0.60000002"> <Variable Name="Volumetric fog 2: Anisotropy factor (atmosphere)" Value="0.60000002">
<Spline Keys="0:0.6:0,1:0.6:0,"/> <Spline Keys="0:0.6:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog albedo color (sun radial)" Color="1,1,1"> <Variable Name="Volumetric fog 2: Fog albedo color (sun radial)" Color="1,1,1">
<Spline Keys="0:(1:1:1):0,1:(1:1:1):0,"/> <Spline Keys="0:(1:1:1):0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Anisotropy factor (sun radial)" Value="0.94999999"> <Variable Name="Volumetric fog 2: Anisotropy factor (sun radial)" Value="0.94999999">
<Spline Keys="0:0.95:0,1:0.95:0,"/> <Spline Keys="0:0.95:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Blend factor for sun scattering" Value="1"> <Variable Name="Volumetric fog 2: Blend factor for sun scattering" Value="1">
<Spline Keys="0:1:0,1:1:0,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Blend mode for sun scattering" Value="0"> <Variable Name="Volumetric fog 2: Blend mode for sun scattering" Value="0">
<Spline Keys="0:0:0,1:0:0,"/> <Spline Keys="0:0:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Fog albedo color (entities)" Color="1,1,1"> <Variable Name="Volumetric fog 2: Fog albedo color (entities)" Color="1,1,1">
<Spline Keys="0:(1:1:1):0,1:(1:1:1):0,"/> <Spline Keys="0:(1:1:1):0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Anisotropy factor (entities)" Value="0.60000002"> <Variable Name="Volumetric fog 2: Anisotropy factor (entities)" Value="0.60000002">
<Spline Keys="0:0.6:0,1:0.6:0,"/> <Spline Keys="0:0.6:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Maximum range of ray-marching" Value="64"> <Variable Name="Volumetric fog 2: Maximum range of ray-marching" Value="64">
<Spline Keys="0:64:0,1:64:0,"/> <Spline Keys="0:64:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: In-scattering factor" Value="1"> <Variable Name="Volumetric fog 2: In-scattering factor" Value="1">
<Spline Keys="0:1:0,1:1:0,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Extinction factor" Value="0.30000001"> <Variable Name="Volumetric fog 2: Extinction factor" Value="0.30000001">
<Spline Keys="0:0.3:0,1:0.3:0,"/> <Spline Keys="0:0.3:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Analytical volumetric fog visibility" Value="0.5"> <Variable Name="Volumetric fog 2: Analytical volumetric fog visibility" Value="0.5">
<Spline Keys="0:0.5:0,1:0.5:0,"/> <Spline Keys="0:0.5:0"/>
</Variable> </Variable>
<Variable Name="Volumetric fog 2: Final density clamp" Value="1"> <Variable Name="Volumetric fog 2: Final density clamp" Value="1">
<Spline Keys="0:1:0,0.5:1:36,1:1:0,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Sky light: Sun intensity" Color="1,1,1"> <Variable Name="Sky light: Sun intensity" Color="1,1,1">
<Spline Keys="0:(1:1:1):36,0.25:(1:1:1):36,0.494381:(1:1:1):65572,0.5:(1:1:1):36,0.75:(1:1:1):36,1:(1:1:1):36,"/> <Spline Keys="0:(1:1:1):36"/>
</Variable> </Variable>
<Variable Name="Sky light: Sun intensity multiplier" Value="200.00002"> <Variable Name="Sky light: Sun intensity multiplier" Value="200">
<Spline Keys="0:200:36,0.25:200:36,0.5:200:36,0.75:200:36,1:200:36,"/> <Spline Keys="0:200:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Mie scattering" Value="6.779707"> <Variable Name="Sky light: Mie scattering" Value="40">
<Spline Keys="0:40:36,0.5:2:36,1:40:36,"/> <Spline Keys="0:40:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Rayleigh scattering" Value="0.20000002"> <Variable Name="Sky light: Rayleigh scattering" Value="0.2">
<Spline Keys="0:0.2:36,0.229167:0.2:36,0.25:1:36,0.291667:0.2:36,0.5:0.2:36,0.729167:0.2:36,0.75:1:36,0.770833:0.2:36,1:0.2:36,"/> <Spline Keys="0:0.2:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Sun anisotropy factor" Value="-0.99989998"> <Variable Name="Sky light: Sun anisotropy factor" Value="-0.99989998">
<Spline Keys="0:-0.9999:36,0.25:-0.9999:36,0.5:-0.9999:65572,0.75:-0.9999:36,1:-0.9999:36,"/> <Spline Keys="0:-0.9999:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Wavelength (R)" Value="694"> <Variable Name="Sky light: Wavelength (R)" Value="694">
<Spline Keys="0:694:36,0.25:694:36,0.5:694:65572,0.75:694:36,1:694:36,"/> <Spline Keys="0:694:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Wavelength (G)" Value="596.99994"> <Variable Name="Sky light: Wavelength (G)" Value="597">
<Spline Keys="0:597:36,0.25:597:36,0.5:597:36,0.75:597:36,1:597:36,"/> <Spline Keys="0:597:36"/>
</Variable> </Variable>
<Variable Name="Sky light: Wavelength (B)" Value="488"> <Variable Name="Sky light: Wavelength (B)" Value="488">
<Spline Keys="0:488:36,0.25:488:36,0.5:488:65572,0.75:488:36,1:488:36,"/> <Spline Keys="0:488:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Horizon color" Color="0.27049801,0.39157301,0.52711499"> <Variable Name="Night sky: Horizon color" Color="0.27049801,0.39157301,0.52099597">
<Spline Keys="0:(0.270498:0.391573:0.520996):36,0.25:(0.270498:0.391573:0.527115):36,0.5:(0.270498:0.391573:0.527115):262180,0.75:(0.270498:0.391573:0.527115):36,1:(0.270498:0.391573:0.520996):36,"/> <Spline Keys="0:(0.270498:0.391573:0.520996):36"/>
</Variable> </Variable>
<Variable Name="Night sky: Horizon color multiplier" Value="0"> <Variable Name="Night sky: Horizon color multiplier" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Zenith color" Color="0.36130697,0.434154,0.46778399"> <Variable Name="Night sky: Zenith color" Color="0.361307,0.434154,0.46778399">
<Spline Keys="0:(0.361307:0.434154:0.467784):36,0.25:(0.361307:0.434154:0.467784):36,0.5:(0.361307:0.434154:0.467784):262180,0.75:(0.361307:0.434154:0.467784):36,1:(0.361307:0.434154:0.467784):36,"/> <Spline Keys="0:(0.361307:0.434154:0.467784):36"/>
</Variable> </Variable>
<Variable Name="Night sky: Zenith color multiplier" Value="0"> <Variable Name="Night sky: Zenith color multiplier" Value="0.02">
<Spline Keys="0:0.02:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.02:36,"/> <Spline Keys="0:0.02:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Zenith shift" Value="0.5"> <Variable Name="Night sky: Zenith shift" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0.5:36,0.5:0.5:65572,0.75:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Star intensity" Value="0"> <Variable Name="Night sky: Star intensity" Value="3">
<Spline Keys="0:3:36,0.25:0:36,0.5:0:65572,0.75:0:36,0.836647:1.03977:36,1:3:36,"/> <Spline Keys="0:3:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon color" Color="1,1,1"> <Variable Name="Night sky: Moon color" Color="1,1,1">
<Spline Keys="0:(1:1:1):36,0.25:(1:1:1):36,0.5:(1:1:1):458788,0.75:(1:1:1):36,1:(1:1:1):36,"/> <Spline Keys="0:(1:1:1):36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon color multiplier" Value="0"> <Variable Name="Night sky: Moon color multiplier" Value="0.40000001">
<Spline Keys="0:0.4:36,0.25:0:36,0.5:0:36,0.75:0:65572,1:0.4:36,"/> <Spline Keys="0:0.4:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon inner corona color" Color="0.904661,1,1"> <Variable Name="Night sky: Moon inner corona color" Color="0.89626998,1,1">
<Spline Keys="0:(0.89627:1:1):36,0.25:(0.904661:1:1):36,0.5:(0.904661:1:1):393252,0.75:(0.904661:1:1):36,0.836647:(0.89627:1:1):36,1:(0.89627:1:1):36,"/> <Spline Keys="0:(0.89627:1:1):36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon inner corona color multiplier" Value="0"> <Variable Name="Night sky: Moon inner corona color multiplier" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon inner corona scale" Value="0"> <Variable Name="Night sky: Moon inner corona scale" Value="2">
<Spline Keys="0:2:36,0.25:0:36,0.5:0:65572,0.75:0:36,0.836647:0.693178:36,1:2:36,"/> <Spline Keys="0:2:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon outer corona color" Color="0.201556,0.22696599,0.25415203"> <Variable Name="Night sky: Moon outer corona color" Color="0.19806901,0.22696599,0.25015801">
<Spline Keys="0:(0.198069:0.226966:0.250158):36,0.25:(0.201556:0.226966:0.254152):36,0.5:(0.201556:0.226966:0.254152):36,0.75:(0.201556:0.226966:0.254152):36,1:(0.198069:0.226966:0.250158):36,"/> <Spline Keys="0:(0.198069:0.226966:0.250158):36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon outer corona color multiplier" Value="0"> <Variable Name="Night sky: Moon outer corona color multiplier" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Night sky: Moon outer corona scale" Value="0"> <Variable Name="Night sky: Moon outer corona scale" Value="0.0099999998">
<Spline Keys="0:0.01:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.01:36,"/> <Spline Keys="0:0.01:36"/>
</Variable> </Variable>
<Variable Name="Cloud shading: Sun light multiplier" Value="1"> <Variable Name="Cloud shading: Sun light multiplier" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Cloud shading: Sun custom color" Color="0.83076996,0.76815104,0.65837508"> <Variable Name="Cloud shading: Sun custom color" Color="0.73791099,0.73791099,0.73791099">
<Spline Keys="0:(0.737911:0.737911:0.737911):36,0.25:(0.83077:0.768151:0.658375):36,0.5:(0.83077:0.768151:0.658375):458788,0.75:(0.83077:0.768151:0.658375):36,1:(0.737911:0.737911:0.737911):36,"/> <Spline Keys="0:(0.737911:0.737911:0.737911):36"/>
</Variable> </Variable>
<Variable Name="Cloud shading: Sun custom color multiplier" Value="1"> <Variable Name="Cloud shading: Sun custom color multiplier" Value="0.1">
<Spline Keys="0:0.1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cloud shading: Sun custom color influence" Value="0"> <Variable Name="Cloud shading: Sun custom color influence" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Sun shafts visibility" Value="0"> <Variable Name="Sun shafts visibility" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Sun rays visibility" Value="1.5"> <Variable Name="Sun rays visibility" Value="1">
<Spline Keys="0:1:36,0.25:1.5:36,0.5:1.5:65572,0.75:1.5:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Sun rays attenuation" Value="1.5"> <Variable Name="Sun rays attenuation" Value="0.1">
<Spline Keys="0:0.1:36,0.25:1.5:36,0.5:1.5:65572,0.75:1.5:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Sun rays suncolor influence" Value="0.5"> <Variable Name="Sun rays suncolor influence" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0.5:36,0.5:0.5:65572,0.75:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Sun rays custom color" Color="0.66538697,0.83879906,0.94730699"> <Variable Name="Sun rays custom color" Color="0.66538697,0.838799,0.94730699">
<Spline Keys="0:(0.665387:0.838799:0.947307):36,0.25:(0.665387:0.838799:0.947307):36,0.5:(0.665387:0.838799:0.947307):458788,0.75:(0.665387:0.838799:0.947307):36,1:(0.665387:0.838799:0.947307):36,"/> <Spline Keys="0:(0.665387:0.838799:0.947307):36"/>
</Variable> </Variable>
<Variable Name="Ocean fog color" Color="0.0012141101,0.0091340598,0.017642001"> <Variable Name="Ocean fog color" Color="0.0012141099,0.0091340598,0.017642001">
<Spline Keys="0:(0.00121411:0.00913406:0.017642):36,0.25:(0.00121411:0.00913406:0.017642):36,0.5:(0.00121411:0.00913406:0.017642):458788,0.75:(0.00121411:0.00913406:0.017642):36,1:(0.00121411:0.00913406:0.017642):36,"/> <Spline Keys="0:(0.00121411:0.00913406:0.017642):36"/>
</Variable> </Variable>
<Variable Name="Ocean fog color multiplier" Value="0.5"> <Variable Name="Ocean fog color multiplier" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0.5:36,0.5:0.5:65572,0.75:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Ocean fog density" Value="0.5"> <Variable Name="Ocean fog density" Value="0.5">
<Spline Keys="0:0.5:36,0.25:0.5:36,0.5:0.5:65572,0.75:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Static skybox multiplier" Value="1"> <Variable Name="Static skybox multiplier" Value="1">
<Spline Keys="0:1:0,1:1:0,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Film curve shoulder scale" Value="2.232213"> <Variable Name="Film curve shoulder scale" Value="3">
<Spline Keys="0:3:36,0.229167:3:36,0.5:2:36,0.770833:3:36,1:3:36,"/> <Spline Keys="0:3:36"/>
</Variable> </Variable>
<Variable Name="Film curve midtones scale" Value="0.88389361"> <Variable Name="Film curve midtones scale" Value="0.5">
<Spline Keys="0:0.5:36,0.229167:0.5:36,0.5:1:36,0.770833:0.5:36,1:0.5:36,"/> <Spline Keys="0:0.5:36"/>
</Variable> </Variable>
<Variable Name="Film curve toe scale" Value="1"> <Variable Name="Film curve toe scale" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Film curve whitepoint" Value="4"> <Variable Name="Film curve whitepoint" Value="4">
<Spline Keys="0:4:36,0.25:4:36,0.5:4:65572,0.75:4:36,1:4:36,"/> <Spline Keys="0:4:36"/>
</Variable> </Variable>
<Variable Name="Saturation" Value="1"> <Variable Name="Saturation" Value="0.80000001">
<Spline Keys="0:0.8:36,0.229167:0.8:36,0.5:1:36,0.751391:1:65572,0.770833:0.8:36,1:0.8:36,"/> <Spline Keys="0:0.8:36"/>
</Variable> </Variable>
<Variable Name="Color balance" Color="1,1,1"> <Variable Name="Color balance" Color="1,1,1">
<Spline Keys="0:(1:1:1):36,0.25:(1:1:1):36,0.5:(1:1:1):36,0.75:(1:1:1):36,1:(1:1:1):36,"/> <Spline Keys="0:(1:1:1):36"/>
</Variable> </Variable>
<Variable Name="Scene key" Value="0.18000002"> <Variable Name="Scene key" Value="0.18000001">
<Spline Keys="0:0.18:36,0.25:0.18:36,0.5:0.18:65572,0.75:0.18:36,1:0.18:36,"/> <Spline Keys="0:0.18:36"/>
</Variable> </Variable>
<Variable Name="Min exposure" Value="1"> <Variable Name="Min exposure" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Max exposure" Value="2.6142297"> <Variable Name="Max exposure" Value="2">
<Spline Keys="0:2:36,0.229167:2:36,0.5:2.8:36,0.770833:2:36,1:2:36,"/> <Spline Keys="0:2:36"/>
</Variable> </Variable>
<Variable Name="EV Min" Value="4.5"> <Variable Name="EV Min" Value="4.5">
<Spline Keys="0:4.5:0,1:4.5:0,"/> <Spline Keys="0:4.5:0"/>
</Variable> </Variable>
<Variable Name="EV Max" Value="17"> <Variable Name="EV Max" Value="17">
<Spline Keys="0:17:0,1:17:0,"/> <Spline Keys="0:17:0"/>
</Variable> </Variable>
<Variable Name="EV Auto compensation" Value="1.5"> <Variable Name="EV Auto compensation" Value="1.5">
<Spline Keys="0:1.5:0,1:1.5:0,"/> <Spline Keys="0:1.5:0"/>
</Variable> </Variable>
<Variable Name="Bloom amount" Value="0.30899152"> <Variable Name="Bloom amount" Value="1">
<Spline Keys="0:1:36,0.229167:1:36,0.5:0.1:36,0.770833:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Filters: grain" Value="0"> <Variable Name="Filters: grain" Value="0.30000001">
<Spline Keys="0:0.3:65572,0.229167:0.3:36,0.25:0:36,0.5:0:36,0.75:0:36,1:0.3:36,"/> <Spline Keys="0:0.3:65572"/>
</Variable> </Variable>
<Variable Name="Filters: photofilter color" Color="0,0,0"> <Variable Name="Filters: photofilter color" Color="0,0,0">
<Spline Keys="0:(0:0:0):36,0.25:(0:0:0):36,0.5:(0:0:0):458788,0.75:(0:0:0):36,1:(0:0:0):36,"/> <Spline Keys="0:(0:0:0):36"/>
</Variable> </Variable>
<Variable Name="Filters: photofilter density" Value="0"> <Variable Name="Filters: photofilter density" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:36,0.75:0:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Dof: focus range" Value="500.00003"> <Variable Name="Dof: focus range" Value="500">
<Spline Keys="0:500:36,0.25:500:36,0.5:500:65572,0.75:500:36,1:500:36,"/> <Spline Keys="0:500:36"/>
</Variable> </Variable>
<Variable Name="Dof: blur amount" Value="0.10000001"> <Variable Name="Dof: blur amount" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 0: Bias" Value="0.10000001"> <Variable Name="Cascade 0: Bias" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 0: Slope Bias" Value="64"> <Variable Name="Cascade 0: Slope Bias" Value="64">
<Spline Keys="0:64:36,0.25:64:36,0.5:64:65572,0.75:64:36,1:64:36,"/> <Spline Keys="0:64:36"/>
</Variable> </Variable>
<Variable Name="Cascade 1: Bias" Value="0.10000001"> <Variable Name="Cascade 1: Bias" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 1: Slope Bias" Value="23"> <Variable Name="Cascade 1: Slope Bias" Value="23">
<Spline Keys="0:23:36,0.25:23:36,0.5:23:65572,0.75:23:36,1:23:36,"/> <Spline Keys="0:23:36"/>
</Variable> </Variable>
<Variable Name="Cascade 2: Bias" Value="0.10000001"> <Variable Name="Cascade 2: Bias" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 2: Slope Bias" Value="4"> <Variable Name="Cascade 2: Slope Bias" Value="4">
<Spline Keys="0:4:36,0.25:4:36,0.5:4:65572,0.75:4:36,1:4:36,"/> <Spline Keys="0:4:36"/>
</Variable> </Variable>
<Variable Name="Cascade 3: Bias" Value="0.10000001"> <Variable Name="Cascade 3: Bias" Value="0.1">
<Spline Keys="0:0.1:36,0.25:0.1:36,0.5:0.1:36,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 3: Slope Bias" Value="1"> <Variable Name="Cascade 3: Slope Bias" Value="1">
<Spline Keys="0:1:36,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:36"/>
</Variable> </Variable>
<Variable Name="Cascade 4: Bias" Value="0.10000001"> <Variable Name="Cascade 4: Bias" Value="0.1">
<Spline Keys="0:0.1:0,0.25:0.1:36,0.5:0.1:65572,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 4: Slope Bias" Value="1"> <Variable Name="Cascade 4: Slope Bias" Value="1">
<Spline Keys="0:1:0,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 5: Bias" Value="0.0099999998"> <Variable Name="Cascade 5: Bias" Value="0.0099999998">
<Spline Keys="0:0.01:0,0.25:0.01:36,0.5:0.01:65572,0.75:0.01:36,1:0.01:36,"/> <Spline Keys="0:0.01:0"/>
</Variable> </Variable>
<Variable Name="Cascade 5: Slope Bias" Value="1"> <Variable Name="Cascade 5: Slope Bias" Value="1">
<Spline Keys="0:1:0,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 6: Bias" Value="0.10000001"> <Variable Name="Cascade 6: Bias" Value="0.1">
<Spline Keys="0:0.1:0,0.25:0.1:36,0.5:0.1:36,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 6: Slope Bias" Value="1"> <Variable Name="Cascade 6: Slope Bias" Value="1">
<Spline Keys="0:1:0,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 7: Bias" Value="0.10000001"> <Variable Name="Cascade 7: Bias" Value="0.1">
<Spline Keys="0:0.1:0,0.25:0.1:36,0.5:0.1:36,0.75:0.1:36,1:0.1:36,"/> <Spline Keys="0:0.1:0"/>
</Variable> </Variable>
<Variable Name="Cascade 7: Slope Bias" Value="1"> <Variable Name="Cascade 7: Slope Bias" Value="1">
<Spline Keys="0:1:0,0.25:1:36,0.5:1:65572,0.75:1:36,1:1:36,"/> <Spline Keys="0:1:0"/>
</Variable> </Variable>
<Variable Name="Shadow jittering" Value="2.4999998"> <Variable Name="Shadow jittering" Value="5">
<Spline Keys="0:5:36,0.25:2.5:36,0.5:2.5:65572,0.75:2.5:36,1:5:0,"/> <Spline Keys="0:5:36"/>
</Variable> </Variable>
<Variable Name="HDR dynamic power factor" Value="0"> <Variable Name="HDR dynamic power factor" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:65572,0.75:0:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Sky brightening (terrain occlusion)" Value="0"> <Variable Name="Sky brightening (terrain occlusion)" Value="0">
<Spline Keys="0:0:36,0.25:0:36,0.5:0:36,0.75:0:36,1:0:36,"/> <Spline Keys="0:0:36"/>
</Variable> </Variable>
<Variable Name="Sun color multiplier" Value="9.999999"> <Variable Name="Sun color multiplier" Value="0.1">
<Spline Keys="0:0.1:36,0.25:10:36,0.5:10:36,0.75:10:36,1:0.1:36,"/> <Spline Keys="0:0.1:36"/>
</Variable> </Variable>
</TimeOfDay> </TimeOfDay>

@ -1,7 +1,7 @@
sys_game_name = "AutomatedTesting" sys_game_name = "AutomatedTesting"
sys_localization_folder = Localization sys_localization_folder = Localization
ca_useIMG_CAF = 0 ca_useIMG_CAF = 0
sys_asserts=2 sys_asserts=1
-- Enable warnings when asset loads take longer than the given millisecond threshold -- Enable warnings when asset loads take longer than the given millisecond threshold
cl_assetLoadWarningEnable=true cl_assetLoadWarningEnable=true

@ -26,6 +26,22 @@ namespace Physics
->Field("Scale", &ShapeConfiguration::m_scale) ->Field("Scale", &ShapeConfiguration::m_scale)
; ;
} }
if (auto behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
#define REFLECT_SHAPETYPE_ENUM_VALUE(EnumValue) \
behaviorContext->EnumProperty<(int)Physics::ShapeType::EnumValue>("ShapeType_"#EnumValue) \
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation) \
->Attribute(AZ::Script::Attributes::Module, "physics");
// Note: Here we only expose the types that are available to the user in the editor
REFLECT_SHAPETYPE_ENUM_VALUE(Box);
REFLECT_SHAPETYPE_ENUM_VALUE(Sphere);
REFLECT_SHAPETYPE_ENUM_VALUE(Cylinder);
REFLECT_SHAPETYPE_ENUM_VALUE(PhysicsAsset);
#undef REFLECT_SHAPETYPE_ENUM_VALUE
}
} }
void SphereShapeConfiguration::Reflect(AZ::ReflectContext* context) void SphereShapeConfiguration::Reflect(AZ::ReflectContext* context)

@ -5232,6 +5232,13 @@ extern "C" int AZ_DLL_EXPORT CryEditMain(int argc, char* argv[])
AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware);
Editor::EditorQtApplication app(argc, argv); Editor::EditorQtApplication app(argc, argv);
if (app.arguments().contains("-autotest_mode"))
{
// Nullroute all stdout to null for automated tests, this way we make sure
// that the test result output is not polluted with unrelated output data.
theApp->RedirectStdoutToNull();
}
// Hook the trace bus to catch errors, boot the AZ app after the QApplication is up // Hook the trace bus to catch errors, boot the AZ app after the QApplication is up
int ret = 0; int ret = 0;
@ -5249,13 +5256,6 @@ extern "C" int AZ_DLL_EXPORT CryEditMain(int argc, char* argv[])
return -1; return -1;
} }
if (app.arguments().contains("-autotest_mode"))
{
// Nullroute all stdout to null for automated tests, this way we make sure
// that the test result output is not polluted with unrelated output data.
theApp->RedirectStdoutToNull();
}
AzToolsFramework::EditorEvents::Bus::Broadcast(&AzToolsFramework::EditorEvents::NotifyQtApplicationAvailable, &app); AzToolsFramework::EditorEvents::Bus::Broadcast(&AzToolsFramework::EditorEvents::NotifyQtApplicationAvailable, &app);
#if defined(AZ_PLATFORM_MAC) #if defined(AZ_PLATFORM_MAC)

@ -653,8 +653,8 @@ namespace EditorPythonBindings
} }
else else
{ {
// something when wrong with executing the test script // something went wrong with executing the test script
AZ::Debug::Trace::Terminate(1); AZ::Debug::Trace::Terminate(0xF);
} }
} }

@ -88,33 +88,33 @@ namespace PhysX
editContext->Class<EditorProxyShapeConfig>( editContext->Class<EditorProxyShapeConfig>(
"EditorProxyShapeConfig", "PhysX Base shape collider") "EditorProxyShapeConfig", "PhysX Base shape collider")
->DataElement(AZ::Edit::UIHandlers::ComboBox, &EditorProxyShapeConfig::m_shapeType, "Shape", "The shape of the collider") ->DataElement(AZ::Edit::UIHandlers::ComboBox, &EditorProxyShapeConfig::m_shapeType, "Shape", "The shape of the collider")
->EnumAttribute(Physics::ShapeType::Sphere, "Sphere") ->EnumAttribute(Physics::ShapeType::Sphere, "Sphere")
->EnumAttribute(Physics::ShapeType::Box, "Box") ->EnumAttribute(Physics::ShapeType::Box, "Box")
->EnumAttribute(Physics::ShapeType::Capsule, "Capsule") ->EnumAttribute(Physics::ShapeType::Capsule, "Capsule")
->EnumAttribute(Physics::ShapeType::PhysicsAsset, "PhysicsAsset") ->EnumAttribute(Physics::ShapeType::PhysicsAsset, "PhysicsAsset")
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree) ->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
// note: we do not want the user to be able to change shape types while in ComponentMode (there will // note: we do not want the user to be able to change shape types while in ComponentMode (there will
// potentially be different ComponentModes for different shape types) // potentially be different ComponentModes for different shape types)
->Attribute(AZ::Edit::Attributes::ReadOnly, &AzToolsFramework::ComponentModeFramework::InComponentMode) ->Attribute(AZ::Edit::Attributes::ReadOnly, &AzToolsFramework::ComponentModeFramework::InComponentMode)
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_sphere, "Sphere", "Configuration of sphere shape") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_sphere, "Sphere", "Configuration of sphere shape")
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsSphereConfig) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsSphereConfig)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_box, "Box", "Configuration of box shape") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_box, "Box", "Configuration of box shape")
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsBoxConfig) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsBoxConfig)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_capsule, "Capsule", "Configuration of capsule shape") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_capsule, "Capsule", "Configuration of capsule shape")
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsCapsuleConfig) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsCapsuleConfig)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_physicsAsset, "Asset", "Configuration of asset shape") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_physicsAsset, "Asset", "Configuration of asset shape")
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsAssetConfig) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsAssetConfig)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_subdivisionLevel, "Subdivision level", ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_subdivisionLevel, "Subdivision level",
"The level of subdivision if a primitive shape is replaced with a convex mesh due to scaling") "The level of subdivision if a primitive shape is replaced with a convex mesh due to scaling")
->Attribute(AZ::Edit::Attributes::Min, Utils::MinCapsuleSubdivisionLevel) ->Attribute(AZ::Edit::Attributes::Min, Utils::MinCapsuleSubdivisionLevel)
->Attribute(AZ::Edit::Attributes::Max, Utils::MaxCapsuleSubdivisionLevel) ->Attribute(AZ::Edit::Attributes::Max, Utils::MaxCapsuleSubdivisionLevel)
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::ShowingSubdivisionLevel) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::ShowingSubdivisionLevel)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
; ;
} }
} }

@ -22,7 +22,7 @@ def _get_test_launcher_cmd(build_dir=None):
""" """
build_arg = "" build_arg = ""
if build_dir: if build_dir:
build_arg = f"--build-directory {build_dir} " build_arg = f" --build-directory {build_dir} "
python_runner = "python.cmd" python_runner = "python.cmd"
if not WINDOWS: if not WINDOWS:

Loading…
Cancel
Save