Merge branch 'main' into smoke_migration_branch
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Game" UpAxis="Y" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="0" PositionPrecision="1" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Game (fast decode)" UpAxis="Y" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="lz4hc" PlaybackFromMemory="0" PositionPrecision="1" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Game (Z-up)" UpAxis="Z" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="0" PositionPrecision="1" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Game (fast decode, Z-up)" UpAxis="Z" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="lz4hc" PlaybackFromMemory="0" PositionPrecision="1" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Prerendered" UpAxis="Y" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="0" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Prerendered (Z-up)" UpAxis="Z" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="0" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Rigids Only" UpAxis="Y" MeshPrediction="0" UseBFrames="0" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="1" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Rigids Only (Z-up)" UpAxis="Z" MeshPrediction="0" UseBFrames="0" IndexFrameDistance="10" BlockCompressionFormat="deflate" PlaybackFromMemory="1" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Uncompressed (fastest compile)" UpAxis="Y" MeshPrediction="0" UseBFrames="0" IndexFrameDistance="10" BlockCompressionFormat="store" PlaybackFromMemory="0" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration Name="Uncompressed (fastest compile, Z-up)" UpAxis="Z" MeshPrediction="0" UseBFrames="0" IndexFrameDistance="10" BlockCompressionFormat="store" PlaybackFromMemory="0" PositionPrecision="0" UVmax="0"/>
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9c36d7bc993ddf616f478115a123efabda5b4b833a4e6524312f43c228ae0902
|
|
||||||
size 487003
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<CacheBuildConfiguration UpAxis="Y" MeshPrediction="1" UseBFrames="1" IndexFrameDistance="15" BlockCompressionFormat="deflate" PlaybackFromMemory="1"/>
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:96a21446422b834ea90a5d38eaaca309fdee31dc3cc03c0e9c094b39ec3a459d
|
|
||||||
size 4715164
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<Material MtlFlags="524544" vertModifType="0">
|
|
||||||
<SubMaterials>
|
|
||||||
<Material Name="mat01_white" MtlFlags="524416" Shader="Illum" GenMask="12000020040003" StringGenMask="%ALLOW_SILHOUETTE_POM%ALLOW_SPECULAR_ANTIALIASING%EMITTANCE_MAP%NORMAL_MAP%SPECULAR_MAP%SUBSURFACE_SCATTERING" SurfaceType="mat_default" Diffuse="1,1,1,1" Specular="0.5,0.5,0.5,1" Opacity="1" Shininess="174.72" vertModifType="0" LayerAct="1">
|
|
||||||
<Textures>
|
|
||||||
<Texture Map="Diffuse" File="engineassets/textures/white.dds"/>
|
|
||||||
</Textures>
|
|
||||||
<PublicParams EmittanceMapGamma="1" SSSIndex="0" IndirectColor="0.25,0.25,0.25"/>
|
|
||||||
</Material>
|
|
||||||
<Material Name="mat02_grey" MtlFlags="524416" Shader="Illum" GenMask="10000000000003" StringGenMask="%ALLOW_SILHOUETTE_POM%ALLOW_SPECULAR_ANTIALIASING%SUBSURFACE_SCATTERING" SurfaceType="mat_default" Diffuse="0.5,0.5,0.5,1" Specular="0.5,0.5,0.5,1" Opacity="1" Shininess="10" vertModifType="0" LayerAct="1">
|
|
||||||
<Textures>
|
|
||||||
<Texture Map="Diffuse" File="engineassets/textures/white.dds"/>
|
|
||||||
</Textures>
|
|
||||||
<PublicParams EmittanceMapGamma="1" SSSIndex="0" IndirectColor="0.25,0.25,0.25"/>
|
|
||||||
</Material>
|
|
||||||
</SubMaterials>
|
|
||||||
<PublicParams EmittanceMapGamma="1" SSSIndex="0" IndirectColor="0.25,0.25,0.25"/>
|
|
||||||
</Material>
|
|
||||||
@@ -14,4 +14,6 @@ set(GEM_DEPENDENCIES
|
|||||||
Gem::Atom_RHI_Null.Builders
|
Gem::Atom_RHI_Null.Builders
|
||||||
Gem::Atom_RHI_Metal.Private
|
Gem::Atom_RHI_Metal.Private
|
||||||
Gem::Atom_RHI_Metal.Builders
|
Gem::Atom_RHI_Metal.Builders
|
||||||
|
Gem::Atom_RHI_Vulkan.Builders
|
||||||
|
Gem::Atom_RHI_DX12.Builders
|
||||||
)
|
)
|
||||||
@@ -51,7 +51,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
|||||||
TEST_SUITE sandbox
|
TEST_SUITE sandbox
|
||||||
TEST_SERIAL
|
TEST_SERIAL
|
||||||
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py
|
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py
|
||||||
TIMEOUT 3600
|
TIMEOUT 1500
|
||||||
RUNTIME_DEPENDENCIES
|
RUNTIME_DEPENDENCIES
|
||||||
Legacy::Editor
|
Legacy::Editor
|
||||||
AZ::AssetProcessor
|
AZ::AssetProcessor
|
||||||
@@ -68,7 +68,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
|||||||
TEST_SUITE periodic
|
TEST_SUITE periodic
|
||||||
TEST_SERIAL
|
TEST_SERIAL
|
||||||
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
|
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
|
||||||
TIMEOUT 1500
|
TIMEOUT 3000
|
||||||
RUNTIME_DEPENDENCIES
|
RUNTIME_DEPENDENCIES
|
||||||
Legacy::Editor
|
Legacy::Editor
|
||||||
AZ::AssetProcessor
|
AZ::AssetProcessor
|
||||||
@@ -181,21 +181,23 @@ include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
|||||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
|
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
|
||||||
|
|
||||||
## DynVeg ##
|
## DynVeg ##
|
||||||
ly_add_pytest(
|
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||||
NAME AutomatedTesting::DynamicVegetationTests_Main
|
#ly_add_pytest(
|
||||||
TEST_SERIAL
|
# NAME AutomatedTesting::DynamicVegetationTests_Main
|
||||||
TEST_SUITE main
|
# TEST_SERIAL
|
||||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
# TEST_SUITE main
|
||||||
PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
TIMEOUT 1500
|
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||||
RUNTIME_DEPENDENCIES
|
# TIMEOUT 1500
|
||||||
AZ::AssetProcessor
|
# RUNTIME_DEPENDENCIES
|
||||||
Legacy::Editor
|
# AZ::AssetProcessor
|
||||||
AutomatedTesting.GameLauncher
|
# Legacy::Editor
|
||||||
AutomatedTesting.Assets
|
# AutomatedTesting.GameLauncher
|
||||||
COMPONENT
|
# AutomatedTesting.Assets
|
||||||
LargeWorlds
|
# COMPONENT
|
||||||
)
|
# LargeWorlds
|
||||||
|
#)
|
||||||
|
|
||||||
|
|
||||||
ly_add_pytest(
|
ly_add_pytest(
|
||||||
NAME AutomatedTesting::DynamicVegetationTests_Sandbox
|
NAME AutomatedTesting::DynamicVegetationTests_Sandbox
|
||||||
@@ -214,11 +216,11 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
|
|||||||
)
|
)
|
||||||
|
|
||||||
ly_add_pytest(
|
ly_add_pytest(
|
||||||
NAME AutomatedTesting::DynamicVegetationTests_Periodic
|
NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
|
||||||
TEST_SERIAL
|
TEST_SERIAL
|
||||||
TEST_SUITE periodic
|
TEST_SUITE periodic
|
||||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
PYTEST_MARKS "SUITE_periodic"
|
PYTEST_MARKS "SUITE_periodic and dynveg_filter"
|
||||||
TIMEOUT 1500
|
TIMEOUT 1500
|
||||||
RUNTIME_DEPENDENCIES
|
RUNTIME_DEPENDENCIES
|
||||||
AZ::AssetProcessor
|
AZ::AssetProcessor
|
||||||
@@ -228,22 +230,97 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
|
|||||||
LargeWorlds
|
LargeWorlds
|
||||||
)
|
)
|
||||||
|
|
||||||
## LandscapeCanvas ##
|
|
||||||
ly_add_pytest(
|
ly_add_pytest(
|
||||||
NAME AutomatedTesting::LandscapeCanvasTests_Main
|
NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
|
||||||
TEST_SERIAL
|
TEST_SERIAL
|
||||||
TEST_SUITE main
|
TEST_SUITE periodic
|
||||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
|
||||||
TIMEOUT 1500
|
TIMEOUT 1500
|
||||||
RUNTIME_DEPENDENCIES
|
RUNTIME_DEPENDENCIES
|
||||||
AZ::AssetProcessor
|
AZ::AssetProcessor
|
||||||
Legacy::Editor
|
Legacy::Editor
|
||||||
AutomatedTesting.Assets
|
AutomatedTesting.Assets
|
||||||
COMPONENT
|
COMPONENT
|
||||||
LargeWorlds
|
LargeWorlds
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ly_add_pytest(
|
||||||
|
NAME AutomatedTesting::DynamicVegetationRegressionTests_Periodic
|
||||||
|
TEST_SERIAL
|
||||||
|
TEST_SUITE periodic
|
||||||
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
|
PYTEST_MARKS "SUITE_periodic and dynveg_regression"
|
||||||
|
TIMEOUT 1500
|
||||||
|
RUNTIME_DEPENDENCIES
|
||||||
|
AZ::AssetProcessor
|
||||||
|
Legacy::Editor
|
||||||
|
AutomatedTesting.Assets
|
||||||
|
COMPONENT
|
||||||
|
LargeWorlds
|
||||||
|
)
|
||||||
|
|
||||||
|
ly_add_pytest(
|
||||||
|
NAME AutomatedTesting::DynamicVegetationAreaTests_Periodic
|
||||||
|
TEST_SERIAL
|
||||||
|
TEST_SUITE periodic
|
||||||
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
|
PYTEST_MARKS "SUITE_periodic and dynveg_area"
|
||||||
|
TIMEOUT 1500
|
||||||
|
RUNTIME_DEPENDENCIES
|
||||||
|
AZ::AssetProcessor
|
||||||
|
Legacy::Editor
|
||||||
|
AutomatedTesting.Assets
|
||||||
|
COMPONENT
|
||||||
|
LargeWorlds
|
||||||
|
)
|
||||||
|
|
||||||
|
ly_add_pytest(
|
||||||
|
NAME AutomatedTesting::DynamicVegetationMiscTests_Periodic
|
||||||
|
TEST_SERIAL
|
||||||
|
TEST_SUITE periodic
|
||||||
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
|
PYTEST_MARKS "SUITE_periodic and dynveg_misc"
|
||||||
|
TIMEOUT 1500
|
||||||
|
RUNTIME_DEPENDENCIES
|
||||||
|
AZ::AssetProcessor
|
||||||
|
Legacy::Editor
|
||||||
|
AutomatedTesting.Assets
|
||||||
|
COMPONENT
|
||||||
|
LargeWorlds
|
||||||
|
)
|
||||||
|
|
||||||
|
ly_add_pytest(
|
||||||
|
NAME AutomatedTesting::DynamicVegetationSurfaceTagTests_Periodic
|
||||||
|
TEST_SERIAL
|
||||||
|
TEST_SUITE periodic
|
||||||
|
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||||
|
PYTEST_MARKS "SUITE_periodic and dynveg_surfacetagemitter"
|
||||||
|
TIMEOUT 1500
|
||||||
|
RUNTIME_DEPENDENCIES
|
||||||
|
AZ::AssetProcessor
|
||||||
|
Legacy::Editor
|
||||||
|
AutomatedTesting.Assets
|
||||||
|
COMPONENT
|
||||||
|
LargeWorlds
|
||||||
|
)
|
||||||
|
## LandscapeCanvas ##
|
||||||
|
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||||
|
#ly_add_pytest(
|
||||||
|
# NAME AutomatedTesting::LandscapeCanvasTests_Main
|
||||||
|
# TEST_SERIAL
|
||||||
|
# TEST_SUITE main
|
||||||
|
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
|
||||||
|
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||||
|
# TIMEOUT 1500
|
||||||
|
# RUNTIME_DEPENDENCIES
|
||||||
|
# AZ::AssetProcessor
|
||||||
|
# Legacy::Editor
|
||||||
|
# AutomatedTesting.Assets
|
||||||
|
# COMPONENT
|
||||||
|
# LargeWorlds
|
||||||
|
#)
|
||||||
|
|
||||||
ly_add_pytest(
|
ly_add_pytest(
|
||||||
NAME AutomatedTesting::LandscapeCanvasTests_Periodic
|
NAME AutomatedTesting::LandscapeCanvasTests_Periodic
|
||||||
TEST_SERIAL
|
TEST_SERIAL
|
||||||
|
|||||||
+13
-1
@@ -265,6 +265,7 @@ class Tracer:
|
|||||||
self.warnings = []
|
self.warnings = []
|
||||||
self.errors = []
|
self.errors = []
|
||||||
self.asserts = []
|
self.asserts = []
|
||||||
|
self.prints = []
|
||||||
self.has_warnings = False
|
self.has_warnings = False
|
||||||
self.has_errors = False
|
self.has_errors = False
|
||||||
self.has_asserts = False
|
self.has_asserts = False
|
||||||
@@ -310,6 +311,11 @@ class Tracer:
|
|||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"[Assert: {self.message}]"
|
return f"[Assert: {self.message}]"
|
||||||
|
|
||||||
|
class PrintInfo:
|
||||||
|
def __init__(self, args):
|
||||||
|
self.window = args[0]
|
||||||
|
self.message = args[1]
|
||||||
|
|
||||||
def _on_warning(self, args):
|
def _on_warning(self, args):
|
||||||
warningInfo = Tracer.WarningInfo(args)
|
warningInfo = Tracer.WarningInfo(args)
|
||||||
@@ -331,13 +337,19 @@ class Tracer:
|
|||||||
Report.info("Tracer caught Assert: %s:%i[%s] \"%s\"" % (assertInfo.filename, assertInfo.line, assertInfo.function, assertInfo.message))
|
Report.info("Tracer caught Assert: %s:%i[%s] \"%s\"" % (assertInfo.filename, assertInfo.line, assertInfo.function, assertInfo.message))
|
||||||
self.has_asserts = True
|
self.has_asserts = True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def _on_printf(self, args):
|
||||||
|
printInfo = Tracer.PrintInfo(args)
|
||||||
|
self.prints.append(printInfo)
|
||||||
|
return False
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
self.handler = azlmbr.debug.TraceMessageBusHandler()
|
self.handler = azlmbr.debug.TraceMessageBusHandler()
|
||||||
self.handler.connect(None)
|
self.handler.connect(None)
|
||||||
self.handler.add_callback("OnPreAssert", self._on_assert)
|
self.handler.add_callback("OnPreAssert", self._on_assert)
|
||||||
self.handler.add_callback("OnPreWarning", self._on_warning)
|
self.handler.add_callback("OnPreWarning", self._on_warning)
|
||||||
self.handler.add_callback("OnPreError", self._on_error)
|
self.handler.add_callback("OnPreError", self._on_error)
|
||||||
|
self.handler.add_callback("OnPrintf", self._on_printf)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def __exit__(self, type, value, traceback):
|
def __exit__(self, type, value, traceback):
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class TestAssetPicker(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C13751579", "C1508814")
|
@pytest.mark.test_case_id("C13751579", "C1508814")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.xfail # ATOM-15493
|
||||||
def test_AssetPicker_UI_UX(self, request, editor, level, launcher_platform):
|
def test_AssetPicker_UI_UX(self, request, editor, level, launcher_platform):
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
"TestEntity Entity successfully created",
|
"TestEntity Entity successfully created",
|
||||||
|
|||||||
+5
-12
@@ -114,11 +114,8 @@ class TestDynamicSliceInstanceSpawner(EditorTestHelper):
|
|||||||
# This should result in 400 instances, since our box is 16 m x 16 m and by default the veg system plants
|
# This should result in 400 instances, since our box is 16 m x 16 m and by default the veg system plants
|
||||||
# 20 instances per 16 meters
|
# 20 instances per 16 meters
|
||||||
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', True)
|
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', True)
|
||||||
general.idle_wait(1.0)
|
|
||||||
num_expected_instances = 20 * 20
|
num_expected_instances = 20 * 20
|
||||||
box = azlmbr.shape.ShapeComponentRequestsBus(bus.Event, 'GetEncompassingAabb', spawner_entity.id)
|
property_tree_success = property_tree_success and self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
|
||||||
property_tree_success = property_tree_success and (num_found == num_expected_instances)
|
|
||||||
self.test_success = self.test_success and property_tree_success
|
self.test_success = self.test_success and property_tree_success
|
||||||
self.log(f'Property Tree spawner type test: {property_tree_success}')
|
self.log(f'Property Tree spawner type test: {property_tree_success}')
|
||||||
|
|
||||||
@@ -127,10 +124,8 @@ class TestDynamicSliceInstanceSpawner(EditorTestHelper):
|
|||||||
# Since we have an empty slice path, we should have 0 instances once we disable 'Allow Empty Assets'
|
# Since we have an empty slice path, we should have 0 instances once we disable 'Allow Empty Assets'
|
||||||
num_expected_instances = 0
|
num_expected_instances = 0
|
||||||
allow_empty_assets_success = allow_empty_assets_success and spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', False)
|
allow_empty_assets_success = allow_empty_assets_success and spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', False)
|
||||||
general.idle_wait(1.0)
|
self.log('Allow Empty Assets test:')
|
||||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
allow_empty_assets_success = allow_empty_assets_success and self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||||
self.log(f'Allow Empty Assets test: Found {num_found} instances -- Expected {num_expected_instances} instances')
|
|
||||||
allow_empty_assets_success = allow_empty_assets_success and (num_found == num_expected_instances)
|
|
||||||
self.test_success = self.test_success and allow_empty_assets_success
|
self.test_success = self.test_success and allow_empty_assets_success
|
||||||
self.log(f'Allow Empty Assets test: {allow_empty_assets_success}')
|
self.log(f'Allow Empty Assets test: {allow_empty_assets_success}')
|
||||||
|
|
||||||
@@ -143,10 +138,8 @@ class TestDynamicSliceInstanceSpawner(EditorTestHelper):
|
|||||||
descriptor = hydra.get_component_property_value(spawner_entity.components[2], 'Configuration|Embedded Assets|[0]')
|
descriptor = hydra.get_component_property_value(spawner_entity.components[2], 'Configuration|Embedded Assets|[0]')
|
||||||
descriptor.spawner = dynamic_slice_spawner
|
descriptor.spawner = dynamic_slice_spawner
|
||||||
spawns_slices_success = spawns_slices_success and spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]", descriptor)
|
spawns_slices_success = spawns_slices_success and spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]", descriptor)
|
||||||
general.idle_wait(1.0)
|
self.log('Spawn dynamic slices test:')
|
||||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
spawns_slices_success = spawns_slices_success and self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||||
self.log(f'Spawn dynamic slices test: Found {num_found} instances -- Expected {num_expected_instances} instances')
|
|
||||||
spawns_slices_success = spawns_slices_success and (num_found == num_expected_instances)
|
|
||||||
self.test_success = self.test_success and spawns_slices_success
|
self.test_success = self.test_success and spawns_slices_success
|
||||||
self.log(f'Spawn dynamic slices test: {spawns_slices_success}')
|
self.log(f'Spawn dynamic slices test: {spawns_slices_success}')
|
||||||
|
|
||||||
|
|||||||
+2
-8
@@ -100,21 +100,15 @@ class TestEmptyInstanceSpawner(EditorTestHelper):
|
|||||||
|
|
||||||
# This should result in 400 instances, since our box is 16 m x 16 m and by default the veg system plants
|
# This should result in 400 instances, since our box is 16 m x 16 m and by default the veg system plants
|
||||||
# 20 instances per 16 meters
|
# 20 instances per 16 meters
|
||||||
general.idle_wait(2.0)
|
|
||||||
num_expected_instances = 20 * 20
|
num_expected_instances = 20 * 20
|
||||||
box = azlmbr.shape.ShapeComponentRequestsBus(bus.Event, 'GetEncompassingAabb', spawner_entity.id)
|
property_tree_success = property_tree_success and self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
|
||||||
property_tree_success = property_tree_success and (num_found == num_expected_instances)
|
|
||||||
self.test_success = self.test_success and property_tree_success
|
self.test_success = self.test_success and property_tree_success
|
||||||
self.log(f'Found {num_found} instances -- Expected {num_expected_instances} instances')
|
|
||||||
self.log(f'Property Tree spawner type test: {property_tree_success}')
|
self.log(f'Property Tree spawner type test: {property_tree_success}')
|
||||||
|
|
||||||
# 6) Validate that the "Allow Empty Assets" setting doesn't affect the EmptyInstanceSpawner
|
# 6) Validate that the "Allow Empty Assets" setting doesn't affect the EmptyInstanceSpawner
|
||||||
allow_empty_assets_success = True
|
allow_empty_assets_success = True
|
||||||
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', False)
|
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', False)
|
||||||
general.idle_wait(2.0)
|
allow_empty_assets_success = allow_empty_assets_success and self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
|
||||||
allow_empty_assets_success = allow_empty_assets_success and (num_found == num_expected_instances)
|
|
||||||
self.test_success = self.test_success and allow_empty_assets_success
|
self.test_success = self.test_success and allow_empty_assets_success
|
||||||
self.log(f'Allow Empty Assets test: {allow_empty_assets_success}')
|
self.log(f'Allow Empty Assets test: {allow_empty_assets_success}')
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ class TestAltitudeFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id('C4814463', 'C4847477')
|
@pytest.mark.test_case_id('C4814463', 'C4847477')
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_AltitudeFilter_ComponentAndOverrides_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
def test_AltitudeFilter_ComponentAndOverrides_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
@@ -61,6 +62,7 @@ class TestAltitudeFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4847476")
|
@pytest.mark.test_case_id("C4847476")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_AltitudeFilter_ShapeSample_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
def test_AltitudeFilter_ShapeSample_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
@@ -85,6 +87,7 @@ class TestAltitudeFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4847478")
|
@pytest.mark.test_case_id("C4847478")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
@pytest.mark.xfail # LYN-3275
|
@pytest.mark.xfail # LYN-3275
|
||||||
def test_AltitudeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
def test_AltitudeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
||||||
cfg_args = [level]
|
cfg_args = [level]
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ class TestAreaComponents(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2627900", "C2627905", "C2627904")
|
@pytest.mark.test_case_id("C2627900", "C2627905", "C2627904")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_AreaComponents_SliceCreationVisibilityToggleWorks(self, request, editor, level, workspace,
|
def test_AreaComponents_SliceCreationVisibilityToggleWorks(self, request, editor, level, workspace,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
cfg_args = [level]
|
cfg_args = [level]
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestAssetListCombiner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4762374", "C4762373")
|
@pytest.mark.test_case_id("C4762374", "C4762373")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_AssetListCombiner_CombinedDescriptorsExpressInConfiguredArea(self, request, editor, level,
|
def test_AssetListCombiner_CombinedDescriptorsExpressInConfiguredArea(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class TestAssetWeightSelector(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C6269654", "C4762368")
|
@pytest.mark.test_case_id("C6269654", "C4762368")
|
||||||
@pytest.mark.SUITE_sandbox
|
@pytest.mark.SUITE_sandbox
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_AssetWeightSelector_InstancesExpressBasedOnWeight(self, request, editor, level, launcher_platform):
|
def test_AssetWeightSelector_InstancesExpressBasedOnWeight(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class TestDebugger(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2789148")
|
@pytest.mark.test_case_id("C2789148")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_Debugger_DebugCVarsWork(self, request, editor, level, workspace, launcher_platform):
|
def test_Debugger_DebugCVarsWork(self, request, editor, level, workspace, launcher_platform):
|
||||||
cfg_args = [level]
|
cfg_args = [level]
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestDistanceBetweenFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4851066")
|
@pytest.mark.test_case_id("C4851066")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius(self, request, editor, level, launcher_platform):
|
def test_DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -58,6 +59,7 @@ class TestDistanceBetweenFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4814458")
|
@pytest.mark.test_case_id("C4814458")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius(self, request, editor, level,
|
def test_DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class Test_DynVeg_Regressions(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C29470845")
|
@pytest.mark.test_case_id("C29470845")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_regression
|
||||||
def test_SurfaceDataRefreshes_RemainsStable(self, request, editor, level, launcher_platform):
|
def test_SurfaceDataRefreshes_RemainsStable(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
+6
-1
@@ -41,7 +41,8 @@ class TestDynamicSliceInstanceSpawner(object):
|
|||||||
return console
|
return console
|
||||||
|
|
||||||
@pytest.mark.test_case_id("C28851763")
|
@pytest.mark.test_case_id("C28851763")
|
||||||
@pytest.mark.SUITE_sandbox
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||||
def test_DynamicSliceInstanceSpawner_DynamicSliceSpawnerWorks(self, request, editor, level, workspace, project,
|
def test_DynamicSliceInstanceSpawner_DynamicSliceSpawnerWorks(self, request, editor, level, workspace, project,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
@@ -66,6 +67,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
|||||||
@pytest.mark.test_case_id('C2574330')
|
@pytest.mark.test_case_id('C2574330')
|
||||||
@pytest.mark.BAT
|
@pytest.mark.BAT
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||||
def test_DynamicSliceInstanceSpawner_Embedded_E2E_Editor(self, workspace, request, editor, level, project,
|
def test_DynamicSliceInstanceSpawner_Embedded_E2E_Editor(self, workspace, request, editor, level, project,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
@@ -85,6 +87,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
|||||||
@pytest.mark.test_case_id('C2574330')
|
@pytest.mark.test_case_id('C2574330')
|
||||||
@pytest.mark.BAT
|
@pytest.mark.BAT
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||||
@pytest.mark.skip # ATOM-14703
|
@pytest.mark.skip # ATOM-14703
|
||||||
def test_DynamicSliceInstanceSpawner_Embedded_E2E_Launcher(self, workspace, launcher, level,
|
def test_DynamicSliceInstanceSpawner_Embedded_E2E_Launcher(self, workspace, launcher, level,
|
||||||
@@ -101,6 +104,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id('C4762367')
|
@pytest.mark.test_case_id('C4762367')
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||||
def test_DynamicSliceInstanceSpawner_External_E2E_Editor(self, workspace, request, editor, level, project,
|
def test_DynamicSliceInstanceSpawner_External_E2E_Editor(self, workspace, request, editor, level, project,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
@@ -119,6 +123,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id('C4762367')
|
@pytest.mark.test_case_id('C4762367')
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||||
@pytest.mark.skip # ATOM-14703
|
@pytest.mark.skip # ATOM-14703
|
||||||
def test_DynamicSliceInstanceSpawner_External_E2E_Launcher(self, workspace, launcher, level,
|
def test_DynamicSliceInstanceSpawner_External_E2E_Launcher(self, workspace, launcher, level,
|
||||||
|
|||||||
@@ -36,13 +36,9 @@ class TestEmptyInstanceSpawner(object):
|
|||||||
|
|
||||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
||||||
|
|
||||||
# Main suite needs at least one test
|
|
||||||
@pytest.mark.SUITE_main
|
|
||||||
def test_EmptyInstanceSpawner_Dummy(self, request, editor, level, workspace, project, launcher_platform):
|
|
||||||
pass
|
|
||||||
|
|
||||||
@pytest.mark.test_case_id("C28851762")
|
@pytest.mark.test_case_id("C28851762")
|
||||||
@pytest.mark.SUITE_sandbox
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
def test_EmptyInstanceSpawner_EmptySpawnerWorks(self, request, editor, level, launcher_platform):
|
def test_EmptyInstanceSpawner_EmptySpawnerWorks(self, request, editor, level, launcher_platform):
|
||||||
cfg_args = [level]
|
cfg_args = [level]
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ class TestInstanceSpawnerPriority(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C5747383", "C4762382")
|
@pytest.mark.test_case_id("C5747383", "C4762382")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_InstanceSpawnerPriority_LayerAndSubPriority_HigherValuesPlantOverLower(self, request, editor, level,
|
def test_InstanceSpawnerPriority_LayerAndSubPriority_HigherValuesPlantOverLower(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -20,17 +20,10 @@ import pytest
|
|||||||
|
|
||||||
pytest.importorskip("ly_test_tools")
|
pytest.importorskip("ly_test_tools")
|
||||||
|
|
||||||
import time as time
|
import ly_remote_console.remote_console_commands as remote_console_commands
|
||||||
|
|
||||||
import editor_python_test_tools.hydra_test_utils as hydra
|
|
||||||
import ly_test_tools.launchers.launcher_helper as launcher_helper
|
|
||||||
import ly_test_tools.environment.waiter as waiter
|
import ly_test_tools.environment.waiter as waiter
|
||||||
import ly_test_tools.environment.file_system as file_system
|
import ly_test_tools.environment.file_system as file_system
|
||||||
import ly_remote_console.remote_console_commands as remote_console_commands
|
import editor_python_test_tools.hydra_test_utils as hydra
|
||||||
from ly_remote_console.remote_console_commands import send_command_and_expect_response as send_command_and_expect_response
|
|
||||||
|
|
||||||
import automatedtesting_shared.screenshot_utils as screenshot_utils
|
|
||||||
from automatedtesting_shared.network_utils import check_for_listening_port
|
|
||||||
|
|
||||||
|
|
||||||
test_directory = os.path.join(os.path.dirname(__file__), "EditorScripts")
|
test_directory = os.path.join(os.path.dirname(__file__), "EditorScripts")
|
||||||
@@ -58,6 +51,7 @@ class TestLayerBlender(object):
|
|||||||
@pytest.mark.test_case_id("C2627906")
|
@pytest.mark.test_case_id("C2627906")
|
||||||
@pytest.mark.BAT
|
@pytest.mark.BAT
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||||
def test_LayerBlender_E2E_Editor(self, workspace, request, editor, project, level, launcher_platform):
|
def test_LayerBlender_E2E_Editor(self, workspace, request, editor, project, level, launcher_platform):
|
||||||
# Make sure temp level doesn't already exist
|
# Make sure temp level doesn't already exist
|
||||||
@@ -95,6 +89,7 @@ class TestLayerBlender(object):
|
|||||||
@pytest.mark.test_case_id("C2627906")
|
@pytest.mark.test_case_id("C2627906")
|
||||||
@pytest.mark.BAT
|
@pytest.mark.BAT
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.xfail
|
@pytest.mark.xfail
|
||||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||||
def test_LayerBlender_E2E_Launcher(self, workspace, project, launcher, level, remote_console_instance,
|
def test_LayerBlender_E2E_Launcher(self, workspace, project, launcher, level, remote_console_instance,
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestLayerBlocker(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2793772")
|
@pytest.mark.test_case_id("C2793772")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
def test_LayerBlocker_InstancesBlockedInConfiguredArea(self, request, editor, level, launcher_platform):
|
def test_LayerBlocker_InstancesBlockedInConfiguredArea(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class TestLayerSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4762381")
|
@pytest.mark.test_case_id("C4762381")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_LayerSpawner_InheritBehaviorFlag(self, request, editor, level, workspace, launcher_platform):
|
def test_LayerSpawner_InheritBehaviorFlag(self, request, editor, level, workspace, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -60,6 +61,7 @@ class TestLayerSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2802020")
|
@pytest.mark.test_case_id("C2802020")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_LayerSpawner_InstancesPlantInAllSupportedShapes(self, request, editor, level, launcher_platform):
|
def test_LayerSpawner_InstancesPlantInAllSupportedShapes(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -101,6 +103,7 @@ class TestLayerSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4765973")
|
@pytest.mark.test_case_id("C4765973")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
@pytest.mark.xfail # LYN-3275
|
@pytest.mark.xfail # LYN-3275
|
||||||
def test_LayerSpawner_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
def test_LayerSpawner_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
||||||
|
|
||||||
@@ -122,6 +125,7 @@ class TestLayerSpawner(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C30000751")
|
@pytest.mark.test_case_id("C30000751")
|
||||||
@pytest.mark.SUITE_sandbox
|
@pytest.mark.SUITE_sandbox
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
@pytest.mark.skip # ATOM-14828
|
@pytest.mark.skip # ATOM-14828
|
||||||
def test_LayerSpawner_InstancesRefreshUsingCorrectViewportCamera(self, request, editor, level, launcher_platform):
|
def test_LayerSpawner_InstancesRefreshUsingCorrectViewportCamera(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ class TestMeshBlocker(object):
|
|||||||
"""
|
"""
|
||||||
@pytest.mark.test_case_id("C3980834")
|
@pytest.mark.test_case_id("C3980834")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.xfail # LYN-3273
|
@pytest.mark.xfail # LYN-3273
|
||||||
def test_MeshBlocker_InstancesBlockedByMesh(self, request, editor, level, launcher_platform):
|
def test_MeshBlocker_InstancesBlockedByMesh(self, request, editor, level, launcher_platform):
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -70,6 +71,7 @@ class TestMeshBlocker(object):
|
|||||||
"""
|
"""
|
||||||
@pytest.mark.test_case_id("C4766030")
|
@pytest.mark.test_case_id("C4766030")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_area
|
||||||
@pytest.mark.xfail # LYN-3273
|
@pytest.mark.xfail # LYN-3273
|
||||||
def test_MeshBlocker_InstancesBlockedByMeshHeightTuning(self, request, editor, level, launcher_platform):
|
def test_MeshBlocker_InstancesBlockedByMeshHeightTuning(self, request, editor, level, launcher_platform):
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestMeshSurfaceTagEmitter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2908172")
|
@pytest.mark.test_case_id("C2908172")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_surfacetagemitter
|
||||||
def test_MeshSurfaceTagEmitter_DependentOnMeshComponent(self, request, editor, level, launcher_platform):
|
def test_MeshSurfaceTagEmitter_DependentOnMeshComponent(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -66,6 +67,7 @@ class TestMeshSurfaceTagEmitter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2908174")
|
@pytest.mark.test_case_id("C2908174")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_surfacetagemitter
|
||||||
def test_MeshSurfaceTagEmitter_SurfaceTagsAddRemoveSuccessfully(self, request, editor, level, launcher_platform):
|
def test_MeshSurfaceTagEmitter_SurfaceTagsAddRemoveSuccessfully(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
+1
@@ -38,6 +38,7 @@ class TestPhysXColliderSurfaceTagEmitter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C29053640")
|
@pytest.mark.test_case_id("C29053640")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_surfacetagemitter
|
||||||
def test_PhysXColliderSurfaceTagEmitter_E2E_Editor(self, request, editor, level, launcher_platform):
|
def test_PhysXColliderSurfaceTagEmitter_E2E_Editor(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestPositionModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4874099", "C4814461")
|
@pytest.mark.test_case_id("C4874099", "C4814461")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
def test_PositionModifier_ComponentAndOverrides_InstancesPlantAtSpecifiedOffsets(self, request, editor, level,
|
def test_PositionModifier_ComponentAndOverrides_InstancesPlantAtSpecifiedOffsets(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
@@ -60,6 +61,7 @@ class TestPositionModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4874100")
|
@pytest.mark.test_case_id("C4874100")
|
||||||
@pytest.mark.SUITE_sandbox
|
@pytest.mark.SUITE_sandbox
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
@pytest.mark.xfail # LYN-3275
|
@pytest.mark.xfail # LYN-3275
|
||||||
def test_PositionModifier_AutoSnapToSurfaceWorks(self, request, editor, level, launcher_platform):
|
def test_PositionModifier_AutoSnapToSurfaceWorks(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class TestRotationModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4896922")
|
@pytest.mark.test_case_id("C4896922")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
def test_RotationModifier_InstancesRotateWithinRange(self, request, editor, level, launcher_platform) -> None:
|
def test_RotationModifier_InstancesRotateWithinRange(self, request, editor, level, launcher_platform) -> None:
|
||||||
"""
|
"""
|
||||||
Launches editor and run test script to test that rotation modifier works for all axis.
|
Launches editor and run test script to test that rotation modifier works for all axis.
|
||||||
@@ -71,6 +72,7 @@ class TestRotationModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4814460")
|
@pytest.mark.test_case_id("C4814460")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
def test_RotationModifierOverrides_InstancesRotateWithinRange(self, request, editor, level, launcher_platform) -> None:
|
def test_RotationModifierOverrides_InstancesRotateWithinRange(self, request, editor, level, launcher_platform) -> None:
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class TestScaleOverrideWorksSuccessfully(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4814462")
|
@pytest.mark.test_case_id("C4814462")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
def test_ScaleModifierOverrides_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
def test_ScaleModifierOverrides_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -70,6 +71,7 @@ class TestScaleOverrideWorksSuccessfully(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4896937")
|
@pytest.mark.test_case_id("C4896937")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
def test_ScaleModifier_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
def test_ScaleModifier_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestShapeIntersectionFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4874094")
|
@pytest.mark.test_case_id("C4874094")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_ShapeIntersectionFilter_InstancesPlantInAssignedShape(self, request, editor, level, launcher_platform):
|
def test_ShapeIntersectionFilter_InstancesPlantInAssignedShape(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class TestSlopeAlignmentModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4896941")
|
@pytest.mark.test_case_id("C4896941")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
@pytest.mark.skip # ATOM-14299
|
@pytest.mark.skip # ATOM-14299
|
||||||
def test_SlopeAlignmentModifier_InstanceSurfaceAlignment(self, request, editor, level, launcher_platform):
|
def test_SlopeAlignmentModifier_InstanceSurfaceAlignment(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
@@ -63,6 +64,7 @@ class TestSlopeAlignmentModifier(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4814459")
|
@pytest.mark.test_case_id("C4814459")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_modifier
|
||||||
@pytest.mark.skip # ATOM-14299
|
@pytest.mark.skip # ATOM-14299
|
||||||
def test_SlopeAlignmentModifierOverrides_InstanceSurfaceAlignment(self, request, editor, level, launcher_platform):
|
def test_SlopeAlignmentModifierOverrides_InstanceSurfaceAlignment(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ class TestSlopeFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4874097")
|
@pytest.mark.test_case_id("C4874097")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_SlopeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
def test_SlopeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
||||||
cfg_args = [level]
|
cfg_args = [level]
|
||||||
|
|
||||||
@@ -70,6 +71,7 @@ class TestSlopeFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C4814464", "C4874096")
|
@pytest.mark.test_case_id("C4814464", "C4874096")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
@pytest.mark.skip # LYN-2211
|
@pytest.mark.skip # LYN-2211
|
||||||
def test_SlopeFilter_ComponentAndOverrides_InstancesPlantOnValidSlopes(self, request, editor, level,
|
def test_SlopeFilter_ComponentAndOverrides_InstancesPlantOnValidSlopes(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class TestSurfaceMaskFilter(object):
|
|||||||
|
|
||||||
# Simple validation test to ensure that SurfaceTag can be created, set to a value, and compared to another SurfaceTag.
|
# Simple validation test to ensure that SurfaceTag can be created, set to a value, and compared to another SurfaceTag.
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_SurfaceMaskFilter_BasicSurfaceTagCreation(self, request, level, editor, launcher_platform):
|
def test_SurfaceMaskFilter_BasicSurfaceTagCreation(self, request, level, editor, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -61,6 +62,7 @@ class TestSurfaceMaskFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2561342")
|
@pytest.mark.test_case_id("C2561342")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_SurfaceMaskFilter_ExclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
def test_SurfaceMaskFilter_ExclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -93,6 +95,7 @@ class TestSurfaceMaskFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2561341")
|
@pytest.mark.test_case_id("C2561341")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_SurfaceMaskFilter_InclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
def test_SurfaceMaskFilter_InclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -125,6 +128,7 @@ class TestSurfaceMaskFilter(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C3711666")
|
@pytest.mark.test_case_id("C3711666")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_filter
|
||||||
def test_SurfaceMaskFilterOverrides_MultipleDescriptorOverridesPlantAsExpected(self, request, editor, level,
|
def test_SurfaceMaskFilterOverrides_MultipleDescriptorOverridesPlantAsExpected(self, request, editor, level,
|
||||||
launcher_platform):
|
launcher_platform):
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class TestSystemSettings(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2646869")
|
@pytest.mark.test_case_id("C2646869")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_SystemSettings_SectorPointDensity(self, request, editor, level, launcher_platform):
|
def test_SystemSettings_SectorPointDensity(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
@@ -64,6 +65,7 @@ class TestSystemSettings(object):
|
|||||||
|
|
||||||
@pytest.mark.test_case_id("C2646870")
|
@pytest.mark.test_case_id("C2646870")
|
||||||
@pytest.mark.SUITE_periodic
|
@pytest.mark.SUITE_periodic
|
||||||
|
@pytest.mark.dynveg_misc
|
||||||
def test_SystemSettings_SectorSize(self, request, editor, level, launcher_platform):
|
def test_SystemSettings_SectorSize(self, request, editor, level, launcher_platform):
|
||||||
|
|
||||||
expected_lines = [
|
expected_lines = [
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C100000
|
# Test case ID : C100000
|
||||||
# Test Case Title : Check that Gravity works
|
# Test Case Title : Check that Gravity works
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/100000
|
|
||||||
|
|
||||||
|
|
||||||
# fmt:off
|
# fmt:off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C111111
|
# Test case ID : C111111
|
||||||
# Test Case Title : Check that Gravity works
|
# Test Case Title : Check that Gravity works
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/111111
|
|
||||||
|
|
||||||
# fmt:off
|
# fmt:off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test Case ID : C12712452
|
# Test Case ID : C12712452
|
||||||
# Test Case Title : Verify ScriptCanvas Collision Events
|
# Test Case Title : Verify ScriptCanvas Collision Events
|
||||||
# Test Case URL : https://testrail.agscollab.com/index.php?/cases/view/12712452
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C12712453
|
# Test case ID : C12712453
|
||||||
# Test Case Title : Verify Raycast Multiple Node
|
# Test Case Title : Verify Raycast Multiple Node
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12712453
|
|
||||||
|
|
||||||
# fmt:off
|
# fmt:off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : 12712454
|
# Test case ID : 12712454
|
||||||
# Test Case Title : Verify overlap nodes in script canvas
|
# Test Case Title : Verify overlap nodes in script canvas
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12712454
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C12712455
|
# Test case ID : C12712455
|
||||||
# Test Case Title : Verify shape cast nodes in SC
|
# Test Case Title : Verify shape cast nodes in SC
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12712455
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C12868578
|
# Test case ID : C12868578
|
||||||
# Test Case Title : Check that World space and local space force direction doesn't affect magnitude of force exerted
|
# Test Case Title : Check that World space and local space force direction doesn't affect magnitude of force exerted
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12868578
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C12868580
|
# Test case ID : C12868580
|
||||||
# Test Case Title : Check that spline follow force works if transform components of entity are altered
|
# Test Case Title : Check that spline follow force works if transform components of entity are altered
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12868580
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C12905527
|
# Test case ID : C12905527
|
||||||
# Test Case Title : Check that deviation occurring in Force Magnitude due to Values in Force direction is not large
|
# Test Case Title : Check that deviation occurring in Force Magnitude due to Values in Force direction is not large
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12905527
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests():
|
class Tests():
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C12905528
|
Test case ID : C12905528
|
||||||
Test Case Title : Check that user is warned if non-trigger collider component is used with force region
|
Test Case Title : Check that user is warned if non-trigger collider component is used with force region
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/12905528
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C13351703
|
# Test case ID : C13351703
|
||||||
# Test Case Title : Check that Center of Mass calculations should not include trigger shapes
|
# Test Case Title : Check that Center of Mass calculations should not include trigger shapes
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/13351703
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C13352089
|
# Test case ID : C13352089
|
||||||
# Test Case Title : Verify that maximum angular velocity interacts correctly with initial angular velocity
|
# Test Case Title : Verify that maximum angular velocity interacts correctly with initial angular velocity
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/13352089
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C13508019
|
# Test case ID : C13508019
|
||||||
# Test Case Title : Verify terrain materials are updated after using terrain texture layer painter.
|
# Test Case Title : Verify terrain materials are updated after using terrain texture layer painter.
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/13508019
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C13895144
|
# Test case ID : C13895144
|
||||||
# Test Case Title : Run a level with multiple ragdolls and then switch levels
|
# Test Case Title : Run a level with multiple ragdolls and then switch levels
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/13895144
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C14195074
|
# Test case ID : C14195074
|
||||||
# Test Case Title : Verify Postsimulate Events
|
# Test Case Title : Verify Postsimulate Events
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14195074
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
# Test case ID : C14654881
|
# Test case ID : C14654881
|
||||||
# Test Case Title : Switching levels from a level containing a character controller component
|
# Test Case Title : Switching levels from a level containing a character controller component
|
||||||
# should not lead to a crash
|
# should not lead to a crash
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14654881
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
"""
|
"""
|
||||||
Test case ID : C14654882
|
Test case ID : C14654882
|
||||||
Test Case Title : Loading level with old PhysX Ragdoll component serialization should not produce asset processor errors
|
Test Case Title : Loading level with old PhysX Ragdoll component serialization should not produce asset processor errors
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14654882
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
# Test case ID : C14861498
|
# Test case ID : C14861498
|
||||||
# Test Case Title : Confirm that when a PhysXCollider has no physics asset, the physics asset collider \
|
# Test Case Title : Confirm that when a PhysXCollider has no physics asset, the physics asset collider \
|
||||||
# shape throw an error
|
# shape throw an error
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14861498
|
|
||||||
|
|
||||||
|
|
||||||
# fmt:off
|
# fmt:off
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C14861500
|
Test case ID : C14861500
|
||||||
Test Case Title : Verify Default shape is Physics Asset
|
Test Case Title : Verify Default shape is Physics Asset
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14861500
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C14861501
|
Test case ID : C14861501
|
||||||
Test Case Title : Verify PxMesh is auto-assigned when Collider component is added after Rendering Mesh component
|
Test Case Title : Verify PxMesh is auto-assigned when Collider component is added after Rendering Mesh component
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14861501
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C14861502
|
Test case ID : C14861502
|
||||||
Test Case Title : Verify PxMesh is auto-assigned in collider when Mesh is assigned in Rendering Mesh component
|
Test Case Title : Verify PxMesh is auto-assigned in collider when Mesh is assigned in Rendering Mesh component
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14861502
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C14861504
|
Test case ID : C14861504
|
||||||
Test Case Title : Verify if Rendering Mesh does not have a PhysX Collision Mesh fbx, then PxMesh is not auto-assigned
|
Test Case Title : Verify if Rendering Mesh does not have a PhysX Collision Mesh fbx, then PxMesh is not auto-assigned
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14861504
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C14902097
|
# Test case ID : C14902097
|
||||||
# Test Case Title : Verify Presimulate Events
|
# Test Case Title : Verify Presimulate Events
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14902097
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C14902098
|
# Test case ID : C14902098
|
||||||
# Test Case Title : Check that force region simulation with Postsimulate works independently from rendering tick
|
# Test Case Title : Check that force region simulation with Postsimulate works independently from rendering tick
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14902098
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C14976307
|
# Test case ID : C14976307
|
||||||
# Test Case Title : Check that Set Gravity Enabled works on an entity with gravity that starts as disabled
|
# Test Case Title : Check that Set Gravity Enabled works on an entity with gravity that starts as disabled
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/14976307
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
# Test Case
|
# Test Case
|
||||||
# ID : C14976308
|
# ID : C14976308
|
||||||
# Title : Verify that SetKinematicTarget on PhysX rigid body updates transform for kinematic entities and vice versa
|
# Title : Verify that SetKinematicTarget on PhysX rigid body updates transform for kinematic entities and vice versa
|
||||||
# URL : https://testrail.agscollab.com/index.php?/cases/view/14976308
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15096732
|
# Test case ID : C15096732
|
||||||
# Test Case Title : Verify Default material library works across different levels
|
# Test Case Title : Verify Default material library works across different levels
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15096732
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15096732
|
# Test case ID : C15096732
|
||||||
# Test Case Title : Verify Default material library works across different levels
|
# Test Case Title : Verify Default material library works across different levels
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15096732
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15096735
|
# Test case ID : C15096735
|
||||||
# Test Case Title : Verify that default material library works consistently across all systems that use it
|
# Test Case Title : Verify that default material library works consistently across all systems that use it
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15096735
|
|
||||||
|
|
||||||
|
|
||||||
# fmt:off
|
# fmt:off
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
# Test Case Title : Verify that a change in the default material library material information
|
# Test Case Title : Verify that a change in the default material library material information
|
||||||
# affects all the materials that reference it, even non-defaulted
|
# affects all the materials that reference it, even non-defaulted
|
||||||
# exactly like if the library was selected
|
# exactly like if the library was selected
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15096737
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
Test case ID : C15096740
|
Test case ID : C15096740
|
||||||
Test Case Title : Verify that clearing a material library on all systems that use it,
|
Test Case Title : Verify that clearing a material library on all systems that use it,
|
||||||
assigns the default material library
|
assigns the default material library
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15096740
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
# Test case ID : C15308217
|
# Test case ID : C15308217
|
||||||
# Test Case Title : Verify that the Terrain texture layer doesn't crash when changing
|
# Test Case Title : Verify that the Terrain texture layer doesn't crash when changing
|
||||||
# from on a level with a terrain component to another level without a terrain component
|
# from on a level with a terrain component to another level without a terrain component
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15308217
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test Case ID : C15308221
|
# Test Case ID : C15308221
|
||||||
# Test Case Title : Verify that material library and slots are always in sync and work consistently through the different places of usage
|
# Test Case Title : Verify that material library and slots are always in sync and work consistently through the different places of usage
|
||||||
# Test Case URL : https://testrail.agscollab.com/index.php?/cases/view/15308221
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15425929
|
# Test case ID : C15425929
|
||||||
# Test Case Title : Verify that undo - redo operations do not create any error
|
# Test Case Title : Verify that undo - redo operations do not create any error
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15425929
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15425935
|
# Test case ID : C15425935
|
||||||
# Test Case Title : Verify that the change in Material Library gets updated across levels
|
# Test Case Title : Verify that the change in Material Library gets updated across levels
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15425935
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15556261
|
# Test case ID : C15556261
|
||||||
# Test Case Title : Check that the material assignment works with Character Controller
|
# Test Case Title : Check that the material assignment works with Character Controller
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15556261
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test Case ID : C15563573
|
# Test Case ID : C15563573
|
||||||
# Test Case Title : Check that any change (Add/Delete/Modify) made to the material surface in the material library reflects immediately in the PhysX Character Controller
|
# Test Case Title : Check that any change (Add/Delete/Modify) made to the material surface in the material library reflects immediately in the PhysX Character Controller
|
||||||
# Test Case URL : https://testrail.agscollab.com/index.php?/cases/view/15563573
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C15845879
|
# Test case ID : C15845879
|
||||||
# Test Case Title : Check that linear damping with high values do not make the object to quiver
|
# Test Case Title : Check that linear damping with high values do not make the object to quiver
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/15845879
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C17411467
|
Test case ID : C17411467
|
||||||
Test Case Title : Check that Physx Ragdoll component can be added without errors/warnings
|
Test Case Title : Check that Physx Ragdoll component can be added without errors/warnings
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/17411467
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243580
|
# Test case ID : C18243580
|
||||||
# Test Case Title : Check that fixed joint constrains 2 bodies
|
# Test Case Title : Check that fixed joint constrains 2 bodies
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243580
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243581
|
# Test case ID : C18243581
|
||||||
# Test Case Title : Check that fixed joint is breakable
|
# Test Case Title : Check that fixed joint is breakable
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243581
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243582
|
# Test case ID : C18243582
|
||||||
# Test Case Title : Check that fixed joint allows lead-follower collision
|
# Test Case Title : Check that fixed joint allows lead-follower collision
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243582
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243583
|
# Test case ID : C18243583
|
||||||
# Test Case Title : Check that hinge joint constrains 2 bodies about X-axis
|
# Test Case Title : Check that hinge joint constrains 2 bodies about X-axis
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243583
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243584
|
# Test case ID : C18243584
|
||||||
# Test Case Title : Check that hinge joint allows soft limit constraints on 2 bodies
|
# Test Case Title : Check that hinge joint allows soft limit constraints on 2 bodies
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243584
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243585
|
# Test case ID : C18243585
|
||||||
# Test Case Title : Check that hinge joint allows no limit constraints on 2 bodies
|
# Test Case Title : Check that hinge joint allows no limit constraints on 2 bodies
|
||||||
# URL of the test case :https://testrail.agscollab.com/index.php?/cases/view/18243585
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243586
|
# Test case ID : C18243586
|
||||||
# Test Case Title : Check that hinge joint allows lead-follower collision
|
# Test Case Title : Check that hinge joint allows lead-follower collision
|
||||||
# URL of the test case :https://testrail.agscollab.com/index.php?/cases/view/18243586
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243587
|
# Test case ID : C18243587
|
||||||
# Test Case Title : Check that hinge joint is breakable
|
# Test Case Title : Check that hinge joint is breakable
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243587
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243588
|
# Test case ID : C18243588
|
||||||
# Test Case Title : Check that ball joint constrains 2 bodies within cone limits
|
# Test Case Title : Check that ball joint constrains 2 bodies within cone limits
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243588
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
enter_game_mode = ("Entered game mode", "Failed to enter game mode")
|
enter_game_mode = ("Entered game mode", "Failed to enter game mode")
|
||||||
|
|||||||
+26
-6
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : 18243589
|
# Test case ID : 18243589
|
||||||
# Test Case Title : Check that ball joint allows soft limit constraints
|
# Test Case Title : Check that ball joint allows soft limit constraints
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243589
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
@@ -57,6 +57,7 @@ def C18243589_Joints_BallSoftLimitsConstrained():
|
|||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import math
|
||||||
|
|
||||||
import ImportPathHelper as imports
|
import ImportPathHelper as imports
|
||||||
|
|
||||||
@@ -95,13 +96,33 @@ def C18243589_Joints_BallSoftLimitsConstrained():
|
|||||||
Report.info_vector3(follower.position, "follower initial position:")
|
Report.info_vector3(follower.position, "follower initial position:")
|
||||||
leadInitialPosition = lead.position
|
leadInitialPosition = lead.position
|
||||||
followerInitialPosition = follower.position
|
followerInitialPosition = follower.position
|
||||||
|
|
||||||
|
followerMovedAboveJoint = False
|
||||||
|
#calculate the start vector from follower and lead positions
|
||||||
|
normalizedStartPos = JointsHelper.getRelativeVector(lead.position, follower.position)
|
||||||
|
normalizedStartPos = normalizedStartPos.GetNormalizedSafe()
|
||||||
|
#the targeted angle to reach between the initial vector and the current follower-lead vector
|
||||||
|
TARGET_ANGLE_DEG = 45
|
||||||
|
targetAngle = math.radians(TARGET_ANGLE_DEG)
|
||||||
|
angleAchieved = 0.0
|
||||||
|
|
||||||
# 4) Wait for several seconds
|
def checkAngleMet():
|
||||||
general.idle_wait(1.0) # wait for lead and follower to move
|
#calculate the current follower-lead vector
|
||||||
|
normalVec = JointsHelper.getRelativeVector(lead.position, follower.position)
|
||||||
|
normalVec = normalVec.GetNormalizedSafe()
|
||||||
|
#dot product + acos to get the angle
|
||||||
|
angleAchieved = math.acos(normalizedStartPos.Dot(normalVec))
|
||||||
|
#is it above target?
|
||||||
|
return angleAchieved > targetAngle
|
||||||
|
|
||||||
|
MAX_WAIT_TIME = 2.0 #seconds
|
||||||
|
followerMovedAboveJoint = helper.wait_for_condition(checkAngleMet, MAX_WAIT_TIME)
|
||||||
|
|
||||||
# 5) Check to see if lead and follower behaved as expected
|
# 5) Check to see if lead and follower behaved as expected
|
||||||
Report.info_vector3(lead.position, "lead position after 1 second:")
|
Report.info_vector3(lead.position, "lead position:")
|
||||||
Report.info_vector3(follower.position, "follower position after 1 second:")
|
Report.info_vector3(follower.position, "follower position:")
|
||||||
|
angleAchievedDeg = math.degrees(angleAchieved)
|
||||||
|
Report.info(f"Angle achieved {angleAchievedDeg:.2f} Target {TARGET_ANGLE_DEG:.2f}")
|
||||||
|
|
||||||
leadPositionDelta = lead.position.Subtract(leadInitialPosition)
|
leadPositionDelta = lead.position.Subtract(leadInitialPosition)
|
||||||
leadRemainedStill = JointsHelper.vector3SmallerThanScalar(leadPositionDelta, FLOAT_EPSILON)
|
leadRemainedStill = JointsHelper.vector3SmallerThanScalar(leadPositionDelta, FLOAT_EPSILON)
|
||||||
@@ -111,7 +132,6 @@ def C18243589_Joints_BallSoftLimitsConstrained():
|
|||||||
followerMovedinXYZ = JointsHelper.vector3LargerThanScalar(followerPositionDelta, FLOAT_EPSILON)
|
followerMovedinXYZ = JointsHelper.vector3LargerThanScalar(followerPositionDelta, FLOAT_EPSILON)
|
||||||
Report.critical_result(Tests.check_follower_position, followerMovedinXYZ)
|
Report.critical_result(Tests.check_follower_position, followerMovedinXYZ)
|
||||||
|
|
||||||
followerMovedAboveJoint = follower.position.z > (followerInitialPosition.z + 2.5) # (followerInitialPosition.z + 2.5) is the z position past the 45 degree limit. This is to show that the follower swinged past the 45 degree cone limit, above the joint position.
|
|
||||||
Report.critical_result(Tests.check_follower_above_joint, followerMovedAboveJoint)
|
Report.critical_result(Tests.check_follower_above_joint, followerMovedAboveJoint)
|
||||||
|
|
||||||
# 6) Exit Game Mode
|
# 6) Exit Game Mode
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243590
|
# Test case ID : C18243590
|
||||||
# Test Case Title : Check that ball joint allows no limit constraints
|
# Test Case Title : Check that ball joint allows no limit constraints
|
||||||
# URL of the test case :https://testrail.agscollab.com/index.php?/cases/view/18243590
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243591
|
# Test case ID : C18243591
|
||||||
# Test Case Title : Check that ball joint allows lead-follower collision
|
# Test Case Title : Check that ball joint allows lead-follower collision
|
||||||
# URL of the test case :https://testrail.agscollab.com/index.php?/cases/view/18243591
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243592
|
# Test case ID : C18243592
|
||||||
# Test Case Title : Check that ball joint is breakable
|
# Test Case Title : Check that ball joint is breakable
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243592
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
enter_game_mode = ("Entered game mode", "Failed to enter game mode")
|
enter_game_mode = ("Entered game mode", "Failed to enter game mode")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18243593
|
# Test case ID : C18243593
|
||||||
# Test Case Title : Check that fixed/hinge/ball joints allow constraints to global frame
|
# Test Case Title : Check that fixed/hinge/ball joints allow constraints to global frame
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18243593
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
class Tests:
|
class Tests:
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18977601
|
# Test case ID : C18977601
|
||||||
# Test Case Title : Verify that when two objects with different materials collide, the friction combine priority works
|
# Test Case Title : Verify that when two objects with different materials collide, the friction combine priority works
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18977601
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
# Test case ID : C18981526
|
# Test case ID : C18981526
|
||||||
# Test Case Title : Verify when two objects with different materials collide, the restitution combine priority works
|
# Test Case Title : Verify when two objects with different materials collide, the restitution combine priority works
|
||||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18981526
|
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
|
|
||||||
Test case ID : C19536274
|
Test case ID : C19536274
|
||||||
Test Case Title : Verify that the Get Collision Layer Name node prints the name of the collision layer
|
Test Case Title : Verify that the Get Collision Layer Name node prints the name of the collision layer
|
||||||
URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/19536274
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user