Merge branch 'development' of https://github.com/o3de/o3de into mp_blending_cleanup
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
---
|
||||
name: Nightly Build Error bug report
|
||||
about: Create a report when the nightly build process fails
|
||||
title: 'Nightly Build Failure'
|
||||
labels: 'needs-triage,needs-sig,kind/bug,kind/nightlybuildfailure'
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Failure type**
|
||||
Build | Asset Processing | Test Tools | Infrastructure | Test
|
||||
|
||||
**To Reproduce Test Failures**
|
||||
- Paste the command line that reproduces the test failure
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Logs**
|
||||
Attach the Jenkins logs that are relevant to the failure
|
||||
|
||||
**Desktop/Device (please complete the following information):**
|
||||
- Device: [e.g. PC, Mac, iPhone, Samsung]
|
||||
- OS: [e.g. Windows, macOS, iOS, Android]
|
||||
- Version [e.g. 10, Bug Sur, Oreo]
|
||||
- CPU [e.g. Intel I9-9900k , Ryzen 5900x, ]
|
||||
- GPU [AMD 6800 XT, NVidia RTX 3090]
|
||||
- Memory [e.g. 16GB]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
+1
-1
@@ -7,7 +7,7 @@ AssetProcessorTemp/**
|
||||
[Oo]ut/**
|
||||
CMakeUserPresets.json
|
||||
[Cc]ache/
|
||||
/install/
|
||||
/[Ii]nstall/
|
||||
Editor/EditorEventLog.xml
|
||||
Editor/EditorLayout.xml
|
||||
**/*egg-info/**
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
e_StatoscopeScreenshotCapturePeriod = 1
|
||||
|
||||
e_StatoscopeDataGroups = Oulm
|
||||
sys_pakLogInvalidFileAccess = 1
|
||||
e_StatoscopeWriteTimeout = 10
|
||||
e_StatoscopeConnectTimeout = 10
|
||||
@@ -35,37 +35,11 @@ ly_create_alias(NAME AutomatedTesting.Servers NAMESPACE Gem TARGETS Gem::Automa
|
||||
# Gem dependencies
|
||||
################################################################################
|
||||
|
||||
# The GameLauncher uses "Clients" gem variants:
|
||||
ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake
|
||||
TARGETS AutomatedTesting.GameLauncher
|
||||
VARIANTS Clients)
|
||||
# Enable the enabled_gems for the Project:
|
||||
ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake)
|
||||
|
||||
# If we build a server, then apply the gems to the server
|
||||
# Add project to the list server projects to create the AutomatedTesting.ServerLauncher
|
||||
if(PAL_TRAIT_BUILD_SERVER_SUPPORTED)
|
||||
# if we're making a server, then add the "Server" gem variants to it:
|
||||
ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake
|
||||
TARGETS AutomatedTesting.ServerLauncher
|
||||
VARIANTS Servers)
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY LY_LAUNCHER_SERVER_PROJECTS AutomatedTesting)
|
||||
endif()
|
||||
|
||||
if (PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
# The Editor uses "Tools" gem variants:
|
||||
ly_enable_gems(
|
||||
PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake
|
||||
TARGETS Editor
|
||||
VARIANTS Tools)
|
||||
|
||||
# The Material Editor needs the Lyshine "Tools" gem variant for the custom LyShine pass
|
||||
ly_enable_gems(
|
||||
PROJECT_NAME AutomatedTesting GEMS LyShine
|
||||
TARGETS MaterialEditor
|
||||
VARIANTS Tools)
|
||||
|
||||
# The pipeline tools use "Builders" gem variants:
|
||||
ly_enable_gems(
|
||||
PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake
|
||||
TARGETS AssetBuilder AssetProcessor AssetProcessorBatch
|
||||
VARIANTS Builders)
|
||||
endif()
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
|
||||
namespace PythonCoverage
|
||||
{
|
||||
static constexpr char* const LogCallSite = "PythonCoverageEditorSystemComponent";
|
||||
static constexpr const char* const LogCallSite = "PythonCoverageEditorSystemComponent";
|
||||
|
||||
void PythonCoverageEditorSystemComponent::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
|
||||
@@ -17,15 +17,15 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Enable after installing NodeJS and CDK on jenkins Windows AMI.
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::AWSTests
|
||||
TEST_SUITE periodic
|
||||
TEST_SUITE awsi
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/${PAL_PLATFORM_NAME}/
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
AWS
|
||||
|
||||
@@ -8,19 +8,21 @@
|
||||
## Deploy CDK Applications
|
||||
1. Go to the AWS IAM console and create an IAM role called o3de-automation-tests which adds your own account as as a trusted entity and uses the "AdministratorAccess" permissions policy.
|
||||
2. Copy {engine_root}\scripts\build\Platform\Windows\deploy_cdk_applications.cmd to your engine root folder.
|
||||
3. Open a Command Prompt window at the engine root and set the following environment variables:
|
||||
Set O3DE_AWS_PROJECT_NAME=AWSAUTO
|
||||
Set O3DE_AWS_DEPLOY_REGION=us-east-1
|
||||
Set ASSUME_ROLE_ARN="arn:aws:iam::{your_aws_account_id}:role/o3de-automation-tests"
|
||||
Set COMMIT_ID=HEAD
|
||||
4. Deploy the CDK applications for AWS gems by running deploy_cdk_applications.cmd in the same Command Prompt window.
|
||||
5. Edit AWS\common\constants.py to replace the assume role ARN with your own:
|
||||
arn:aws:iam::{your_aws_account_id}:role/o3de-automation-tests
|
||||
3. Open a new Command Prompt window at the engine root and set the following environment variables:
|
||||
Set O3DE_AWS_PROJECT_NAME=AWSAUTO
|
||||
Set O3DE_AWS_DEPLOY_REGION=us-east-1
|
||||
Set ASSUME_ROLE_ARN=arn:aws:iam::{your_aws_account_id}:role/o3de-automation-tests
|
||||
Set COMMIT_ID=HEAD
|
||||
4. In the same Command Prompt window, Deploy the CDK applications for AWS gems by running deploy_cdk_applications.cmd.
|
||||
|
||||
## Run Automation Tests
|
||||
### CLI
|
||||
Open a Command Prompt window at the engine root and run the following CLI command:
|
||||
In the same Command Prompt window, run the following CLI command:
|
||||
python\python.cmd -m pytest {path_to_the_test_file} --build-directory {directory_to_the_profile_build}
|
||||
|
||||
### Pycharm
|
||||
You can also run any specific automation test directly from Pycharm by providing the "--build-directory" argument in the Run Configuration.
|
||||
You can also run any specific automation test directly from Pycharm by providing the "--build-directory" argument in the Run Configuration.
|
||||
|
||||
## Destroy CDK Applications
|
||||
1. Copy {engine_root}\scripts\build\Platform\Windows\destroy_cdk_applications.cmd to your engine root folder.
|
||||
2. In the same Command Prompt window, destroy the CDK applications for AWS gems by running destroy_cdk_applications.cmd.
|
||||
+26
-20
@@ -31,7 +31,7 @@ def setup(launcher: pytest.fixture,
|
||||
Set up the resource mapping configuration and start the log monitor.
|
||||
:param launcher: Client launcher for running the test level.
|
||||
:param asset_processor: asset_processor fixture.
|
||||
:return log monitor object, metrics file path and the metrics stack name.
|
||||
:return log monitor object.
|
||||
"""
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
@@ -73,12 +73,11 @@ def monitor_metrics_submission(log_monitor: pytest.fixture) -> None:
|
||||
f'unexpected_lines values: {unexpected_lines}')
|
||||
|
||||
|
||||
def query_metrics_from_s3(aws_metrics_utils: pytest.fixture, resource_mappings: pytest.fixture, stack_name: str) -> None:
|
||||
def query_metrics_from_s3(aws_metrics_utils: pytest.fixture, resource_mappings: pytest.fixture) -> None:
|
||||
"""
|
||||
Verify that the metrics events are delivered to the S3 bucket and can be queried.
|
||||
:param aws_metrics_utils: aws_metrics_utils fixture.
|
||||
:param resource_mappings: resource_mappings fixture.
|
||||
:param stack_name: name of the CloudFormation stack.
|
||||
"""
|
||||
aws_metrics_utils.verify_s3_delivery(
|
||||
resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsBucketName')
|
||||
@@ -89,23 +88,24 @@ def query_metrics_from_s3(aws_metrics_utils: pytest.fixture, resource_mappings:
|
||||
resource_mappings.get_resource_name_id('AWSMetrics.EventsCrawlerName'))
|
||||
|
||||
# Remove the events_json table if exists so that the sample query can create a table with the same name.
|
||||
aws_metrics_utils.delete_table(f'{stack_name}-eventsdatabase', 'events_json')
|
||||
aws_metrics_utils.run_named_queries(f'{stack_name}-AthenaWorkGroup')
|
||||
aws_metrics_utils.delete_table(resource_mappings.get_resource_name_id('AWSMetrics.EventDatabaseName'), 'events_json')
|
||||
aws_metrics_utils.run_named_queries(resource_mappings.get_resource_name_id('AWSMetrics.AthenaWorkGroupName'))
|
||||
logger.info('Query metrics from S3 successfully.')
|
||||
|
||||
|
||||
def verify_operational_metrics(aws_metrics_utils: pytest.fixture, stack_name: str, start_time: datetime) -> None:
|
||||
def verify_operational_metrics(aws_metrics_utils: pytest.fixture,
|
||||
resource_mappings: pytest.fixture, start_time: datetime) -> None:
|
||||
"""
|
||||
Verify that operational health metrics are delivered to CloudWatch.
|
||||
aws_metrics_utils: aws_metrics_utils fixture.
|
||||
stack_name: name of the CloudFormation stack.
|
||||
start_time: Time when the game launcher starts.
|
||||
:param aws_metrics_utils: aws_metrics_utils fixture.
|
||||
:param resource_mappings: resource_mappings fixture.
|
||||
:param start_time: Time when the game launcher starts.
|
||||
"""
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-AnalyticsProcessingLambda'}],
|
||||
'Value': resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsProcessingLambdaName')}],
|
||||
start_time)
|
||||
logger.info('AnalyticsProcessingLambda metrics are sent to CloudWatch.')
|
||||
|
||||
@@ -113,7 +113,7 @@ def verify_operational_metrics(aws_metrics_utils: pytest.fixture, stack_name: st
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-EventsProcessingLambda'}],
|
||||
'Value': resource_mappings.get_resource_name_id('AWSMetrics.EventProcessingLambdaName')}],
|
||||
start_time)
|
||||
logger.info('EventsProcessingLambda metrics are sent to CloudWatch.')
|
||||
|
||||
@@ -133,13 +133,12 @@ def update_kinesis_analytics_application_status(aws_metrics_utils: pytest.fixtur
|
||||
aws_metrics_utils.stop_kinesis_data_analytics_application(
|
||||
resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsApplicationName'))
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.SUITE_awsi
|
||||
@pytest.mark.usefixtures('automatic_process_killer')
|
||||
@pytest.mark.usefixtures('aws_credentials')
|
||||
@pytest.mark.usefixtures('resource_mappings')
|
||||
@pytest.mark.parametrize('assume_role_arn', [constants.ASSUME_ROLE_ARN])
|
||||
@pytest.mark.parametrize('feature_name', [AWS_METRICS_FEATURE_NAME])
|
||||
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
||||
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('region_name', [constants.AWS_REGION])
|
||||
@@ -150,6 +149,7 @@ class TestAWSMetricsWindows(object):
|
||||
"""
|
||||
Test class to verify the real-time and batch analytics for metrics.
|
||||
"""
|
||||
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
||||
def test_realtime_and_batch_analytics(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
@@ -157,7 +157,6 @@ class TestAWSMetricsWindows(object):
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
stacks: typing.List,
|
||||
aws_metrics_utils: pytest.fixture):
|
||||
"""
|
||||
Verify that the metrics events are sent to CloudWatch and S3 for analytics.
|
||||
@@ -167,10 +166,6 @@ class TestAWSMetricsWindows(object):
|
||||
args=(aws_metrics_utils, resource_mappings, True))
|
||||
kinesis_analytics_application_thread.start()
|
||||
|
||||
# Clear the analytics bucket objects before sending new metrics.
|
||||
aws_metrics_utils.empty_bucket(
|
||||
resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsBucketName'))
|
||||
|
||||
log_monitor = setup(launcher, asset_processor)
|
||||
|
||||
# Kinesis analytics application needs to be in the running state before we start the game launcher.
|
||||
@@ -193,10 +188,10 @@ class TestAWSMetricsWindows(object):
|
||||
operational_threads = list()
|
||||
operational_threads.append(
|
||||
AWSMetricsThread(target=query_metrics_from_s3,
|
||||
args=(aws_metrics_utils, resource_mappings, stacks[0])))
|
||||
args=(aws_metrics_utils, resource_mappings)))
|
||||
operational_threads.append(
|
||||
AWSMetricsThread(target=verify_operational_metrics,
|
||||
args=(aws_metrics_utils, stacks[0], start_time)))
|
||||
args=(aws_metrics_utils, resource_mappings, start_time)))
|
||||
operational_threads.append(
|
||||
AWSMetricsThread(target=update_kinesis_analytics_application_status,
|
||||
args=(aws_metrics_utils, resource_mappings, False)))
|
||||
@@ -205,6 +200,7 @@ class TestAWSMetricsWindows(object):
|
||||
for thread in operational_threads:
|
||||
thread.join()
|
||||
|
||||
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
||||
def test_unauthorized_user_request_rejected(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
@@ -227,3 +223,13 @@ class TestAWSMetricsWindows(object):
|
||||
halt_on_unexpected=True)
|
||||
assert result, 'Metrics events are sent successfully by unauthorized user'
|
||||
logger.info('Unauthorized user is rejected to send metrics.')
|
||||
|
||||
def test_clean_up_s3_bucket(self,
|
||||
aws_utils: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
aws_metrics_utils: pytest.fixture):
|
||||
"""
|
||||
Clear the analytics bucket objects so that the S3 bucket can be destroyed during tear down.
|
||||
"""
|
||||
aws_metrics_utils.empty_bucket(
|
||||
resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsBucketName'))
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth'
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.SUITE_awsi
|
||||
@pytest.mark.usefixtures('asset_processor')
|
||||
@pytest.mark.usefixtures('automatic_process_killer')
|
||||
@pytest.mark.usefixtures('aws_utils')
|
||||
|
||||
@@ -74,7 +74,7 @@ def write_test_data_to_dynamodb_table(resource_mappings: pytest.fixture, aws_uti
|
||||
raise
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.SUITE_awsi
|
||||
@pytest.mark.usefixtures('automatic_process_killer')
|
||||
@pytest.mark.usefixtures('asset_processor')
|
||||
@pytest.mark.parametrize('feature_name', [AWS_CORE_FEATURE_NAME])
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::BlastTests
|
||||
NAME AutomatedTesting::BlastTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL TRUE
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
def init():
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
Executable → Regular
+7
-7
@@ -22,29 +22,29 @@ from base import TestAutomationBase
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_ActorSplitsAfterCollision(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterCollision as test_module
|
||||
from .tests import Blast_ActorSplitsAfterCollision as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterRadialDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterRadialDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterRadialDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterCapsuleDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterCapsuleDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterCapsuleDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterImpactSpreadDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterImpactSpreadDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterImpactSpreadDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterShearDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterShearDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterShearDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterTriangleDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterTriangleDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterTriangleDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterStressDamage(self, request, workspace, editor, launcher_platform):
|
||||
from . import ActorSplitsAfterStressDamage as test_module
|
||||
from .tests import Blast_ActorSplitsAfterStressDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
Executable → Regular
+1
-5
@@ -41,11 +41,7 @@ def base_run(damage_func):
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterCapsuleDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterCapsuleDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def CapsuleDamage(target_id, position0):
|
||||
@@ -26,8 +24,5 @@ def ActorSplitsAfterCapsuleDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterCapsuleDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterCapsuleDamage)
|
||||
Executable → Regular
+2
-9
@@ -18,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ActorSplitsAfterCollision():
|
||||
def Blast_ActorSplitsAfterCollision():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -46,10 +46,6 @@ def ActorSplitsAfterCollision():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -103,8 +99,5 @@ def ActorSplitsAfterCollision():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterCollision)
|
||||
Report.start_test(Blast_ActorSplitsAfterCollision)
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterImpactSpreadDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterImpactSpreadDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def ImpactSpreadDamage(target_id, position):
|
||||
@@ -24,8 +22,5 @@ def ActorSplitsAfterImpactSpreadDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterImpactSpreadDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterImpactSpreadDamage)
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterRadialDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterRadialDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def RadialDamage(target_id, position):
|
||||
@@ -24,8 +22,5 @@ def ActorSplitsAfterRadialDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterRadialDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterRadialDamage)
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterShearDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterShearDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def ShearDamage(target_id, position):
|
||||
@@ -25,8 +23,5 @@ def ActorSplitsAfterShearDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterShearDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterShearDamage)
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterStressDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterStressDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def StressDamage(target_id, position):
|
||||
@@ -24,8 +22,5 @@ def ActorSplitsAfterStressDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterStressDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterStressDamage)
|
||||
Executable → Regular
+3
-8
@@ -9,10 +9,8 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from ActorSplitsAfterDamage import Tests
|
||||
|
||||
def ActorSplitsAfterTriangleDamage():
|
||||
from ActorSplitsAfterDamage import base_run as internal_run
|
||||
def Blast_ActorSplitsAfterTriangleDamage():
|
||||
from BaseDamageTest import base_run as internal_run
|
||||
from BlastUtils import Constants
|
||||
|
||||
def TriangleDamage(target_id, position):
|
||||
@@ -28,8 +26,5 @@ def ActorSplitsAfterTriangleDamage():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(ActorSplitsAfterTriangleDamage)
|
||||
Report.start_test(Blast_ActorSplitsAfterTriangleDamage)
|
||||
@@ -21,7 +21,7 @@ add_subdirectory(assetpipeline)
|
||||
add_subdirectory(atom_renderer)
|
||||
|
||||
## Physics ##
|
||||
add_subdirectory(physics)
|
||||
add_subdirectory(Physics)
|
||||
|
||||
## ScriptCanvas ##
|
||||
add_subdirectory(scripting)
|
||||
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
# Built-in Imports
|
||||
from __future__ import annotations
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.asset as azasset
|
||||
import azlmbr.math as math
|
||||
|
||||
|
||||
class Asset:
|
||||
"""
|
||||
Used to find Asset Id by its path and path of asset by its Id
|
||||
If a component has any asset property, then this class object can be called as:
|
||||
asset_id = editor_python_test_tools.editor_entity_utils.EditorComponent.get_component_property_value(<arguments>)
|
||||
asset = asset_utils.Asset(asset_id)
|
||||
"""
|
||||
def __init__(self, id: azasset.AssetId):
|
||||
self.id: azasset.AssetId = id
|
||||
|
||||
# Creation functions
|
||||
@classmethod
|
||||
def find_asset_by_path(cls, path: str, RegisterType: bool = False) -> Asset:
|
||||
"""
|
||||
:param path: Absolute file path of the asset
|
||||
:param RegisterType: Whether to register the asset if it's not in the database,
|
||||
default to false for the general case
|
||||
:return: Asset object associated with file path
|
||||
"""
|
||||
asset_id = azasset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", path, math.Uuid(), RegisterType)
|
||||
assert asset_id.is_valid(), f"Couldn't find Asset with path: {path}"
|
||||
asset = cls(asset_id)
|
||||
return asset
|
||||
|
||||
# Methods
|
||||
def get_path(self) -> str:
|
||||
"""
|
||||
:return: Absolute file path of Asset
|
||||
"""
|
||||
assert self.id.is_valid(), "Invalid Asset Id"
|
||||
return azasset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetPathById", self.id)
|
||||
+51
-2
@@ -20,6 +20,7 @@ import azlmbr.legacy.general as general
|
||||
# Helper file Imports
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
|
||||
class EditorComponent:
|
||||
"""
|
||||
EditorComponent class used to set and get the component property value using path
|
||||
@@ -28,7 +29,6 @@ class EditorComponent:
|
||||
which also assigns self.id and self.type_id to the EditorComponent object.
|
||||
"""
|
||||
|
||||
# Methods
|
||||
def get_component_name(self) -> str:
|
||||
"""
|
||||
Used to get name of component
|
||||
@@ -87,6 +87,13 @@ class EditorComponent:
|
||||
outcome.IsSuccess()
|
||||
), f"Failure: Could not set value to '{self.get_component_name()}' : '{component_property_path}'"
|
||||
|
||||
def is_enabled(self):
|
||||
"""
|
||||
Used to verify if the component is enabled.
|
||||
:return: True if enabled, otherwise False.
|
||||
"""
|
||||
return editor.EditorComponentAPIBus(bus.Broadcast, "IsComponentEnabled", self.id)
|
||||
|
||||
@staticmethod
|
||||
def get_type_ids(component_names: list) -> list:
|
||||
"""
|
||||
@@ -214,6 +221,12 @@ class EditorEntity:
|
||||
"""
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "GetParent", self.id)
|
||||
|
||||
def get_children_ids(self) -> List[azlmbr.entity.EntityId]:
|
||||
"""
|
||||
:return: Entity ids of children. Type: [entity.EntityId()]
|
||||
"""
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "GetChildren", self.id)
|
||||
|
||||
def add_component(self, component_name: str) -> EditorComponent:
|
||||
"""
|
||||
Used to add new component to Entity.
|
||||
@@ -248,7 +261,7 @@ class EditorEntity:
|
||||
def get_components_of_type(self, component_names: list) -> List[EditorComponent]:
|
||||
"""
|
||||
Used to get components of type component_name that already exists on Entity
|
||||
:param component_name: Name to component to check
|
||||
:param component_names: List of names of components to check
|
||||
:return: List of Entity Component objects of given component name
|
||||
"""
|
||||
component_list = []
|
||||
@@ -312,3 +325,39 @@ class EditorEntity:
|
||||
editor.EditorEntityAPIBus(bus.Event, "SetStartStatus", self.id, status_to_set)
|
||||
set_status = self.get_start_status()
|
||||
assert set_status == status_to_set, f"Failed to set start status of {desired_start_status} to {self.get_name}"
|
||||
|
||||
def delete(self) -> None:
|
||||
"""
|
||||
Used to delete the Entity.
|
||||
:return: None
|
||||
"""
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntityById", self.id)
|
||||
|
||||
def set_visibility_state(self, is_visible: bool) -> None:
|
||||
"""
|
||||
Sets the visibility state on the object to visible or not visible.
|
||||
:param is_visible: True for making visible, False to make not visible.
|
||||
:return: None
|
||||
"""
|
||||
editor.EditorEntityAPIBus(bus.Event, "SetVisibilityState", self.id, is_visible)
|
||||
|
||||
def exists(self) -> bool:
|
||||
"""
|
||||
Used to verify if the Entity exists.
|
||||
:return: True if the Entity exists, False otherwise.
|
||||
"""
|
||||
return editor.ToolsApplicationRequestBus(bus.Broadcast, "EntityExists", self.id)
|
||||
|
||||
def is_hidden(self) -> bool:
|
||||
"""
|
||||
Gets the "isHidden" value from the Entity.
|
||||
:return: True if "isHidden" is enabled, False otherwise.
|
||||
"""
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "IsHidden", self.id)
|
||||
|
||||
def is_visible(self) -> bool:
|
||||
"""
|
||||
Gets the "isVisible" value from the Entity.
|
||||
:return: True if "isVisible" is enabled, False otherwise.
|
||||
"""
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "IsVisible", self.id)
|
||||
|
||||
@@ -12,7 +12,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
TEST_SUITE main
|
||||
TEST_REQUIRES gpu
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
def init():
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
Executable → Regular
+6
-7
@@ -22,12 +22,11 @@ from base import TestAutomationBase
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
use_null_renderer = False # Use default renderer (needs gpu)
|
||||
extra_cmdline_args = []
|
||||
|
||||
def test_C18977329_NvCloth_AddClothSimulationToMesh(self, request, workspace, editor, launcher_platform):
|
||||
from . import C18977329_NvCloth_AddClothSimulationToMesh as test_module
|
||||
self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer)
|
||||
def test_NvCloth_AddClothSimulationToMesh(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import NvCloth_AddClothSimulationToMesh as test_module
|
||||
self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer)
|
||||
|
||||
def test_C18977330_NvCloth_AddClothSimulationToActor(self, request, workspace, editor, launcher_platform):
|
||||
from . import C18977330_NvCloth_AddClothSimulationToActor as test_module
|
||||
self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer)
|
||||
def test_NvCloth_AddClothSimulationToActor(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import NvCloth_AddClothSimulationToActor as test_module
|
||||
self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer)
|
||||
Executable → Regular
+3
-9
@@ -15,7 +15,7 @@ class Tests:
|
||||
exit_game_mode = ("Exited game mode", "Failed to exit game mode")
|
||||
# fmt: on
|
||||
|
||||
def C18977330_NvCloth_AddClothSimulationToActor():
|
||||
def NvCloth_AddClothSimulationToActor():
|
||||
"""
|
||||
Summary:
|
||||
Load level with Entity having Actor and Cloth components already setup. Verify that editor remains stable in Game mode.
|
||||
@@ -44,11 +44,7 @@ def C18977330_NvCloth_AddClothSimulationToActor():
|
||||
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
# Helper file Imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
@@ -57,7 +53,7 @@ def C18977330_NvCloth_AddClothSimulationToActor():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
helper.open_level("NvCloth", "C18977330_NvCloth_AddClothSimulationToActor")
|
||||
helper.open_level("NvCloth", "NvCloth_AddClothSimulationToActor")
|
||||
|
||||
# 2) Start the Tracer to catch any errors and warnings
|
||||
with Tracer() as section_tracer:
|
||||
@@ -84,7 +80,5 @@ def C18977330_NvCloth_AddClothSimulationToActor():
|
||||
helper.close_editor()
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C18977330_NvCloth_AddClothSimulationToActor)
|
||||
Report.start_test(NvCloth_AddClothSimulationToActor)
|
||||
Executable → Regular
+3
-9
@@ -15,7 +15,7 @@ class Tests:
|
||||
exit_game_mode = ("Exited game mode", "Failed to exit game mode")
|
||||
# fmt: on
|
||||
|
||||
def C18977329_NvCloth_AddClothSimulationToMesh():
|
||||
def NvCloth_AddClothSimulationToMesh():
|
||||
"""
|
||||
Summary:
|
||||
Load level with Entity having Mesh and Cloth components already setup. Verify that editor remains stable in Game mode.
|
||||
@@ -45,10 +45,6 @@ def C18977329_NvCloth_AddClothSimulationToMesh():
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
# Helper file Imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
@@ -57,7 +53,7 @@ def C18977329_NvCloth_AddClothSimulationToMesh():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
helper.open_level("NvCloth", "C18977329_NvCloth_AddClothSimulationToMesh")
|
||||
helper.open_level("NvCloth", "NvCloth_AddClothSimulationToMesh")
|
||||
|
||||
# 2) Start the Tracer to catch any errors and warnings
|
||||
with Tracer() as section_tracer:
|
||||
@@ -84,7 +80,5 @@ def C18977329_NvCloth_AddClothSimulationToMesh():
|
||||
helper.close_editor()
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C18977329_NvCloth_AddClothSimulationToMesh)
|
||||
Report.start_test(NvCloth_AddClothSimulationToMesh)
|
||||
@@ -0,0 +1,183 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
"""
|
||||
|
||||
# This suite consists of all test cases that are under development and have not been verified yet.
|
||||
# Once they are verified, please move them to TestSuite_Active.py
|
||||
|
||||
import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .utils.FileManagement import FileManagement as fm
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
|
||||
from base import TestAutomationBase
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
@fm.file_revert("ragdollbones.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnRagdollBones")
|
||||
def test_Material_LibraryCrudOperationsReflectOnRagdollBones(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnRagdollBones as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Material_RagdollBones(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_RagdollBones as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("c15308221_material_componentsinsyncwithlibrary.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_ComponentsInSyncWithLibrary")
|
||||
def test_Material_ComponentsInSyncWithLibrary(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_ComponentsInSyncWithLibrary as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# BUG: LY-107723")
|
||||
def test_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_SetKinematicTargetTransform as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Failing, PhysXTerrain
|
||||
@fm.file_revert("c4925579_material_addmodifydeleteonterrain.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnTerrain")
|
||||
def test_Material_LibraryCrudOperationsReflectOnTerrain(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnTerrain as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Failing, PhysXTerrain
|
||||
def test_Terrain_TerrainTexturePainterWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_TerrainTexturePainterWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Failing, PhysXTerrain
|
||||
def test_Material_CanBeAssignedToTerrain(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_CanBeAssignedToTerrain as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Failing, PhysXTerrain
|
||||
def test_Material_DefaultLibraryConsistentOnAllFeatures(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_DefaultLibraryConsistentOnAllFeatures as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Failing, PhysXTerrain
|
||||
@fm.file_revert("all_ones_1.physmaterial", r"AutomatedTesting\Levels\Physics\Material_DefaultMaterialLibraryChangesWork")
|
||||
@fm.file_override("default.physxconfiguration", "Material_DefaultMaterialLibraryChangesWork.physxconfiguration", "AutomatedTesting")
|
||||
def test_Material_DefaultMaterialLibraryChangesWork(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_DefaultMaterialLibraryChangesWork as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_SameCollisionGroupSameLayerCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_SameCollisionGroupSameLayerCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Ragdoll_OldRagdollSerializationNoErrors(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.ragdoll import Ragdoll_OldRagdollSerializationNoErrors as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_override("default.physxconfiguration", "ScriptCanvas_OverlapNode.physxconfiguration")
|
||||
def test_ScriptCanvas_OverlapNode(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_OverlapNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Material_StaticFriction(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_StaticFriction as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCollider")
|
||||
def test_Material_LibraryCrudOperationsReflectOnCollider(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnCollider as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCharacterController")
|
||||
def test_Material_LibraryCrudOperationsReflectOnCharacterController(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnCharacterController as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCollider")
|
||||
def test_Material_LibraryCrudOperationsReflectOnCollider(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnCollider as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
|
||||
@fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryCrudOperationsReflectOnCharacterController")
|
||||
def test_Material_LibraryCrudOperationsReflectOnCharacterController(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryCrudOperationsReflectOnCharacterController as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("c4044455_material_librarychangesinstantly.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\C4044455_Material_LibraryChangesInstantly")
|
||||
def test_Material_LibraryChangesReflectInstantly(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryChangesReflectInstantly as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@fm.file_revert("Material_LibraryUpdatedAcrossLevels.physmaterial",
|
||||
r"AutomatedTesting\Levels\Physics\Material_LibraryUpdatedAcrossLevels")
|
||||
def test_Material_LibraryUpdatedAcrossLevels(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryUpdatedAcrossLevels as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_RigidBody_LinearDampingAffectsMotion(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_LinearDampingAffectsMotion as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_CollisionAgainstRigidBody(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_CollisionAgainstRigidBody as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import ShapeCollider_CylinderShapeCollides as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Physics_WorldBodyBusWorksOnEditorComponents(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Physics_WorldBodyBusWorksOnEditorComponents as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_PxMeshErrorIfNoMesh(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshErrorIfNoMesh as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_ImpulsesBoxShapedRigidBody(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ImpulsesBoxShapedRigidBody as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_SpawnSecondTerrainComponentWarning(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_SpawnSecondTerrainComponentWarning as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_AddPhysTerrainComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_AddPhysTerrainComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_CanAddMultipleTerrainComponents(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_CanAddMultipleTerrainComponents as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_MultipleTerrainComponentsWarning(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_MultipleTerrainComponentsWarning as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_MultipleTerrainComponentsWarning(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_MultipleTerrainComponentsWarning as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_HighValuesDirectionAxesWorkWithNoError(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_HighValuesDirectionAxesWorkWithNoError as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Terrain_MultipleResolutionsValid(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_MultipleResolutionsValid as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_SmallMagnitudeDeviationOnLargeForces(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SmallMagnitudeDeviationOnLargeForces as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
@@ -0,0 +1,94 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
"""
|
||||
|
||||
# This suite consists of all test cases that are passing and have been verified.
|
||||
|
||||
import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .utils.FileManagement import FileManagement as fm
|
||||
from ly_test_tools import LAUNCHERS
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
|
||||
from base import TestAutomationBase
|
||||
|
||||
|
||||
revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', 'physxdefaultsceneconfiguration.setreg', 'physxsystemconfiguration.setreg'], 'AutomatedTesting/Registry')
|
||||
|
||||
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
def test_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_LocalSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_LocalSpaceForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_DynamicFriction.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_DynamicFriction(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_DynamicFriction as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_SameCollisionGroupDiffLayersCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_SameCollisionGroupDiffLayersCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.character_controller import CharacterController_SwitchLevels as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Ragdoll_AddPhysxRagdollComponentWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module
|
||||
# Fixme: This test previously relied on unexpected lines log reading with is now not supported.
|
||||
# Now the log reading must be done inside the test, preferably with the Tracer() utility
|
||||
# unexpected_lines = ["Assert"] + test_module.Lines.unexpected
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Collider_DiffCollisionGroupDiffCollidingLayersNotCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_DiffCollisionGroupDiffCollidingLayersNotCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Joints_HingeLeadFollowerCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_HingeLeadFollowerCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_PxMeshConvexMeshCollides(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
+93
-96
@@ -12,7 +12,7 @@ import inspect
|
||||
|
||||
from ly_test_tools import LAUNCHERS
|
||||
from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
|
||||
from .FileManagement import FileManagement as fm
|
||||
from .utils.FileManagement import FileManagement as fm
|
||||
|
||||
# Custom test spec, it provides functionality to override files
|
||||
class EditorSingleTest_WithFileOverrides(EditorSingleTest):
|
||||
@@ -21,7 +21,7 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest):
|
||||
# Base directory of the files (Default path is {ProjectName})
|
||||
base_dir = None
|
||||
# True will will search sub-directories for the files in base
|
||||
search_subdirs = False
|
||||
search_subdirs = True
|
||||
|
||||
@classmethod
|
||||
def wrap_run(cls, instance, request, workspace, editor, editor_test_results, launcher_platform):
|
||||
@@ -47,14 +47,14 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest):
|
||||
fm._backup_file(f, file_list[f])
|
||||
|
||||
for original, override in cls.files_to_override:
|
||||
fm._copy_file(override, file_list[override], original, file_list[override])
|
||||
fm._copy_file(override, file_list[override], original, file_list[original])
|
||||
|
||||
yield # Run Test
|
||||
for f in original_file_list:
|
||||
fm._restore_file(f, file_list[f])
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarly.")
|
||||
@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.")
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@@ -67,283 +67,280 @@ class TestAutomation(EditorTestSuite):
|
||||
#########################################
|
||||
# Non-atomic tests: These need to be run in a single editor because they have custom setup and teardown
|
||||
class C4044459_Material_DynamicFriction(EditorSingleTest_WithFileOverrides):
|
||||
from . import C4044459_Material_DynamicFriction as test_module
|
||||
from .tests.material import Material_DynamicFriction as test_module
|
||||
files_to_override = [
|
||||
('physxsystemconfiguration.setreg', 'C4044459_Material_DynamicFriction.setreg_override')
|
||||
('physxsystemconfiguration.setreg', 'Material_DynamicFriction.setreg_override')
|
||||
]
|
||||
base_dir = "AutomatedTesting/Registry"
|
||||
|
||||
class C4982593_PhysXCollider_CollisionLayerTest(EditorSingleTest_WithFileOverrides):
|
||||
from . import C4982593_PhysXCollider_CollisionLayerTest as test_module
|
||||
from .tests.collider import Collider_DiffCollisionGroupDiffCollidingLayersNotCollide as test_module
|
||||
files_to_override = [
|
||||
('physxsystemconfiguration.setreg', 'C4982593_PhysXCollider_CollisionLayer.setreg_override')
|
||||
('physxsystemconfiguration.setreg', 'Collider_DiffCollisionGroupDiffCollidingLayersNotCollide.setreg_override')
|
||||
]
|
||||
base_dir = "AutomatedTesting/Registry"
|
||||
#########################################
|
||||
|
||||
class C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(EditorSharedTest):
|
||||
from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module
|
||||
|
||||
class C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(EditorSharedTest):
|
||||
from . import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module
|
||||
from .tests.force_region import ForceRegion_LocalSpaceForceOnRigidBodies as test_module
|
||||
|
||||
class C15425929_Undo_Redo(EditorSharedTest):
|
||||
from . import C15425929_Undo_Redo as test_module
|
||||
from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module
|
||||
|
||||
class C4976243_Collision_SameCollisionGroupDiffCollisionLayers(EditorSharedTest):
|
||||
from . import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module
|
||||
from .tests.collider import Collider_SameCollisionGroupDiffLayersCollide as test_module
|
||||
|
||||
class C14654881_CharacterController_SwitchLevels(EditorSharedTest):
|
||||
from . import C14654881_CharacterController_SwitchLevels as test_module
|
||||
from .tests.character_controller import CharacterController_SwitchLevels as test_module
|
||||
|
||||
class C17411467_AddPhysxRagdollComponent(EditorSharedTest):
|
||||
from . import C17411467_AddPhysxRagdollComponent as test_module
|
||||
from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module
|
||||
|
||||
class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest):
|
||||
from . import C12712453_ScriptCanvas_MultipleRaycastNode as test_module
|
||||
from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module
|
||||
|
||||
class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest):
|
||||
from . import C18243586_Joints_HingeLeadFollowerCollide as test_module
|
||||
from .tests.joints import Joints_HingeLeadFollowerCollide as test_module
|
||||
|
||||
class C4982803_Enable_PxMesh_Option(EditorSharedTest):
|
||||
from . import C4982803_Enable_PxMesh_Option as test_module
|
||||
from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module
|
||||
|
||||
class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest):
|
||||
from . import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module
|
||||
from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module
|
||||
|
||||
class C3510642_Terrain_NotCollideWithTerrain(EditorSharedTest):
|
||||
from . import C3510642_Terrain_NotCollideWithTerrain as test_module
|
||||
from .tests.terrain import Terrain_NoPhysTerrainComponentNoCollision as test_module
|
||||
|
||||
class C4976195_RigidBodies_InitialLinearVelocity(EditorSharedTest):
|
||||
from . import C4976195_RigidBodies_InitialLinearVelocity as test_module
|
||||
from .tests.rigid_body import RigidBody_InitialLinearVelocity as test_module
|
||||
|
||||
class C4976206_RigidBodies_GravityEnabledActive(EditorSharedTest):
|
||||
from . import C4976206_RigidBodies_GravityEnabledActive as test_module
|
||||
from .tests.rigid_body import RigidBody_StartGravityEnabledWorks as test_module
|
||||
|
||||
class C4976207_PhysXRigidBodies_KinematicBehavior(EditorSharedTest):
|
||||
from . import C4976207_PhysXRigidBodies_KinematicBehavior as test_module
|
||||
from .tests.rigid_body import RigidBody_KinematicModeWorks as test_module
|
||||
|
||||
class C5932042_PhysXForceRegion_LinearDamping(EditorSharedTest):
|
||||
from . import C5932042_PhysXForceRegion_LinearDamping as test_module
|
||||
from .tests.force_region import ForceRegion_LinearDampingForceOnRigidBodies as test_module
|
||||
|
||||
class C5932043_ForceRegion_SimpleDragOnRigidBodies(EditorSharedTest):
|
||||
from . import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module
|
||||
from .tests.force_region import ForceRegion_SimpleDragForceOnRigidBodies as test_module
|
||||
|
||||
class C5959760_PhysXForceRegion_PointForceExertion(EditorSharedTest):
|
||||
from . import C5959760_PhysXForceRegion_PointForceExertion as test_module
|
||||
from .tests.force_region import ForceRegion_CapsuleShapedForce as test_module
|
||||
|
||||
class C5959764_ForceRegion_ForceRegionImpulsesCapsule(EditorSharedTest):
|
||||
from . import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module
|
||||
from .tests.force_region import ForceRegion_ImpulsesCapsuleShapedRigidBody as test_module
|
||||
|
||||
class C5340400_RigidBody_ManualMomentOfInertia(EditorSharedTest):
|
||||
from . import C5340400_RigidBody_ManualMomentOfInertia as test_module
|
||||
from .tests.rigid_body import RigidBody_MomentOfInertiaManualSetting as test_module
|
||||
|
||||
class C4976210_COM_ManualSetting(EditorSharedTest):
|
||||
from . import C4976210_COM_ManualSetting as test_module
|
||||
from .tests.rigid_body import RigidBody_COM_ManualSettingWorks as test_module
|
||||
|
||||
class C4976194_RigidBody_PhysXComponentIsValid(EditorSharedTest):
|
||||
from . import C4976194_RigidBody_PhysXComponentIsValid as test_module
|
||||
from .tests.rigid_body import RigidBody_AddRigidBodyComponent as test_module
|
||||
|
||||
class C5932045_ForceRegion_Spline(EditorSharedTest):
|
||||
from . import C5932045_ForceRegion_Spline as test_module
|
||||
from .tests.force_region import ForceRegion_SplineForceOnRigidBodies as test_module
|
||||
|
||||
class C4982797_Collider_ColliderOffset(EditorSharedTest):
|
||||
from . import C4982797_Collider_ColliderOffset as test_module
|
||||
from .tests.collider import Collider_ColliderPositionOffset as test_module
|
||||
|
||||
class C4976200_RigidBody_AngularDampingObjectRotation(EditorSharedTest):
|
||||
from . import C4976200_RigidBody_AngularDampingObjectRotation as test_module
|
||||
from .tests.rigid_body import RigidBody_AngularDampingAffectsRotation as test_module
|
||||
|
||||
class C5689529_Verify_Terrain_RigidBody_Collider_Mesh(EditorSharedTest):
|
||||
from . import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module
|
||||
from .tests import Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether as test_module
|
||||
|
||||
class C5959810_ForceRegion_ForceRegionCombinesForces(EditorSharedTest):
|
||||
from . import C5959810_ForceRegion_ForceRegionCombinesForces as test_module
|
||||
from .tests.force_region import ForceRegion_MultipleForcesInSameComponentCombineForces as test_module
|
||||
|
||||
class C5959765_ForceRegion_AssetGetsImpulsed(EditorSharedTest):
|
||||
from . import C5959765_ForceRegion_AssetGetsImpulsed as test_module
|
||||
from .tests.force_region import ForceRegion_ImpulsesPxMeshShapedRigidBody as test_module
|
||||
|
||||
class C6274125_ScriptCanvas_TriggerEvents(EditorSharedTest):
|
||||
from . import C6274125_ScriptCanvas_TriggerEvents as test_module
|
||||
from .tests.script_canvas import ScriptCanvas_TriggerEvents as test_module
|
||||
# needs to be updated to log for unexpected lines
|
||||
# expected_lines = test_module.LogLines.expected_lines
|
||||
|
||||
class C6090554_ForceRegion_PointForceNegative(EditorSharedTest):
|
||||
from . import C6090554_ForceRegion_PointForceNegative as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroPointForceDoesNothing as test_module
|
||||
|
||||
class C6090550_ForceRegion_WorldSpaceForceNegative(EditorSharedTest):
|
||||
from . import C6090550_ForceRegion_WorldSpaceForceNegative as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroWorldSpaceForceDoesNothing as test_module
|
||||
|
||||
class C6090552_ForceRegion_LinearDampingNegative(EditorSharedTest):
|
||||
from . import C6090552_ForceRegion_LinearDampingNegative as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroLinearDampingDoesNothing as test_module
|
||||
|
||||
class C5968760_ForceRegion_CheckNetForceChange(EditorSharedTest):
|
||||
from . import C5968760_ForceRegion_CheckNetForceChange as test_module
|
||||
from .tests.force_region import ForceRegion_MovingForceRegionChangesNetForce as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="Ongoing issue in Script Canvas, AZ::Event fail to compile on Script Canvas")
|
||||
class C12712452_ScriptCanvas_CollisionEvents(EditorSharedTest):
|
||||
from . import C12712452_ScriptCanvas_CollisionEvents as test_module
|
||||
from .tests.script_canvas import ScriptCanvas_CollisionEvents as test_module
|
||||
|
||||
class C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(EditorSharedTest):
|
||||
from . import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module
|
||||
from .tests.force_region import ForceRegion_DirectionHasNoAffectOnTotalForce as test_module
|
||||
|
||||
class C4976204_Verify_Start_Asleep_Condition(EditorSharedTest):
|
||||
from . import C4976204_Verify_Start_Asleep_Condition as test_module
|
||||
from .tests.rigid_body import RigidBody_StartAsleepWorks as test_module
|
||||
|
||||
class C6090546_ForceRegion_SliceFileInstantiates(EditorSharedTest):
|
||||
from . import C6090546_ForceRegion_SliceFileInstantiates as test_module
|
||||
from .tests.force_region import ForceRegion_SliceFileInstantiates as test_module
|
||||
|
||||
class C6090551_ForceRegion_LocalSpaceForceNegative(EditorSharedTest):
|
||||
from . import C6090551_ForceRegion_LocalSpaceForceNegative as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroLocalSpaceForceDoesNothing as test_module
|
||||
|
||||
class C6090553_ForceRegion_SimpleDragForceOnRigidBodies(EditorSharedTest):
|
||||
from . import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroSimpleDragForceDoesNothing as test_module
|
||||
|
||||
class C4976209_RigidBody_ComputesCOM(EditorSharedTest):
|
||||
from . import C4976209_RigidBody_ComputesCOM as test_module
|
||||
from .tests.rigid_body import RigidBody_COM_ComputingWorks as test_module
|
||||
|
||||
class C4976201_RigidBody_MassIsAssigned(EditorSharedTest):
|
||||
from . import C4976201_RigidBody_MassIsAssigned as test_module
|
||||
from .tests.rigid_body import RigidBody_MassDifferentValuesWorks as test_module
|
||||
|
||||
class C12868580_ForceRegion_SplineModifiedTransform(EditorSharedTest):
|
||||
from . import C12868580_ForceRegion_SplineModifiedTransform as test_module
|
||||
from .tests.force_region import ForceRegion_SplineRegionWithModifiedTransform as test_module
|
||||
|
||||
class C12712455_ScriptCanvas_ShapeCastVerification(EditorSharedTest):
|
||||
from . import C12712455_ScriptCanvas_ShapeCastVerification as test_module
|
||||
from .tests.script_canvas import ScriptCanvas_ShapeCast as test_module
|
||||
|
||||
class C4976197_RigidBodies_InitialAngularVelocity(EditorSharedTest):
|
||||
from . import C4976197_RigidBodies_InitialAngularVelocity as test_module
|
||||
from .tests.rigid_body import RigidBody_InitialAngularVelocity as test_module
|
||||
|
||||
class C6090555_ForceRegion_SplineFollowOnRigidBodies(EditorSharedTest):
|
||||
from . import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module
|
||||
from .tests.force_region import ForceRegion_ZeroSplineForceDoesNothing as test_module
|
||||
|
||||
class C6131473_StaticSlice_OnDynamicSliceSpawn(EditorSharedTest):
|
||||
from . import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module
|
||||
from .tests import Physics_DynamicSliceWithPhysNotSpawnsStaticSlice as test_module
|
||||
|
||||
class C5959808_ForceRegion_PositionOffset(EditorSharedTest):
|
||||
from . import C5959808_ForceRegion_PositionOffset as test_module
|
||||
from .tests.force_region import ForceRegion_PositionOffset as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="Something with the CryRenderer disabling is causing this test to fail now.")
|
||||
class C13895144_Ragdoll_ChangeLevel(EditorSharedTest):
|
||||
from . import C13895144_Ragdoll_ChangeLevel as test_module
|
||||
from .tests.ragdoll import Ragdoll_LevelSwitchDoesNotCrash as test_module
|
||||
|
||||
class C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(EditorSharedTest):
|
||||
from . import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module
|
||||
from .tests.force_region import ForceRegion_MultipleComponentsCombineForces as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.")
|
||||
class C4976202_RigidBody_StopsWhenBelowKineticThreshold(EditorSharedTest):
|
||||
from . import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module
|
||||
from .tests.rigid_body import RigidBody_SleepWhenBelowKineticThreshold as test_module
|
||||
|
||||
class C13351703_COM_NotIncludeTriggerShapes(EditorSharedTest):
|
||||
from . import C13351703_COM_NotIncludeTriggerShapes as test_module
|
||||
from .tests.rigid_body import RigidBody_COM_NotIncludesTriggerShapes as test_module
|
||||
|
||||
class C5296614_PhysXMaterial_ColliderShape(EditorSharedTest):
|
||||
from . import C5296614_PhysXMaterial_ColliderShape as test_module
|
||||
from .tests.material import Material_NoEffectIfNoColliderShape as test_module
|
||||
|
||||
class C4982595_Collider_TriggerDisablesCollision(EditorSharedTest):
|
||||
from . import C4982595_Collider_TriggerDisablesCollision as test_module
|
||||
from .tests.collider import Collider_TriggerPassThrough as test_module
|
||||
|
||||
class C14976307_Gravity_SetGravityWorks(EditorSharedTest):
|
||||
from . import C14976307_Gravity_SetGravityWorks as test_module
|
||||
from .tests.rigid_body import RigidBody_SetGravityWorks as test_module
|
||||
|
||||
class C4044694_Material_EmptyLibraryUsesDefault(EditorSharedTest):
|
||||
from . import C4044694_Material_EmptyLibraryUsesDefault as test_module
|
||||
from .tests.material import Material_EmptyLibraryUsesDefault as test_module
|
||||
|
||||
class C15845879_ForceRegion_HighLinearDampingForce(EditorSharedTest):
|
||||
from . import C15845879_ForceRegion_HighLinearDampingForce as test_module
|
||||
from .tests.force_region import ForceRegion_NoQuiverOnHighLinearDampingForce as test_module
|
||||
|
||||
class C4976218_RigidBodies_InertiaObjectsNotComputed(EditorSharedTest):
|
||||
from . import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module
|
||||
from .tests.rigid_body import RigidBody_ComputeInertiaWorks as test_module
|
||||
|
||||
class C14902098_ScriptCanvas_PostPhysicsUpdate(EditorSharedTest):
|
||||
from . import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module
|
||||
from .tests.script_canvas import ScriptCanvas_PostPhysicsUpdate as test_module
|
||||
# Note: Test needs to be updated to log for unexpected lines
|
||||
# unexpected_lines = ["Assert"] + test_module.Lines.unexpected
|
||||
|
||||
class C5959761_ForceRegion_PhysAssetExertsPointForce(EditorSharedTest):
|
||||
from . import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module
|
||||
from .tests.force_region import ForceRegion_PxMeshShapedForce as test_module
|
||||
|
||||
# Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146
|
||||
# The test still runs, but a failure of the test doesn't result in the test run failing
|
||||
@pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity")
|
||||
class C13352089_RigidBodies_MaxAngularVelocity(EditorSharedTest):
|
||||
from . import C13352089_RigidBodies_MaxAngularVelocity as test_module
|
||||
from .tests.rigid_body import RigidBody_MaxAngularVelocityWorks as test_module
|
||||
|
||||
class C18243584_Joints_HingeSoftLimitsConstrained(EditorSharedTest):
|
||||
from . import C18243584_Joints_HingeSoftLimitsConstrained as test_module
|
||||
from .tests.joints import Joints_HingeSoftLimitsConstrained as test_module
|
||||
|
||||
class C18243589_Joints_BallSoftLimitsConstrained(EditorSharedTest):
|
||||
from . import C18243589_Joints_BallSoftLimitsConstrained as test_module
|
||||
from .tests.joints import Joints_BallSoftLimitsConstrained as test_module
|
||||
|
||||
class C18243591_Joints_BallLeadFollowerCollide(EditorSharedTest):
|
||||
from . import C18243591_Joints_BallLeadFollowerCollide as test_module
|
||||
from .tests.joints import Joints_BallLeadFollowerCollide as test_module
|
||||
|
||||
class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest):
|
||||
from . import C19578018_ShapeColliderWithNoShapeComponent as test_module
|
||||
from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module
|
||||
|
||||
class C14861500_DefaultSetting_ColliderShape(EditorSharedTest):
|
||||
from . import C14861500_DefaultSetting_ColliderShape as test_module
|
||||
from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module
|
||||
|
||||
class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest):
|
||||
from . import C19723164_ShapeColliders_WontCrashEditor as test_module
|
||||
from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module
|
||||
|
||||
class C4982800_PhysXColliderShape_CanBeSelected(EditorSharedTest):
|
||||
from . import C4982800_PhysXColliderShape_CanBeSelected as test_module
|
||||
from .tests.collider import Collider_SphereShapeEditting as test_module
|
||||
|
||||
class C4982801_PhysXColliderShape_CanBeSelected(EditorSharedTest):
|
||||
from . import C4982801_PhysXColliderShape_CanBeSelected as test_module
|
||||
from .tests.collider import Collider_BoxShapeEditting as test_module
|
||||
|
||||
class C4982802_PhysXColliderShape_CanBeSelected(EditorSharedTest):
|
||||
from . import C4982802_PhysXColliderShape_CanBeSelected as test_module
|
||||
from .tests.collider import Collider_CapsuleShapeEditting as test_module
|
||||
|
||||
class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest):
|
||||
from . import C12905528_ForceRegion_WithNonTriggerCollider as test_module
|
||||
from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module
|
||||
# Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"]
|
||||
|
||||
class C5932040_ForceRegion_CubeExertsWorldForce(EditorSharedTest):
|
||||
from . import C5932040_ForceRegion_CubeExertsWorldForce as test_module
|
||||
from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module
|
||||
|
||||
class C5932044_ForceRegion_PointForceOnRigidBody(EditorSharedTest):
|
||||
from . import C5932044_ForceRegion_PointForceOnRigidBody as test_module
|
||||
from .tests.force_region import ForceRegion_PointForceOnRigidBodies as test_module
|
||||
|
||||
class C5959759_RigidBody_ForceRegionSpherePointForce(EditorSharedTest):
|
||||
from . import C5959759_RigidBody_ForceRegionSpherePointForce as test_module
|
||||
from .tests.force_region import ForceRegion_SphereShapedForce as test_module
|
||||
|
||||
class C5959809_ForceRegion_RotationalOffset(EditorSharedTest):
|
||||
from . import C5959809_ForceRegion_RotationalOffset as test_module
|
||||
from .tests.force_region import ForceRegion_RotationalOffset as test_module
|
||||
|
||||
class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest):
|
||||
from . import C15096740_Material_LibraryUpdatedCorrectly as test_module
|
||||
from .tests.material import Material_LibraryClearingAssignsDefault as test_module
|
||||
|
||||
class C4976236_AddPhysxColliderComponent(EditorSharedTest):
|
||||
from . import C4976236_AddPhysxColliderComponent as test_module
|
||||
|
||||
from .tests.collider import Collider_AddColliderComponent as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.")
|
||||
class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest):
|
||||
from . import C14861502_PhysXCollider_AssetAutoAssigned as test_module
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module
|
||||
|
||||
class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest):
|
||||
from . import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module
|
||||
|
||||
class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest):
|
||||
from . import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module
|
||||
from .tests.collider import Collider_MultipleSurfaceSlots as test_module
|
||||
|
||||
class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest):
|
||||
from . import C14861504_RenderMeshAsset_WithNoPxAsset as test_module
|
||||
from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module
|
||||
|
||||
class C100000_RigidBody_EnablingGravityWorksPoC(EditorSharedTest):
|
||||
from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module
|
||||
|
||||
class C4982798_Collider_ColliderRotationOffset(EditorSharedTest):
|
||||
from . import C4982798_Collider_ColliderRotationOffset as test_module
|
||||
|
||||
class C15308217_NoCrash_LevelSwitch(EditorSharedTest):
|
||||
from . import C15308217_NoCrash_LevelSwitch as test_module
|
||||
from .tests.collider import Collider_ColliderRotationOffset as test_module
|
||||
|
||||
class C6090547_ForceRegion_ParentChildForceRegions(EditorSharedTest):
|
||||
from . import C6090547_ForceRegion_ParentChildForceRegions as test_module
|
||||
from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module
|
||||
|
||||
class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest):
|
||||
from . import C19578021_ShapeCollider_CanBeAdded as test_module
|
||||
from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module
|
||||
|
||||
class C15425929_Undo_Redo(EditorSharedTest):
|
||||
from . import C15425929_Undo_Redo as test_module
|
||||
from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module
|
||||
@@ -0,0 +1,556 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
"""
|
||||
|
||||
# This suite consists of all test cases that are passing and have been verified.
|
||||
|
||||
import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .utils.FileManagement import FileManagement as fm
|
||||
from ly_test_tools import LAUNCHERS
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
|
||||
from base import TestAutomationBase
|
||||
|
||||
|
||||
revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', 'physxdefaultsceneconfiguration.setreg', 'physxsystemconfiguration.setreg'], 'AutomatedTesting/Registry')
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
@revert_physics_config
|
||||
def test_Terrain_NoPhysTerrainComponentNoCollision(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.terrain import Terrain_NoPhysTerrainComponentNoCollision as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_InitialLinearVelocity(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_InitialLinearVelocity as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_StartGravityEnabledWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_StartGravityEnabledWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_KinematicModeWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_KinematicModeWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_LinearDampingForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_LinearDampingForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_SimpleDragForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SimpleDragForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_CapsuleShapedForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_CapsuleShapedForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ImpulsesCapsuleShapedRigidBody(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ImpulsesCapsuleShapedRigidBody as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_MomentOfInertiaManualSetting(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_MomentOfInertiaManualSetting as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_COM_ManualSettingWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_COM_ManualSettingWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_AddRigidBodyComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_AddRigidBodyComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_SplineForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SplineForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_RestitutionCombine.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_RestitutionCombine(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_RestitutionCombine as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_FrictionCombine.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_FrictionCombine(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_FrictionCombine as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_ColliderPositionOffset(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_ColliderPositionOffset as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_AngularDampingAffectsRotation(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_AngularDampingAffectsRotation as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_MultipleForcesInSameComponentCombineForces(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_MultipleForcesInSameComponentCombineForces as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ImpulsesPxMeshShapedRigidBody(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ImpulsesPxMeshShapedRigidBody as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_TriggerEvents(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_TriggerEvents as test_module
|
||||
# FIXME: expected_lines = test_module.LogLines.expected_lines
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroPointForceDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroPointForceDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroWorldSpaceForceDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroWorldSpaceForceDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroLinearDampingDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroLinearDampingDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_MovingForceRegionChangesNetForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_MovingForceRegionChangesNetForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_CollisionEvents(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_CollisionEvents as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_DirectionHasNoAffectOnTotalForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_DirectionHasNoAffectOnTotalForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_StartAsleepWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_StartAsleepWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_SliceFileInstantiates(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SliceFileInstantiates as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroLocalSpaceForceDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroLocalSpaceForceDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroSimpleDragForceDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroSimpleDragForceDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_COM_ComputingWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_COM_ComputingWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_MassDifferentValuesWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_MassDifferentValuesWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_RestitutionCombinePriorityOrder.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_RestitutionCombinePriorityOrder(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_RestitutionCombinePriorityOrder as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_SplineRegionWithModifiedTransform(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SplineRegionWithModifiedTransform as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_ShapeCast(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_ShapeCast as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_InitialAngularVelocity(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_InitialAngularVelocity as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ZeroSplineForceDoesNothing(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ZeroSplineForceDoesNothing as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Physics_DynamicSliceWithPhysNotSpawnsStaticSlice(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Physics_DynamicSliceWithPhysNotSpawnsStaticSlice as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_PositionOffset(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_PositionOffset as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_FrictionCombinePriorityOrder.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_FrictionCombinePriorityOrder(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_FrictionCombinePriorityOrder as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(
|
||||
reason="Something with the CryRenderer disabling is causing this test to fail now.")
|
||||
@revert_physics_config
|
||||
def test_Ragdoll_LevelSwitchDoesNotCrash(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.ragdoll import Ragdoll_LevelSwitchDoesNotCrash as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_MultipleComponentsCombineForces(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_MultipleComponentsCombineForces as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Marking the test as an expected failure due to sporadic failure on Automated Review: LYN-2580
|
||||
# The test still runs, but a failure of the test doesn't result in the test run failing
|
||||
@pytest.mark.xfail(
|
||||
reason="This test needs new physics asset with multiple materials to be more stable.")
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg', 'Material_PerFaceMaterialGetsCorrectMaterial.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_PerFaceMaterialGetsCorrectMaterial(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_PerFaceMaterialGetsCorrectMaterial as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(
|
||||
reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.")
|
||||
@revert_physics_config
|
||||
def test_RigidBody_SleepWhenBelowKineticThreshold(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_SleepWhenBelowKineticThreshold as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_COM_NotIncludesTriggerShapes(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_COM_NotIncludesTriggerShapes as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Material_NoEffectIfNoColliderShape(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_NoEffectIfNoColliderShape as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_TriggerPassThrough(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_TriggerPassThrough as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_SetGravityWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_SetGravityWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_CharacterController.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_CharacterController(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_CharacterController as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Material_EmptyLibraryUsesDefault(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_EmptyLibraryUsesDefault as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_NoQuiverOnHighLinearDampingForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_NoQuiverOnHighLinearDampingForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_RigidBody_ComputeInertiaWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_ComputeInertiaWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_PostPhysicsUpdate(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_PostPhysicsUpdate as test_module
|
||||
# Fixme: unexpected_lines = ["Assert"] + test_module.Lines.unexpected
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Collider_NoneCollisionGroupSameLayerNotCollide.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Collider_NoneCollisionGroupSameLayerNotCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_NoneCollisionGroupSameLayerNotCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Collider_SameCollisionGroupSameCustomLayerCollide.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Collider_SameCollisionGroupSameCustomLayerCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_SameCollisionGroupSameCustomLayerCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxdefaultsceneconfiguration.setreg','ScriptCanvas_PostUpdateEvent.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_ScriptCanvas_PostUpdateEvent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_PostUpdateEvent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Material_Restitution.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Material_Restitution(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_Restitution as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxdefaultsceneconfiguration.setreg', 'ScriptCanvas_PreUpdateEvent.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_ScriptCanvas_PreUpdateEvent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_PreUpdateEvent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_PxMeshShapedForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_PxMeshShapedForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146
|
||||
# The test still runs, but a failure of the test doesn't result in the test run failing
|
||||
@pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity")
|
||||
@revert_physics_config
|
||||
def test_RigidBody_MaxAngularVelocityWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_MaxAngularVelocityWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Joints_HingeSoftLimitsConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_HingeSoftLimitsConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Joints_BallSoftLimitsConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_BallSoftLimitsConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Joints_BallLeadFollowerCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_BallLeadFollowerCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Collider_AddingNewGroupWorks.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Collider_AddingNewGroupWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_AddingNewGroupWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_InactiveWhenNoShapeComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_CheckDefaultShapeSettingIsPxMesh(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_SphereShapeEditting(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_SphereShapeEditting as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_BoxShapeEditting(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_BoxShapeEditting as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_CapsuleShapeEditting(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_CapsuleShapeEditting as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_WithNonTriggerColliderWarning(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module
|
||||
# Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"]
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_WorldSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_PointForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_PointForceOnRigidBodies as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_SphereShapedForce(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_SphereShapedForce as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_RotationalOffset(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_RotationalOffset as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Material_LibraryClearingAssignsDefault(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryClearingAssignsDefault as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_AddColliderComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_AddColliderComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(
|
||||
reason="This will fail due to this issue ATOM-15487.")
|
||||
def test_Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_MultipleSurfaceSlots(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_MultipleSurfaceSlots as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
@fm.file_override('physxsystemconfiguration.setreg','Collider_CollisionGroupsWorkflow.setreg_override',
|
||||
'AutomatedTesting/Registry', search_subdirs=True)
|
||||
def test_Collider_CollisionGroupsWorkflow(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_CollisionGroupsWorkflow as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_ColliderRotationOffset(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_ColliderRotationOffset as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ForceRegion_ParentChildForcesCombineForces(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_CanBeAddedWitNoWarnings(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Physics_UndoRedoWorksOnEntityWithPhysComponents(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_Fixed2BodiesConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_Fixed2BodiesConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_Hinge2BodiesConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_Hinge2BodiesConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_Ball2BodiesConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_Ball2BodiesConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_FixedBreakable(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_FixedBreakable as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_HingeBreakable(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_HingeBreakable as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_BallBreakable(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_BallBreakable as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_HingeNoLimitsConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_HingeNoLimitsConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_BallNoLimitsConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_BallNoLimitsConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_FixedLeadFollowerCollide(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_FixedLeadFollowerCollide as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Joints_GlobalFrameConstrained(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.joints import Joints_GlobalFrameConstrained as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Material_DefaultLibraryUpdatedAcrossLevels(self, request, workspace, editor, launcher_platform):
|
||||
@fm.file_override("physxsystemconfiguration.setreg",
|
||||
"Material_DefaultLibraryUpdatedAcrossLevels_before.setreg",
|
||||
"AutomatedTesting",
|
||||
search_subdirs=True)
|
||||
def levels_before(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_DefaultLibraryUpdatedAcrossLevels_before as test_module_0
|
||||
self._run_test(request, workspace, editor, test_module_0)
|
||||
|
||||
# File override replaces the previous physxconfiguration file with another where the only difference is the default material library
|
||||
@fm.file_override("physxsystemconfiguration.setreg",
|
||||
"Material_DefaultLibraryUpdatedAcrossLevels_after.setreg",
|
||||
"AutomatedTesting",
|
||||
search_subdirs=True)
|
||||
def levels_after(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_DefaultLibraryUpdatedAcrossLevels_after as test_module_1
|
||||
self._run_test(request, workspace, editor, test_module_1)
|
||||
|
||||
levels_before(self, request, workspace, editor, launcher_platform)
|
||||
levels_after(self, request, workspace, editor, launcher_platform)
|
||||
Executable → Regular
+5
-13
@@ -12,7 +12,7 @@ import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .FileManagement import FileManagement as fm
|
||||
from .utils.FileManagement import FileManagement as fm
|
||||
from ly_test_tools import LAUNCHERS
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
@@ -29,25 +29,17 @@ revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', '
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
## Seems to be flaky, need to investigate
|
||||
def test_C19536274_GetCollisionName_PrintsName(self, request, workspace, editor, launcher_platform):
|
||||
from . import C19536274_GetCollisionName_PrintsName as test_module
|
||||
def test_ScriptCanvas_GetCollisionNameReturnsName(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_GetCollisionNameReturnsName as test_module
|
||||
# Fixme: expected_lines=["Layer Name: Right"]
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
## Seems to be flaky, need to investigate
|
||||
def test_C19536277_GetCollisionName_PrintsNothing(self, request, workspace, editor, launcher_platform):
|
||||
from . import C19536277_GetCollisionName_PrintsNothing as test_module
|
||||
def test_ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.script_canvas import ScriptCanvas_GetCollisionNameReturnsNothingWhenHasToggledLayer as test_module
|
||||
# All groups present in the PhysX Collider that could show up in test
|
||||
# Fixme: collision_groups = ["All", "None", "All_NoTouchBend", "All_3", "None_1", "All_NoTouchBend_1", "All_2", "None_1_1", "All_NoTouchBend_1_1", "All_1", "None_1_1_1", "All_NoTouchBend_1_1_1", "All_4", "None_1_1_1_1", "All_NoTouchBend_1_1_1_1", "GroupLeft", "GroupRight"]
|
||||
# Fixme: for group in collision_groups:
|
||||
# Fixme: unexpected_lines.append(f"GroupName: {group}")
|
||||
# Fixme: expected_lines=["GroupName: "]
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
## Seems to be flaky, need to investigate
|
||||
@pytest.mark.xfail(
|
||||
reason="Editor crashes and errors about files accessed by multiple processes appear in the log.")
|
||||
@revert_physics_config
|
||||
def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform):
|
||||
from . import C15425929_Undo_Redo as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
+3
-3
@@ -29,14 +29,14 @@ class TestUtils(TestAutomationBase):
|
||||
:param request: Built in pytest object, and is needed to call the pytest "addfinalizer" teardown command.
|
||||
:editor: Fixture containing editor details
|
||||
"""
|
||||
from . import UtilTest_Physmaterial_Editor as physmaterial_editor_test_module
|
||||
from .utils import UtilTest_Physmaterial_Editor as physmaterial_editor_test_module
|
||||
|
||||
expected_lines = []
|
||||
unexpected_lines = ["Assert"]
|
||||
self._run_test(request, workspace, editor, physmaterial_editor_test_module, expected_lines, unexpected_lines)
|
||||
|
||||
def test_UtilTest_Tracer_PicksErrorsAndWarnings(self, request, workspace, editor):
|
||||
from . import UtilTest_Tracer_PicksErrorsAndWarnings as testcase_module
|
||||
from .utils import UtilTest_Tracer_PicksErrorsAndWarnings as testcase_module
|
||||
self._run_test(request, workspace, editor, testcase_module, [], [])
|
||||
|
||||
def test_FileManagement_FindingFiles(self, workspace):
|
||||
@@ -262,7 +262,7 @@ class TestUtils(TestAutomationBase):
|
||||
)
|
||||
@fm.file_override("default.physxconfiguration", "UtilTest_PhysxConfig_Override.physxconfiguration")
|
||||
def test_UtilTest_Managed_Files(self, request, workspace, editor):
|
||||
from . import UtilTest_Managed_Files as test_module
|
||||
from .utils import UtilTest_Managed_Files as test_module
|
||||
|
||||
expected_lines = []
|
||||
unexpected_lines = ["Assert"]
|
||||
Executable → Regular
+3
-11
@@ -21,7 +21,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C6131473_StaticSlice_OnDynamicSliceSpawn():
|
||||
def Physics_DynamicSliceWithPhysNotSpawnsStaticSlice():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -58,11 +58,6 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -76,7 +71,7 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C6131473_StaticSlice_OnDynamicSliceSpawn")
|
||||
helper.open_level("Physics", "Physics_DynamicSliceWithPhysNotSpawnsStaticSlice")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -103,8 +98,5 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C6131473_StaticSlice_OnDynamicSliceSpawn)
|
||||
Report.start_test(Physics_DynamicSliceWithPhysNotSpawnsStaticSlice)
|
||||
Executable → Regular
+3
-11
@@ -20,7 +20,7 @@ class Tests:
|
||||
# fmt: off
|
||||
|
||||
|
||||
def C15425929_Undo_Redo():
|
||||
def Physics_UndoRedoWorksOnEntityWithPhysComponents():
|
||||
"""
|
||||
Summary:
|
||||
Tests that no error messages arise when using the undo and redo functions in the editor.
|
||||
@@ -44,11 +44,6 @@ def C15425929_Undo_Redo():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
@@ -58,7 +53,7 @@ def C15425929_Undo_Redo():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Load the level
|
||||
helper.open_level("Physics", "C15425929_Undo_Redo")
|
||||
helper.open_level("Physics", "Physics_UndoRedoWorksOnEntityWithPhysComponents")
|
||||
|
||||
with Tracer() as error_tracer:
|
||||
# Entity to delete and undo and re-delete
|
||||
@@ -91,8 +86,5 @@ def C15425929_Undo_Redo():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C15425929_Undo_Redo)
|
||||
Report.start_test(Physics_UndoRedoWorksOnEntityWithPhysComponents)
|
||||
+3
-11
@@ -23,7 +23,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5689529_Verify_Terrain_RigidBody_Collider_Mesh():
|
||||
def Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -58,11 +58,6 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -76,7 +71,7 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5689529_Verify_Terrain_RigidBody_Collider_Mesh")
|
||||
helper.open_level("Physics", "Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -106,8 +101,5 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5689529_Verify_Terrain_RigidBody_Collider_Mesh)
|
||||
Report.start_test(Physics_VerifyColliderRigidBodyMeshAndTerrainWorkTogether)
|
||||
Executable → Regular
+3
-11
@@ -48,7 +48,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C29032500_EditorComponents_WorldBodyBusWorks():
|
||||
def Physics_WorldBodyBusWorksOnEditorComponents():
|
||||
r"""
|
||||
Summary:
|
||||
Runs a test to make sure that a WorldBodyBus works property for components
|
||||
@@ -82,11 +82,6 @@ def C29032500_EditorComponents_WorldBodyBusWorks():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.bus
|
||||
import math
|
||||
@@ -97,7 +92,7 @@ def C29032500_EditorComponents_WorldBodyBusWorks():
|
||||
AABB_THRESHOLD = 0.01 # Entities won't move in the simulation
|
||||
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C29032500_EditorComponents_WorldBodyBusWorks")
|
||||
helper.open_level("Physics", "Physics_WorldBodyBusWorksOnEditorComponents")
|
||||
|
||||
def create_aabb(aabb_min_tuple, aabb_max_tuple):
|
||||
return azlmbr.math.Aabb_CreateFromMinMax(azlmbr.math.Vector3(aabb_min_tuple[0], aabb_min_tuple[1], aabb_min_tuple[2]),
|
||||
@@ -154,8 +149,5 @@ def C29032500_EditorComponents_WorldBodyBusWorks():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C29032500_EditorComponents_WorldBodyBusWorks)
|
||||
Report.start_test(Physics_WorldBodyBusWorksOnEditorComponents)
|
||||
+4
-12
@@ -23,7 +23,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C14654881_CharacterController_SwitchLevels():
|
||||
def CharacterController_SwitchLevels():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to verify that switching levels from a level containing a character controller component
|
||||
@@ -53,11 +53,6 @@ def C14654881_CharacterController_SwitchLevels():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -69,7 +64,7 @@ def C14654881_CharacterController_SwitchLevels():
|
||||
helper.init_idle()
|
||||
|
||||
# 1.1) Load level 1 (with character controller)
|
||||
helper.open_level("Physics", "C14654881_CharacterController_SwitchLevels")
|
||||
helper.open_level("Physics", "CharacterController_SwitchLevels")
|
||||
|
||||
# 1.2) Enter game mode
|
||||
helper.enter_game_mode(Tests.level1_enter_game_mode)
|
||||
@@ -82,7 +77,7 @@ def C14654881_CharacterController_SwitchLevels():
|
||||
helper.exit_game_mode(Tests.level1_exit_game_mode)
|
||||
|
||||
# 2.1) Load level 2 (empty level)
|
||||
helper.open_level("Physics", "C14654881_CharacterController_SwitchLevelsEmpty")
|
||||
helper.open_level("Physics", "Base")
|
||||
|
||||
# 2.2) Enter game mode
|
||||
helper.enter_game_mode(Tests.level2_enter_game_mode)
|
||||
@@ -93,8 +88,5 @@ def C14654881_CharacterController_SwitchLevels():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C14654881_CharacterController_SwitchLevels)
|
||||
Report.start_test(CharacterController_SwitchLevels)
|
||||
Executable → Regular
+3
-8
@@ -20,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976236_AddPhysxColliderComponent():
|
||||
def Collider_AddColliderComponent():
|
||||
"""
|
||||
Summary:
|
||||
Opens an empty level and creates an Entity with PhysX Collider. Verify that editor remains stable in Game mode.
|
||||
@@ -42,14 +42,12 @@ def C4976236_AddPhysxColliderComponent():
|
||||
"""
|
||||
|
||||
# Helper file Imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
@@ -84,8 +82,5 @@ def C4976236_AddPhysxColliderComponent():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976236_AddPhysxColliderComponent)
|
||||
Report.start_test(Collider_AddColliderComponent)
|
||||
Executable → Regular
+3
-11
@@ -20,7 +20,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976227_Collider_NewGroup():
|
||||
def Collider_AddingNewGroupWorks():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that a collision group can be added.
|
||||
@@ -51,11 +51,6 @@ def C4976227_Collider_NewGroup():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -64,7 +59,7 @@ def C4976227_Collider_NewGroup():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Open Level
|
||||
helper.open_level("Physics", "C4976227_Collider_NewGroup")
|
||||
helper.open_level("Physics", "Collider_AddingNewGroupWorks")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -84,8 +79,5 @@ def C4976227_Collider_NewGroup():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976227_Collider_NewGroup)
|
||||
Report.start_test(Collider_AddingNewGroupWorks)
|
||||
Executable → Regular
+2
-7
@@ -19,7 +19,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982801_PhysXColliderShape_CanBeSelected():
|
||||
def Collider_BoxShapeEditting():
|
||||
"""
|
||||
Summary:
|
||||
Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions
|
||||
@@ -43,9 +43,7 @@ def C4982801_PhysXColliderShape_CanBeSelected():
|
||||
:return: None
|
||||
"""
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -103,8 +101,5 @@ def C4982801_PhysXColliderShape_CanBeSelected():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982801_PhysXColliderShape_CanBeSelected)
|
||||
Report.start_test(Collider_BoxShapeEditting)
|
||||
Executable → Regular
+2
-7
@@ -19,7 +19,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982802_PhysXColliderShape_CanBeSelected():
|
||||
def Collider_CapsuleShapeEditting():
|
||||
"""
|
||||
Summary:
|
||||
Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions
|
||||
@@ -43,9 +43,7 @@ def C4982802_PhysXColliderShape_CanBeSelected():
|
||||
:return: None
|
||||
"""
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -103,8 +101,5 @@ def C4982802_PhysXColliderShape_CanBeSelected():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982802_PhysXColliderShape_CanBeSelected)
|
||||
Report.start_test(Collider_CapsuleShapeEditting)
|
||||
Executable → Regular
+2
-7
@@ -18,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C14861500_DefaultSetting_ColliderShape():
|
||||
def Collider_CheckDefaultShapeSettingIsPxMesh():
|
||||
"""
|
||||
Summary:
|
||||
Check the default for Shape on the PhysX Collider component
|
||||
@@ -40,9 +40,7 @@ def C14861500_DefaultSetting_ColliderShape():
|
||||
:return: None
|
||||
"""
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -70,8 +68,5 @@ def C14861500_DefaultSetting_ColliderShape():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C14861500_DefaultSetting_ColliderShape)
|
||||
Report.start_test(Collider_CheckDefaultShapeSettingIsPxMesh)
|
||||
Executable → Regular
+3
-8
@@ -25,7 +25,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982797_Collider_ColliderOffset():
|
||||
def Collider_ColliderPositionOffset():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -87,9 +87,7 @@ def C4982797_Collider_ColliderOffset():
|
||||
import sys
|
||||
|
||||
# Internal editor imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -289,7 +287,7 @@ def C4982797_Collider_ColliderOffset():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C4982797_Collider_ColliderOffset")
|
||||
helper.open_level("Physics", "Collider_ColliderPositionOffset")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -332,8 +330,5 @@ def C4982797_Collider_ColliderOffset():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982797_Collider_ColliderOffset)
|
||||
Report.start_test(Collider_ColliderPositionOffset)
|
||||
Executable → Regular
+3
-8
@@ -29,7 +29,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982798_Collider_ColliderRotationOffset():
|
||||
def Collider_ColliderRotationOffset():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -86,9 +86,7 @@ def C4982798_Collider_ColliderRotationOffset():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
# Internal editor imports
|
||||
@@ -257,7 +255,7 @@ def C4982798_Collider_ColliderRotationOffset():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C4982798_Collider_ColliderRotationOffset")
|
||||
helper.open_level("Physics", "Collider_ColliderRotationOffset")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -300,8 +298,5 @@ def C4982798_Collider_ColliderRotationOffset():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982798_Collider_ColliderRotationOffset)
|
||||
Report.start_test(Collider_ColliderRotationOffset)
|
||||
Executable → Regular
+3
-11
@@ -38,7 +38,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C3510644_Collider_CollisionGroups():
|
||||
def Collider_CollisionGroupsWorkflow():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -90,11 +90,6 @@ def C3510644_Collider_CollisionGroups():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -266,7 +261,7 @@ def C3510644_Collider_CollisionGroups():
|
||||
|
||||
# 1) Open level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C3510644_Collider_CollisionGroups")
|
||||
helper.open_level("Physics", "Collider_CollisionGroupsWorkflow")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -362,8 +357,5 @@ def C3510644_Collider_CollisionGroups():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C3510644_Collider_CollisionGroups)
|
||||
Report.start_test(Collider_CollisionGroupsWorkflow)
|
||||
+3
-11
@@ -30,7 +30,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982593_PhysXCollider_CollisionLayerTest():
|
||||
def Collider_DiffCollisionGroupDiffCollidingLayersNotCollide():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -67,11 +67,6 @@ def C4982593_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -101,7 +96,7 @@ def C4982593_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
# 1) Open level / Enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C4982593_PhysxCollider_CollisionLayerTest")
|
||||
helper.open_level("Physics", "Collider_DiffCollisionGroupDiffCollidingLayersNotCollide")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve/validate entities
|
||||
@@ -231,8 +226,5 @@ def C4982593_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982593_PhysXCollider_CollisionLayerTest)
|
||||
Report.start_test(Collider_DiffCollisionGroupDiffCollidingLayersNotCollide)
|
||||
Executable → Regular
+7
-12
@@ -23,7 +23,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4044695_PhysXCollider_AddMultipleSurfaceFbx():
|
||||
def Collider_MultipleSurfaceSlots():
|
||||
"""
|
||||
Summary:
|
||||
Create entity with Mesh and PhysX Collider components and assign a fbx file in both the components.
|
||||
@@ -48,21 +48,19 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx():
|
||||
import os
|
||||
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
# Constants
|
||||
PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property
|
||||
SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset
|
||||
|
||||
# Asset paths
|
||||
STATIC_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.azmodel")
|
||||
PHYSX_MESH = os.path.join("assets", "c4044695_physxcollider_addmultiplesurfacefbx", "test.pxmesh")
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_MultipleSurfaceSlots", "test.azmodel")
|
||||
PHYSX_MESH = os.path.join("assets", "Physics","Collider_MultipleSurfaceSlots", "test.pxmesh")
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
@@ -88,12 +86,12 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx():
|
||||
px_asset = Asset.find_asset_by_path(PHYSX_MESH)
|
||||
collider_component.set_component_property_value("Shape Configuration|Asset|PhysX Mesh", px_asset.id)
|
||||
px_asset.id = collider_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh")
|
||||
Report.result(Tests.assign_px_mesh_asset, px_asset.get_path() == PHYSX_MESH.replace(os.sep, "/"))
|
||||
Report.result(Tests.assign_px_mesh_asset, px_asset.get_path().lower() == PHYSX_MESH.replace(os.sep, "/").lower())
|
||||
|
||||
mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
|
||||
mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
|
||||
mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower())
|
||||
|
||||
# 6) Check if multiple material slots show up under Materials section in the PhysX Collider component
|
||||
pte = collider_component.get_property_tree()
|
||||
@@ -107,8 +105,5 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4044695_PhysXCollider_AddMultipleSurfaceFbx)
|
||||
Report.start_test(Collider_MultipleSurfaceSlots)
|
||||
+3
-11
@@ -30,7 +30,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976245_PhysXCollider_CollisionLayerTest():
|
||||
def Collider_NoneCollisionGroupSameLayerNotCollide():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -67,11 +67,6 @@ def C4976245_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -110,7 +105,7 @@ def C4976245_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
# 1) Open level / Enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C4976245_PhysxCollider_CollisionLayerTest")
|
||||
helper.open_level("Physics", "Collider_NoneCollisionGroupSameLayerNotCollide")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve/validate entities
|
||||
@@ -223,8 +218,5 @@ def C4976245_PhysXCollider_CollisionLayerTest():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976245_PhysXCollider_CollisionLayerTest)
|
||||
Report.start_test(Collider_NoneCollisionGroupSameLayerNotCollide)
|
||||
+7
-12
@@ -20,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C14861501_PhysXCollider_RenderMeshAutoAssigned():
|
||||
def Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent():
|
||||
"""
|
||||
Summary:
|
||||
Create entity with Mesh component and assign a render mesh to the Mesh component. Add Physics Collider component
|
||||
@@ -48,18 +48,16 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned():
|
||||
import os
|
||||
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
# Asset paths
|
||||
STATIC_MESH = os.path.join("assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.azmodel")
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.azmodel")
|
||||
PHYSX_MESH = os.path.join(
|
||||
"assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.pxmesh"
|
||||
"assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.pxmesh"
|
||||
)
|
||||
|
||||
helper.init_idle()
|
||||
@@ -78,7 +76,7 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned():
|
||||
mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
|
||||
mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
|
||||
mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower())
|
||||
|
||||
# 5) Add PhysX Collider component
|
||||
test_component = test_entity.add_component("PhysX Collider")
|
||||
@@ -87,12 +85,9 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned():
|
||||
# 6) The physics asset in PhysX Collider component is auto-assigned.
|
||||
asset_id = test_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh")
|
||||
test_asset = Asset(asset_id)
|
||||
Report.result(Tests.automatic_shape_change, test_asset.get_path() == PHYSX_MESH.replace(os.sep, "/"))
|
||||
Report.result(Tests.automatic_shape_change, test_asset.get_path().lower() == PHYSX_MESH.replace(os.sep, "/").lower())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C14861501_PhysXCollider_RenderMeshAutoAssigned)
|
||||
Report.start_test(Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent)
|
||||
+3
-8
@@ -20,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C14861502_PhysXCollider_AssetAutoAssigned():
|
||||
def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent():
|
||||
"""
|
||||
Summary:
|
||||
Create entity with Mesh and PhysX Collider components, then assign a render mesh to the Mesh component
|
||||
@@ -47,13 +47,11 @@ def C14861502_PhysXCollider_AssetAutoAssigned():
|
||||
import os
|
||||
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -93,8 +91,5 @@ def C14861502_PhysXCollider_AssetAutoAssigned():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C14861502_PhysXCollider_AssetAutoAssigned)
|
||||
Report.start_test(Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent)
|
||||
Executable → Regular
+5
-10
@@ -27,7 +27,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982803_Enable_PxMesh_Option():
|
||||
def Collider_PxMeshConvexMeshCollides():
|
||||
"""
|
||||
Summary:
|
||||
Load level with Entity above ground having PhysX Collider, PhysX Rigid Body and Mesh components.
|
||||
@@ -57,13 +57,11 @@ def C4982803_Enable_PxMesh_Option():
|
||||
import os
|
||||
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
import azlmbr.math as math
|
||||
|
||||
# Open 3D Engine Imports
|
||||
@@ -72,7 +70,7 @@ def C4982803_Enable_PxMesh_Option():
|
||||
|
||||
# Constants
|
||||
PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property
|
||||
MESH_ASSET_PATH = os.path.join("assets", "c4982803_enable_pxmesh_option", "spherebot", "r0-b_body.pxmesh")
|
||||
MESH_ASSET_PATH = os.path.join("assets", "Physics", "Collider_PxMeshConvexMeshCollides", "spherebot", "r0-b_body.pxmesh")
|
||||
TIMEOUT = 2.0
|
||||
|
||||
helper.init_idle()
|
||||
@@ -101,7 +99,7 @@ def C4982803_Enable_PxMesh_Option():
|
||||
mesh_asset = Asset.find_asset_by_path(MESH_ASSET_PATH)
|
||||
collider_component.set_component_property_value("Shape Configuration|Asset|PhysX Mesh", mesh_asset.id)
|
||||
mesh_asset.id = collider_component.get_component_property_value("Shape Configuration|Asset|PhysX Mesh")
|
||||
Report.result(Tests.assign_fbx_mesh, mesh_asset.get_path() == MESH_ASSET_PATH.replace(os.sep, "/"))
|
||||
Report.result(Tests.assign_fbx_mesh, mesh_asset.get_path().lower() == MESH_ASSET_PATH.replace(os.sep, "/").lower())
|
||||
|
||||
# 5) Create terrain entity with physx terrain
|
||||
terrain = EditorEntity.create_editor_entity_at([512.0, 512.0, 31.0], "Terrain")
|
||||
@@ -141,8 +139,5 @@ def C4982803_Enable_PxMesh_Option():
|
||||
helper.exit_game_mode(Tests.exit_game_mode)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982803_Enable_PxMesh_Option)
|
||||
Report.start_test(Collider_PxMeshConvexMeshCollides)
|
||||
Executable → Regular
+3
-11
@@ -21,7 +21,7 @@ class Tests():
|
||||
# fmt:on
|
||||
|
||||
|
||||
def C14861498_ConfirmError_NoPxMesh():
|
||||
def Collider_PxMeshErrorIfNoMesh():
|
||||
"""
|
||||
Summary:
|
||||
This test looks for the presence of an error when an entity with a PhysXCollider has no physics mesh, but has its
|
||||
@@ -48,11 +48,6 @@ def C14861498_ConfirmError_NoPxMesh():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
@@ -68,7 +63,7 @@ def C14861498_ConfirmError_NoPxMesh():
|
||||
'EditorColliderComponent' in warningInfo.message for warningInfo in warning_tracer.warnings)
|
||||
|
||||
# 1) Load level / enter game mode
|
||||
helper.open_level("Physics", "C14861498_ConfirmError_NoPxMesh")
|
||||
helper.open_level("Physics", "Collider_PxMeshErrorIfNoMesh")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Find game entity
|
||||
@@ -85,8 +80,5 @@ def C14861498_ConfirmError_NoPxMesh():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C14861498_ConfirmError_NoPxMesh)
|
||||
Report.start_test(Collider_PxMeshErrorIfNoMesh)
|
||||
+6
-7
@@ -22,7 +22,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def run():
|
||||
def Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx():
|
||||
"""
|
||||
Summary:
|
||||
Create entity with Mesh component and assign a render mesh that has no physics asset to the Mesh component.
|
||||
@@ -52,20 +52,18 @@ def run():
|
||||
import os
|
||||
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
from asset_utils import Asset
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.asset as azasset
|
||||
|
||||
# Asset paths
|
||||
STATIC_MESH = os.path.join("assets", "c14861504_rendermeshasset_withnopxasset", "test_asset.azmodel")
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx", "test_asset.azmodel")
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
@@ -83,7 +81,7 @@ def run():
|
||||
mesh_asset = Asset.find_asset_by_path(STATIC_MESH)
|
||||
mesh_component.set_component_property_value("Controller|Configuration|Mesh Asset", mesh_asset.id)
|
||||
mesh_asset.id = mesh_component.get_component_property_value("Controller|Configuration|Mesh Asset")
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path() == STATIC_MESH.replace(os.sep, "/"))
|
||||
Report.result(Tests.assign_mesh_asset, mesh_asset.get_path().lower() == STATIC_MESH.replace(os.sep, "/").lower())
|
||||
|
||||
# 5) Add PhysX Collider component
|
||||
test_component = test_entity.add_component("PhysX Collider")
|
||||
@@ -102,4 +100,5 @@ def run():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx)
|
||||
+3
-11
@@ -25,7 +25,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976243_Collision_SameCollisionGroupDiffCollisionLayers():
|
||||
def Collider_SameCollisionGroupDiffLayersCollide():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -66,11 +66,6 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -83,7 +78,7 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C4976243_Collision_SameCollisionGroupDiffCollisionLayers")
|
||||
helper.open_level("Physics", "Collider_SameCollisionGroupDiffLayersCollide")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -127,8 +122,5 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976243_Collision_SameCollisionGroupDiffCollisionLayers)
|
||||
Report.start_test(Collider_SameCollisionGroupDiffLayersCollide)
|
||||
+3
-11
@@ -26,7 +26,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976244_Collider_SameGroupSameLayerCollision():
|
||||
def Collider_SameCollisionGroupSameCustomLayerCollide():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -62,11 +62,6 @@ def C4976244_Collider_SameGroupSameLayerCollision():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -132,7 +127,7 @@ def C4976244_Collider_SameGroupSameLayerCollision():
|
||||
# Main Script
|
||||
# 1) Load the level
|
||||
helper.init_idle()
|
||||
helper.open_level("physics", "C4976244_Collider_SameGroupSameLayerCollision")
|
||||
helper.open_level("physics", "Collider_SameCollisionGroupSameCustomLayerCollide")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -185,8 +180,5 @@ def C4976244_Collider_SameGroupSameLayerCollision():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976244_Collider_SameGroupSameLayerCollision)
|
||||
Report.start_test(Collider_SameCollisionGroupSameCustomLayerCollide)
|
||||
+3
-11
@@ -26,7 +26,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4976242_Collision_SameCollisionlayerSameCollisiongroup():
|
||||
def Collider_SameCollisionGroupSameLayerCollide():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -62,11 +62,6 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -82,7 +77,7 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level and Enter game mode
|
||||
helper.open_level("Physics", "C4976242_Collision_SameCollisionlayerSameCollisiongroup")
|
||||
helper.open_level("Physics", "Collider_SameCollisionGroupSameLayerCollide")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve and validate Entities
|
||||
@@ -188,8 +183,5 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4976242_Collision_SameCollisionlayerSameCollisiongroup)
|
||||
Report.start_test(Collider_SameCollisionGroupSameLayerCollide)
|
||||
Executable → Regular
+2
-7
@@ -19,7 +19,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982800_PhysXColliderShape_CanBeSelected():
|
||||
def Collider_SphereShapeEditting():
|
||||
"""
|
||||
Summary:
|
||||
Adding PhysX Collider and Shape components to test entity, then attempting to modify the shape's dimensions
|
||||
@@ -43,9 +43,7 @@ def C4982800_PhysXColliderShape_CanBeSelected():
|
||||
:return: None
|
||||
"""
|
||||
# Helper Files
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -91,8 +89,5 @@ def C4982800_PhysXColliderShape_CanBeSelected():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982800_PhysXColliderShape_CanBeSelected)
|
||||
Report.start_test(Collider_SphereShapeEditting)
|
||||
Executable → Regular
+3
-11
@@ -30,7 +30,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C4982595_Collider_TriggerDisablesCollision():
|
||||
def Collider_TriggerPassThrough():
|
||||
"""
|
||||
Summary:
|
||||
This script runs an automated test to verify that when an entity's PhysX collider is set as a trigger, the entity no
|
||||
@@ -75,11 +75,6 @@ def C4982595_Collider_TriggerDisablesCollision():
|
||||
# Setup path
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.bus
|
||||
import azlmbr.components
|
||||
@@ -189,7 +184,7 @@ def C4982595_Collider_TriggerDisablesCollision():
|
||||
|
||||
# 1) Open level and enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C4982595_Collider_TriggerDisablesCollision")
|
||||
helper.open_level("Physics", "Collider_TriggerPassThrough")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve and validate entities
|
||||
@@ -234,8 +229,5 @@ def C4982595_Collider_TriggerDisablesCollision():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C4982595_Collider_TriggerDisablesCollision)
|
||||
Report.start_test(Collider_TriggerPassThrough)
|
||||
Executable → Regular
+3
-11
@@ -30,7 +30,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959760_PhysXForceRegion_PointForceExertion():
|
||||
def ForceRegion_CapsuleShapedForce():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -63,11 +63,6 @@ def C5959760_PhysXForceRegion_PointForceExertion():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -126,7 +121,7 @@ def C5959760_PhysXForceRegion_PointForceExertion():
|
||||
|
||||
# 1) Open level / Enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5959760_PhysXForceRegion_PointForceExertion")
|
||||
helper.open_level("Physics", "ForceRegion_CapsuleShapedForce")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve entities
|
||||
@@ -223,8 +218,5 @@ def C5959760_PhysXForceRegion_PointForceExertion():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959760_PhysXForceRegion_PointForceExertion)
|
||||
Report.start_test(ForceRegion_CapsuleShapedForce)
|
||||
+3
-11
@@ -50,7 +50,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude():
|
||||
def ForceRegion_DirectionHasNoAffectOnTotalForce():
|
||||
"""
|
||||
Summary: Check that world and local space force direction should not affect magnitude of force exerted on entity.
|
||||
|
||||
@@ -86,11 +86,6 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -224,7 +219,7 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude():
|
||||
# Main Script
|
||||
helper.init_idle()
|
||||
# 1) Open Level
|
||||
helper.open_level("Physics", "C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude")
|
||||
helper.open_level("Physics", "ForceRegion_DirectionHasNoAffectOnTotalForce")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -283,8 +278,5 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude)
|
||||
Report.start_test(ForceRegion_DirectionHasNoAffectOnTotalForce)
|
||||
+3
-12
@@ -37,7 +37,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C6321601_Force_HighValuesDirectionAxes():
|
||||
def ForceRegion_HighValuesDirectionAxesWorkWithNoError():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -90,11 +90,6 @@ def C6321601_Force_HighValuesDirectionAxes():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
@@ -209,7 +204,7 @@ def C6321601_Force_HighValuesDirectionAxes():
|
||||
return entity_error_tracer.has_errors
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C6321601_Force_HighValuesDirectionAxes")
|
||||
helper.open_level("Physics", "ForceRegion_HighValuesDirectionAxesWorkWithNoError")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -246,10 +241,6 @@ def C6321601_Force_HighValuesDirectionAxes():
|
||||
Report.result(Tests.error_not_found, not has_physx_error())
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C6321601_Force_HighValuesDirectionAxes)
|
||||
Report.start_test(ForceRegion_HighValuesDirectionAxesWorkWithNoError)
|
||||
+3
-10
@@ -24,7 +24,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959763_ForceRegion_ForceRegionImpulsesCube():
|
||||
def ForceRegion_ImpulsesBoxShapedRigidBody():
|
||||
"""
|
||||
This run() function will open a a level and validate that a Cube gets impulsed by a force region.
|
||||
It does this by:
|
||||
@@ -42,10 +42,6 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube():
|
||||
# Setup path
|
||||
import os, sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -82,7 +78,7 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube():
|
||||
UPWARD_Z_VECTOR = 1.0
|
||||
|
||||
# Open level
|
||||
helper.open_level("Physics", "C5959763_ForceRegion_ForceRegionImpulsesCube")
|
||||
helper.open_level("Physics", "ForceRegion_ImpulsesBoxShapedRigidBody")
|
||||
|
||||
# Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -165,8 +161,5 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959763_ForceRegion_ForceRegionImpulsesCube)
|
||||
Report.start_test(ForceRegion_ImpulsesBoxShapedRigidBody)
|
||||
+3
-8
@@ -24,7 +24,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959764_ForceRegion_ForceRegionImpulsesCapsule():
|
||||
def ForceRegion_ImpulsesCapsuleShapedRigidBody():
|
||||
"""
|
||||
This run() function will open a a level and validate that a Capsule gets impulsed by a force region.
|
||||
It does this by:
|
||||
@@ -42,9 +42,7 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule():
|
||||
# Setup path
|
||||
import os, sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -82,7 +80,7 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule():
|
||||
UPWARD_Z_VECTOR = 1.0
|
||||
|
||||
# Open level
|
||||
helper.open_level("Physics", "C5959764_ForceRegion_ForceRegionImpulsesCapsule")
|
||||
helper.open_level("Physics", "ForceRegion_ImpulsesCapsuleShapedRigidBody")
|
||||
|
||||
# Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -167,8 +165,5 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959764_ForceRegion_ForceRegionImpulsesCapsule)
|
||||
Report.start_test(ForceRegion_ImpulsesCapsuleShapedRigidBody)
|
||||
Executable → Regular
+3
-8
@@ -23,7 +23,7 @@ class Tests:
|
||||
tests_completed = ("Tests completed", "Tests did not complete")
|
||||
# fmt: on
|
||||
|
||||
def C5959765_ForceRegion_AssetGetsImpulsed():
|
||||
def ForceRegion_ImpulsesPxMeshShapedRigidBody():
|
||||
"""
|
||||
# This run() function will open a a level and validate that a asset gets impulsed by a force region.
|
||||
# It does this by:
|
||||
@@ -45,9 +45,7 @@ def C5959765_ForceRegion_AssetGetsImpulsed():
|
||||
# Setup path
|
||||
import os, sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -85,7 +83,7 @@ def C5959765_ForceRegion_AssetGetsImpulsed():
|
||||
UPWARD_Z_VECTOR = 1.0
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5959765_ForceRegion_AssetGetsImpulsed")
|
||||
helper.open_level("Physics", "ForceRegion_ImpulsesPxMeshShapedRigidBody")
|
||||
|
||||
# 2) Enters Game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -169,8 +167,5 @@ def C5959765_ForceRegion_AssetGetsImpulsed():
|
||||
helper.exit_game_mode(Tests.exit_game_mode)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959765_ForceRegion_AssetGetsImpulsed)
|
||||
Report.start_test(ForceRegion_ImpulsesPxMeshShapedRigidBody)
|
||||
+3
-11
@@ -34,7 +34,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5932042_PhysXForceRegion_LinearDamping():
|
||||
def ForceRegion_LinearDampingForceOnRigidBodies():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary:
|
||||
@@ -71,11 +71,6 @@ def C5932042_PhysXForceRegion_LinearDamping():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -136,7 +131,7 @@ def C5932042_PhysXForceRegion_LinearDamping():
|
||||
|
||||
# 1) Open level / Enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5932042_PhysXForceRegion_LinearDamping")
|
||||
helper.open_level("Physics", "ForceRegion_LinearDampingForceOnRigidBodies")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve and validate entities
|
||||
@@ -269,8 +264,5 @@ def C5932042_PhysXForceRegion_LinearDamping():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5932042_PhysXForceRegion_LinearDamping)
|
||||
Report.start_test(ForceRegion_LinearDampingForceOnRigidBodies)
|
||||
+3
-11
@@ -30,7 +30,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies():
|
||||
def ForceRegion_LocalSpaceForceOnRigidBodies():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that when a rigid body enters a force region a local space force is exerted.
|
||||
@@ -65,11 +65,6 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -85,7 +80,7 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies")
|
||||
helper.open_level("Physics", "ForceRegion_LocalSpaceForceOnRigidBodies")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -161,8 +156,5 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies)
|
||||
Report.start_test(ForceRegion_LocalSpaceForceOnRigidBodies)
|
||||
+3
-11
@@ -22,7 +22,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5968760_ForceRegion_CheckNetForceChange():
|
||||
def ForceRegion_MovingForceRegionChangesNetForce():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -61,11 +61,6 @@ def C5968760_ForceRegion_CheckNetForceChange():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -101,7 +96,7 @@ def C5968760_ForceRegion_CheckNetForceChange():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5968760_ForceRegion_CheckNetForceChange")
|
||||
helper.open_level("Physics", "ForceRegion_MovingForceRegionChangesNetForce")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -163,8 +158,5 @@ def C5968760_ForceRegion_CheckNetForceChange():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5968760_ForceRegion_CheckNetForceChange)
|
||||
Report.start_test(ForceRegion_MovingForceRegionChangesNetForce)
|
||||
+3
-8
@@ -32,7 +32,7 @@ class Tests:
|
||||
import os, sys
|
||||
|
||||
|
||||
def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody():
|
||||
def ForceRegion_MultipleComponentsCombineForces():
|
||||
"""
|
||||
Run() will open a a level and validate that the spheres are affected by the force regions as expected.
|
||||
|
||||
@@ -55,9 +55,7 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody():
|
||||
Second force region: Name = "Force Region Simple Drag" Applies a drag force on both spheres
|
||||
Setup path
|
||||
"""
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -94,7 +92,7 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody():
|
||||
|
||||
# 1) Opens level with spheres above a force region
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody")
|
||||
helper.open_level("Physics", "ForceRegion_MultipleComponentsCombineForces")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Finds the entities in the scene
|
||||
@@ -175,8 +173,5 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody)
|
||||
Report.start_test(ForceRegion_MultipleComponentsCombineForces)
|
||||
+3
-11
@@ -31,7 +31,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959810_ForceRegion_ForceRegionCombinesForces():
|
||||
def ForceRegion_MultipleForcesInSameComponentCombineForces():
|
||||
# type: () -> None
|
||||
"""
|
||||
Summary: Runs an automated test to ensure that separate forces in a force region add correctly
|
||||
@@ -65,11 +65,6 @@ def C5959810_ForceRegion_ForceRegionCombinesForces():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -167,7 +162,7 @@ def C5959810_ForceRegion_ForceRegionCombinesForces():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Load Level
|
||||
helper.open_level("physics", "C5959810_ForceRegion_ForceRegionCombinesForces")
|
||||
helper.open_level("physics", "ForceRegion_MultipleForcesInSameComponentCombineForces")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -234,8 +229,5 @@ def C5959810_ForceRegion_ForceRegionCombinesForces():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959810_ForceRegion_ForceRegionCombinesForces)
|
||||
Report.start_test(ForceRegion_MultipleForcesInSameComponentCombineForces)
|
||||
+3
-11
@@ -24,7 +24,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C15845879_ForceRegion_HighLinearDampingForce():
|
||||
def ForceRegion_NoQuiverOnHighLinearDampingForce():
|
||||
"""
|
||||
Summary: Check that linear damping with high values do not make the object to quiver
|
||||
|
||||
@@ -56,11 +56,6 @@ def C15845879_ForceRegion_HighLinearDampingForce():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -131,7 +126,7 @@ def C15845879_ForceRegion_HighLinearDampingForce():
|
||||
# Main Script
|
||||
helper.init_idle()
|
||||
# 1) Open Level
|
||||
helper.open_level("Physics", "C15845879_ForceRegion_HighLinearDampingForce")
|
||||
helper.open_level("Physics", "ForceRegion_NoQuiverOnHighLinearDampingForce")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -169,8 +164,5 @@ def C15845879_ForceRegion_HighLinearDampingForce():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C15845879_ForceRegion_HighLinearDampingForce)
|
||||
Report.start_test(ForceRegion_NoQuiverOnHighLinearDampingForce)
|
||||
+3
-11
@@ -29,7 +29,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C6090547_ForceRegion_ParentChildForceRegions():
|
||||
def ForceRegion_ParentChildForcesCombineForces():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that force regions in parent and child entities work together.
|
||||
@@ -72,11 +72,6 @@ def C6090547_ForceRegion_ParentChildForceRegions():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.bus
|
||||
import azlmbr.math as lymath
|
||||
@@ -94,7 +89,7 @@ def C6090547_ForceRegion_ParentChildForceRegions():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C6090547_ForceRegion_ParentChildForceRegions")
|
||||
helper.open_level("Physics", "ForceRegion_ParentChildForcesCombineForces")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -199,8 +194,5 @@ def C6090547_ForceRegion_ParentChildForceRegions():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C6090547_ForceRegion_ParentChildForceRegions)
|
||||
Report.start_test(ForceRegion_ParentChildForcesCombineForces)
|
||||
Executable → Regular
+3
-11
@@ -27,7 +27,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5932044_ForceRegion_PointForceOnRigidBody():
|
||||
def ForceRegion_PointForceOnRigidBodies():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that that a force region exerts point force on rigid bodies
|
||||
@@ -65,11 +65,6 @@ def C5932044_ForceRegion_PointForceOnRigidBody():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -88,7 +83,7 @@ def C5932044_ForceRegion_PointForceOnRigidBody():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5932044_PhysX_ForceRegion_PointForceOnRigidBodies")
|
||||
helper.open_level("Physics", "ForceRegion_PointForceOnRigidBodies")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -189,8 +184,5 @@ def C5932044_ForceRegion_PointForceOnRigidBody():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5932044_ForceRegion_PointForceOnRigidBody)
|
||||
Report.start_test(ForceRegion_PointForceOnRigidBodies)
|
||||
Executable → Regular
+3
-11
@@ -88,7 +88,7 @@ class Tests:
|
||||
else:
|
||||
return None
|
||||
|
||||
def C5959808_ForceRegion_PositionOffset():
|
||||
def ForceRegion_PositionOffset():
|
||||
"""
|
||||
Summary:
|
||||
Force Region positional offset is tested for each of the 3 axises (X, Y, and Z). Each axis's test has one
|
||||
@@ -124,11 +124,6 @@ def C5959808_ForceRegion_PositionOffset():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -368,7 +363,7 @@ def C5959808_ForceRegion_PositionOffset():
|
||||
|
||||
# 1) Open level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5959808_ForceRegion_PositionOffset")
|
||||
helper.open_level("Physics", "ForceRegion_PositionOffset")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Variable set up
|
||||
@@ -405,8 +400,5 @@ def C5959808_ForceRegion_PositionOffset():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959808_ForceRegion_PositionOffset)
|
||||
Report.start_test(ForceRegion_PositionOffset)
|
||||
Executable → Regular
+3
-12
@@ -25,7 +25,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959761_ForceRegion_PhysAssetExertsPointForce():
|
||||
def ForceRegion_PxMeshShapedForce():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that PhysX force regions with physics assets exert point force on rigid bodies
|
||||
@@ -61,12 +61,6 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
import azlmbr
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.bus as bus
|
||||
@@ -91,7 +85,7 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5959761_ForceRegion_ExertsPointForce_Sedan")
|
||||
helper.open_level("Physics", "ForceRegion_PxMeshShapedForce")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -140,8 +134,5 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959761_ForceRegion_PhysAssetExertsPointForce)
|
||||
Report.start_test(ForceRegion_PxMeshShapedForce)
|
||||
Executable → Regular
+3
-11
@@ -89,7 +89,7 @@ class Tests:
|
||||
return None
|
||||
|
||||
|
||||
def C5959809_ForceRegion_RotationalOffset():
|
||||
def ForceRegion_RotationalOffset():
|
||||
"""
|
||||
Summary:
|
||||
Force Region rotational offset is tested for each of the 3 axises (X, Y, and Z). Each axis's test has one
|
||||
@@ -125,11 +125,6 @@ def C5959809_ForceRegion_RotationalOffset():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -372,7 +367,7 @@ def C5959809_ForceRegion_RotationalOffset():
|
||||
|
||||
# 1) Open level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5959809_ForceRegion_RotationalOffset")
|
||||
helper.open_level("Physics", "ForceRegion_RotationalOffset")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Variable set up
|
||||
@@ -405,8 +400,5 @@ def C5959809_ForceRegion_RotationalOffset():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959809_ForceRegion_RotationalOffset)
|
||||
Report.start_test(ForceRegion_RotationalOffset)
|
||||
+3
-8
@@ -26,7 +26,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5932043_ForceRegion_SimpleDragOnRigidBodies():
|
||||
def ForceRegion_SimpleDragForceOnRigidBodies():
|
||||
# This run() function will open a a level and validate that the force region slows down a spheres fall.
|
||||
# It does this by:
|
||||
# 1) Opens level with sphere above a force region
|
||||
@@ -42,9 +42,7 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies():
|
||||
# Setup path
|
||||
import os, sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
@@ -66,7 +64,7 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5932043_ForceRegion_SimpleDragOnRigidBody")
|
||||
helper.open_level("Physics", "ForceRegion_SimpleDragForceOnRigidBodies")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -139,8 +137,5 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5932043_ForceRegion_SimpleDragOnRigidBodies)
|
||||
Report.start_test(ForceRegion_SimpleDragForceOnRigidBodies)
|
||||
Executable → Regular
+3
-11
@@ -22,7 +22,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C6090546_ForceRegion_SliceFileInstantiates():
|
||||
def ForceRegion_SliceFileInstantiates():
|
||||
|
||||
"""
|
||||
Summary:
|
||||
@@ -63,11 +63,6 @@ def C6090546_ForceRegion_SliceFileInstantiates():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -100,7 +95,7 @@ def C6090546_ForceRegion_SliceFileInstantiates():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C6090546_ForceRegion_SliceFileInstantiates")
|
||||
helper.open_level("Physics", "ForceRegion_SliceFileInstantiates")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -138,8 +133,5 @@ def C6090546_ForceRegion_SliceFileInstantiates():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C6090546_ForceRegion_SliceFileInstantiates)
|
||||
Report.start_test(ForceRegion_SliceFileInstantiates)
|
||||
+3
-12
@@ -21,7 +21,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C12905527_ForceRegion_MagnitudeDeviation():
|
||||
def ForceRegion_SmallMagnitudeDeviationOnLargeForces():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that the calculated net force magnitude is close to the configured value
|
||||
@@ -54,12 +54,6 @@ def C12905527_ForceRegion_MagnitudeDeviation():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -99,7 +93,7 @@ def C12905527_ForceRegion_MagnitudeDeviation():
|
||||
helper.init_idle()
|
||||
# 1) Open level
|
||||
Report.info(general.get_current_level_name())
|
||||
helper.open_level("Physics", "C12905527_ForceRegion_MagnitudeDeviation")
|
||||
helper.open_level("Physics", "ForceRegion_SmallMagnitudeDeviationOnLargeForces")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -144,8 +138,5 @@ def C12905527_ForceRegion_MagnitudeDeviation():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C12905527_ForceRegion_MagnitudeDeviation)
|
||||
Report.start_test(ForceRegion_SmallMagnitudeDeviationOnLargeForces)
|
||||
Executable → Regular
+3
-11
@@ -27,7 +27,7 @@ class Tests:
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5959759_RigidBody_ForceRegionSpherePointForce():
|
||||
def ForceRegion_SphereShapedForce():
|
||||
"""
|
||||
Level Setup
|
||||
The level consists of a sherical force region with a point force of 1000.
|
||||
@@ -38,11 +38,6 @@ def C5959759_RigidBody_ForceRegionSpherePointForce():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -55,7 +50,7 @@ def C5959759_RigidBody_ForceRegionSpherePointForce():
|
||||
|
||||
# 1) Open level and enter game mode
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "C5959759_RigidBody_ForceRegionSpherePointForce")
|
||||
helper.open_level("Physics", "ForceRegion_SphereShapedForce")
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
# 2) Retrieve entities
|
||||
@@ -150,8 +145,5 @@ def C5959759_RigidBody_ForceRegionSpherePointForce():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5959759_RigidBody_ForceRegionSpherePointForce)
|
||||
Report.start_test(ForceRegion_SphereShapedForce)
|
||||
Executable → Regular
+3
-11
@@ -30,7 +30,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C5932045_ForceRegion_Spline():
|
||||
def ForceRegion_SplineForceOnRigidBodies():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that a PhysX force region exerts spline follow force on rigid bodies
|
||||
@@ -70,11 +70,6 @@ def C5932045_ForceRegion_Spline():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -122,7 +117,7 @@ def C5932045_ForceRegion_Spline():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C5932045_ForceRegion_Spline")
|
||||
helper.open_level("Physics", "ForceRegion_SplineForceOnRigidBodies")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -162,8 +157,5 @@ def C5932045_ForceRegion_Spline():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C5932045_ForceRegion_Spline)
|
||||
Report.start_test(ForceRegion_SplineForceOnRigidBodies)
|
||||
+3
-12
@@ -29,7 +29,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def C12868580_ForceRegion_SplineModifiedTransform():
|
||||
def ForceRegion_SplineRegionWithModifiedTransform():
|
||||
"""
|
||||
Summary:
|
||||
Runs an automated test to ensure that a PhysX force region correctly exerts spline follow force on rigid bodies when
|
||||
@@ -73,12 +73,6 @@ def C12868580_ForceRegion_SplineModifiedTransform():
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -131,7 +125,7 @@ def C12868580_ForceRegion_SplineModifiedTransform():
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Open level
|
||||
helper.open_level("Physics", "C12868580_ForceRegion_SplineModifiedTransform")
|
||||
helper.open_level("Physics", "ForceRegion_SplineRegionWithModifiedTransform")
|
||||
|
||||
# 2) Enter game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
@@ -168,8 +162,5 @@ def C12868580_ForceRegion_SplineModifiedTransform():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(C12868580_ForceRegion_SplineModifiedTransform)
|
||||
Report.start_test(ForceRegion_SplineRegionWithModifiedTransform)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user