Merge pull request #581 from aws-lumberyard-dev/jckand/FoundationAuto
Cherry picking Foundation automation fixes from 1.0 branch
This commit is contained in:
@@ -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)
|
||||
|
||||
## DynVeg ##
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationTests_Main
|
||||
TEST_SERIAL
|
||||
TEST_SUITE main
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::DynamicVegetationTests_Main
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE main
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
# TIMEOUT 1500
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# Legacy::Editor
|
||||
# AutomatedTesting.GameLauncher
|
||||
# AutomatedTesting.Assets
|
||||
# COMPONENT
|
||||
# LargeWorlds
|
||||
#)
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
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(
|
||||
NAME AutomatedTesting::DynamicVegetationTests_Periodic
|
||||
NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic"
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_filter"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
@@ -228,22 +230,97 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
## LandscapeCanvas ##
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::LandscapeCanvasTests_Main
|
||||
NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
|
||||
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"
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
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(
|
||||
NAME AutomatedTesting::LandscapeCanvasTests_Periodic
|
||||
TEST_SERIAL
|
||||
|
||||
+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
|
||||
# 20 instances per 16 meters
|
||||
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', True)
|
||||
general.idle_wait(1.0)
|
||||
num_expected_instances = 20 * 20
|
||||
box = azlmbr.shape.ShapeComponentRequestsBus(bus.Event, 'GetEncompassingAabb', spawner_entity.id)
|
||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
||||
property_tree_success = property_tree_success and (num_found == num_expected_instances)
|
||||
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)
|
||||
self.test_success = self.test_success and 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'
|
||||
num_expected_instances = 0
|
||||
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)
|
||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
||||
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.log('Allow Empty Assets test:')
|
||||
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.test_success = self.test_success and 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.spawner = dynamic_slice_spawner
|
||||
spawns_slices_success = spawns_slices_success and spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]", descriptor)
|
||||
general.idle_wait(1.0)
|
||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
||||
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.log('Spawn dynamic slices test:')
|
||||
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.test_success = self.test_success and 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
|
||||
# 20 instances per 16 meters
|
||||
general.idle_wait(2.0)
|
||||
num_expected_instances = 20 * 20
|
||||
box = azlmbr.shape.ShapeComponentRequestsBus(bus.Event, 'GetEncompassingAabb', spawner_entity.id)
|
||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
||||
property_tree_success = property_tree_success and (num_found == num_expected_instances)
|
||||
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)
|
||||
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}')
|
||||
|
||||
# 6) Validate that the "Allow Empty Assets" setting doesn't affect the EmptyInstanceSpawner
|
||||
allow_empty_assets_success = True
|
||||
spawner_entity.get_set_test(0, 'Configuration|Allow Empty Assets', False)
|
||||
general.idle_wait(2.0)
|
||||
num_found = azlmbr.areasystem.AreaSystemRequestBus(bus.Broadcast, 'GetInstanceCountInAabb', box)
|
||||
allow_empty_assets_success = allow_empty_assets_success and (num_found == num_expected_instances)
|
||||
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.test_success = self.test_success and 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.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_AltitudeFilter_ComponentAndOverrides_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
@@ -61,6 +62,7 @@ class TestAltitudeFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4847476")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_AltitudeFilter_ShapeSample_InstancesPlantAtSpecifiedAltitude(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
@@ -85,6 +87,7 @@ class TestAltitudeFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4847478")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
@pytest.mark.xfail # LYN-3275
|
||||
def test_AltitudeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
@@ -52,6 +52,7 @@ class TestAreaComponents(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2627900", "C2627905", "C2627904")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_AreaComponents_SliceCreationVisibilityToggleWorks(self, request, editor, level, workspace,
|
||||
launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestAssetListCombiner(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4762374", "C4762373")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_AssetListCombiner_CombinedDescriptorsExpressInConfiguredArea(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ class TestAssetWeightSelector(object):
|
||||
|
||||
@pytest.mark.test_case_id("C6269654", "C4762368")
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_AssetWeightSelector_InstancesExpressBasedOnWeight(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -40,6 +40,7 @@ class TestDebugger(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2789148")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_Debugger_DebugCVarsWork(self, request, editor, level, workspace, launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestDistanceBetweenFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4851066")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_DistanceBetweenFilter_InstancesPlantAtSpecifiedRadius(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -58,6 +59,7 @@ class TestDistanceBetweenFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4814458")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_DistanceBetweenFilterOverrides_InstancesPlantAtSpecifiedRadius(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ class Test_DynVeg_Regressions(object):
|
||||
|
||||
@pytest.mark.test_case_id("C29470845")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_regression
|
||||
def test_SurfaceDataRefreshes_RemainsStable(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
+6
-1
@@ -41,7 +41,8 @@ class TestDynamicSliceInstanceSpawner(object):
|
||||
return console
|
||||
|
||||
@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'])
|
||||
def test_DynamicSliceInstanceSpawner_DynamicSliceSpawnerWorks(self, request, editor, level, workspace, project,
|
||||
launcher_platform):
|
||||
@@ -66,6 +67,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
||||
@pytest.mark.test_case_id('C2574330')
|
||||
@pytest.mark.BAT
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
def test_DynamicSliceInstanceSpawner_Embedded_E2E_Editor(self, workspace, request, editor, level, project,
|
||||
launcher_platform):
|
||||
@@ -85,6 +87,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
||||
@pytest.mark.test_case_id('C2574330')
|
||||
@pytest.mark.BAT
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||
@pytest.mark.skip # ATOM-14703
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
def test_DynamicSliceInstanceSpawner_External_E2E_Editor(self, workspace, request, editor, level, project,
|
||||
launcher_platform):
|
||||
@@ -119,6 +123,7 @@ class TestDynamicSliceInstanceSpawner(object):
|
||||
|
||||
@pytest.mark.test_case_id('C4762367')
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||
@pytest.mark.skip # ATOM-14703
|
||||
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)
|
||||
|
||||
# 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.SUITE_sandbox
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
def test_EmptyInstanceSpawner_EmptySpawnerWorks(self, request, editor, level, launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ class TestInstanceSpawnerPriority(object):
|
||||
|
||||
@pytest.mark.test_case_id("C5747383", "C4762382")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_InstanceSpawnerPriority_LayerAndSubPriority_HigherValuesPlantOverLower(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
|
||||
@@ -20,17 +20,10 @@ import pytest
|
||||
|
||||
pytest.importorskip("ly_test_tools")
|
||||
|
||||
import time as time
|
||||
|
||||
import editor_python_test_tools.hydra_test_utils as hydra
|
||||
import ly_test_tools.launchers.launcher_helper as launcher_helper
|
||||
import ly_remote_console.remote_console_commands as remote_console_commands
|
||||
import ly_test_tools.environment.waiter as waiter
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
import ly_remote_console.remote_console_commands as remote_console_commands
|
||||
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
|
||||
import editor_python_test_tools.hydra_test_utils as hydra
|
||||
|
||||
|
||||
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.BAT
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
def test_LayerBlender_E2E_Editor(self, workspace, request, editor, project, level, launcher_platform):
|
||||
# Make sure temp level doesn't already exist
|
||||
@@ -95,6 +89,7 @@ class TestLayerBlender(object):
|
||||
@pytest.mark.test_case_id("C2627906")
|
||||
@pytest.mark.BAT
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.xfail
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows'])
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
def test_LayerBlocker_InstancesBlockedInConfiguredArea(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -40,6 +40,7 @@ class TestLayerSpawner(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4762381")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_LayerSpawner_InheritBehaviorFlag(self, request, editor, level, workspace, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -60,6 +61,7 @@ class TestLayerSpawner(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2802020")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_LayerSpawner_InstancesPlantInAllSupportedShapes(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -101,6 +103,7 @@ class TestLayerSpawner(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4765973")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
@pytest.mark.xfail # LYN-3275
|
||||
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.SUITE_sandbox
|
||||
@pytest.mark.dynveg_misc
|
||||
@pytest.mark.skip # ATOM-14828
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.xfail # LYN-3273
|
||||
def test_MeshBlocker_InstancesBlockedByMesh(self, request, editor, level, launcher_platform):
|
||||
expected_lines = [
|
||||
@@ -70,6 +71,7 @@ class TestMeshBlocker(object):
|
||||
"""
|
||||
@pytest.mark.test_case_id("C4766030")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_area
|
||||
@pytest.mark.xfail # LYN-3273
|
||||
def test_MeshBlocker_InstancesBlockedByMeshHeightTuning(self, request, editor, level, launcher_platform):
|
||||
expected_lines = [
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestMeshSurfaceTagEmitter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2908172")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_surfacetagemitter
|
||||
def test_MeshSurfaceTagEmitter_DependentOnMeshComponent(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -66,6 +67,7 @@ class TestMeshSurfaceTagEmitter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2908174")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_surfacetagemitter
|
||||
def test_MeshSurfaceTagEmitter_SurfaceTagsAddRemoveSuccessfully(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
+1
@@ -38,6 +38,7 @@ class TestPhysXColliderSurfaceTagEmitter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C29053640")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_surfacetagemitter
|
||||
def test_PhysXColliderSurfaceTagEmitter_E2E_Editor(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestPositionModifier(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4874099", "C4814461")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
def test_PositionModifier_ComponentAndOverrides_InstancesPlantAtSpecifiedOffsets(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
@@ -60,6 +61,7 @@ class TestPositionModifier(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4874100")
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.dynveg_modifier
|
||||
@pytest.mark.xfail # LYN-3275
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
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.
|
||||
@@ -71,6 +72,7 @@ class TestRotationModifier(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4814460")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
def test_RotationModifierOverrides_InstancesRotateWithinRange(self, request, editor, level, launcher_platform) -> None:
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -41,6 +41,7 @@ class TestScaleOverrideWorksSuccessfully(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4814462")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
def test_ScaleModifierOverrides_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -70,6 +71,7 @@ class TestScaleOverrideWorksSuccessfully(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4896937")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
def test_ScaleModifier_InstancesProperlyScale(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestShapeIntersectionFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4874094")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_ShapeIntersectionFilter_InstancesPlantInAssignedShape(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
@@ -41,6 +41,7 @@ class TestSlopeAlignmentModifier(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4896941")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
@pytest.mark.skip # ATOM-14299
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_modifier
|
||||
@pytest.mark.skip # ATOM-14299
|
||||
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.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_SlopeFilter_FilterStageToggle(self, request, editor, level, workspace, launcher_platform):
|
||||
cfg_args = [level]
|
||||
|
||||
@@ -70,6 +71,7 @@ class TestSlopeFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C4814464", "C4874096")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
@pytest.mark.skip # LYN-2211
|
||||
def test_SlopeFilter_ComponentAndOverrides_InstancesPlantOnValidSlopes(self, request, editor, level,
|
||||
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.
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_SurfaceMaskFilter_BasicSurfaceTagCreation(self, request, level, editor, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -61,6 +62,7 @@ class TestSurfaceMaskFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2561342")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_SurfaceMaskFilter_ExclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -93,6 +95,7 @@ class TestSurfaceMaskFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2561341")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_SurfaceMaskFilter_InclusiveSurfaceTags_Function(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -125,6 +128,7 @@ class TestSurfaceMaskFilter(object):
|
||||
|
||||
@pytest.mark.test_case_id("C3711666")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_filter
|
||||
def test_SurfaceMaskFilterOverrides_MultipleDescriptorOverridesPlantAsExpected(self, request, editor, level,
|
||||
launcher_platform):
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ class TestSystemSettings(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2646869")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_SystemSettings_SectorPointDensity(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
@@ -64,6 +65,7 @@ class TestSystemSettings(object):
|
||||
|
||||
@pytest.mark.test_case_id("C2646870")
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.dynveg_misc
|
||||
def test_SystemSettings_SectorSize(self, request, editor, level, launcher_platform):
|
||||
|
||||
expected_lines = [
|
||||
|
||||
Reference in New Issue
Block a user