* Initial batch of optimized Dynamic Vegetation tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Adding another round of optimized Dynamic Vegetation tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Adding more optimized Dynamic Vegetation tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Adding another round of optimized Dynamic Vegetation tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Final batch of converted Dynamic Vegetation tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Re-organizing/cleaning up TestSuite files
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Running optimized tests without xfail marker for Jenkins test
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Corrected path on CMakeLists.txt to point to the correct TestSuite file for optimized tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Adding xfail mark to DistanceBetweenFilter tests due to Editor deadlock
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Updating CMakeLists to build Launcher
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Updating xfail for DistanceBetweenFilter tests to skips as they timeout and cause cascading test failures
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Re-added xfail marker to optimized tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Correcting a few typos
Signed-off-by: jckand-amzn <jckand@amazon.com>
* create PoC for starting point for parallel + batched Atom tests
Signed-off-by: jromnoa <jromnoa@amazon.com>
* CMakeLists.txt update
Signed-off-by: jromnoa <jromnoa@amazon.com>
* saving progress on re-factor for parallel and batched tests, added Tracer(), added Report(), and added new exit code validation method but code is unfinished still
Signed-off-by: jromnoa <jromnoa@amazon.com>
* finalize conversion of component tests into new optimized test setup for batched/parallel runs
Signed-off-by: jromnoa <jromnoa@amazon.com>
* fix REDO deletion check, remove class referencing a test not yet added to parallel runs
Signed-off-by: jromnoa <jromnoa@amazon.com>
* revert hydra_AtomEditorComponents_AddedToEntity.py back to its original version
Signed-off-by: jromnoa <jromnoa@amazon.com>
* re-add the DepthOfField component to expected_lines for non-optimized main suite (removed on accident)
Signed-off-by: jromnoa <jromnoa@amazon.com>
* remove test comments from legal header, add EditorEntity() class, remove hydra calls - updated for Decal component, but the next commit will get the rest
Signed-off-by: jromnoa <jromnoa@amazon.com>
* saving progress on converting over fully to using EditorEntity() per PR comments - almost done, will finish tomorrow
Signed-off-by: jromnoa <jromnoa@amazon.com>
* add new test setup docstring, fix the create entity test step wording, re-add accidental removal of string text from editor_entity_utils.py
Signed-off-by: jromnoa <jromnoa@amazon.com>
* finalize PR concerns, use EditorEntity object for most/all calls, tests pass when run
Signed-off-by: jromnoa <jromnoa@amazon.com>
* remove accidental change
Signed-off-by: jromnoa <jromnoa@amazon.com>
* update helper.open_level() call to not include 'Physics' in path, remove unnecessary f-string calls
Signed-off-by: jromnoa <jromnoa@amazon.com>
* editor_python_test_tools.asset_utils.Asset.find_asset_by_path(), add is_hidden() and is_visible() to editor_python_test_tools to use for verification, clean up UNDO/REDO comments, fix test order in file to match the order of the test files
Signed-off-by: jromnoa <jromnoa@amazon.com>
* Marking DistanceBetweenFilter tests with xfail due to Editor deadlock
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Updating xfail mark
Signed-off-by: jckand-amzn <jckand@amazon.com>
* [ATOM-5441] Shader Builders May Fail When Multiple
New Files Are Added
ShaderAssetBuilder::CreateJobs now recursively parses *.azsl files
looking for #include lines and builds the list of source dependencies
using a depth-first algorithm. It was using MCPP before but not anymore
(during CreateJobs).
The new algorithm may over prescribe, but fixes the issues
when multiple new shader related files are added, at once or out of order, to a game project
or Gem.
Overall the new ShaderAssetBuilder::CreateJobs() is around 40% faster
and, of course, handles source dependencies in a robust way.
* Added new test suite to AutomatedTesting project:
Gem/PythonTests/atom_renderer/test_Atom_ShaderBuildPipelineSuite.py
Bug fix to Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp
discovered thanks to the automated test suite. The idea is that
CreateJobs doesn't fail if the AZSL file doesn't exist. The failure is
deferred during ProcessJob. This way if the AZSL file exists the .shader
file is rebuilt automatically.
* For testability purposes and avoid memory leakage errors
during Unit Tests created the class ShaderBuilderUtility::IncludedFilesParser
Now accepts "# include <file>" with space between '#' and 'include'.
Also now accepts the '-' character inside the file path.
Added Unit Test to validate all cases of "#include <file>" parsing.
* Fixed linux runtime issues for Unit Tests in Atom_Asset_Shader.Tests
Signed-off-by: garrieta <garrieta@amazon.com>
* Removing the boundary search method. Bicubic is now the default and only PCF filtering method
* Removing padding (based upon feedback)
* Removing PCF method from py auto testing
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
Make awsi_test_profile_vs2019 a nonblocking step to make sure that resources are cleaned up even though automation tests failed
Signed-off-by: Junbo Liang <junbo@amazon.com>
* add s3 upload on screenshot test failure, should only apply to the test_gpu_profile_vs2019 job on nightly runs
* adds support for zipping screenshot files up prior to uploading to the s3 bucket and also adds the ACL extra arg to the upload_to_s3.py execution
* remove unused json import
* remove regex to use .endswith() instead and rename variables to be more clear (PR feedback)
* rename create_zip_archive to create_screenshots_archive
Signed-off-by: jromnoa <jromnoa@amazon.com>
- Fixed cloth asset, which stopped working due to Updated skeleton logic: #2957 which changes how fbx graph nodes are collected (affecting its names, which is used by cloth modifier).
- Fixed cloth test suite active call to base's run_test function. It stopped working when its signature was changed here: 182d410#diff-3f5d93b0a76c838893693f19f2eacfe3e67040d445d6463c5c425ef5075cb409
- Renamed nvcloth TestSuite_Active.py to TestSuite_Main.py to be consistent with the other test folders.
- Fixed ModelAsset creator clone function. It was missing to copy the material slots, ultimately causing Material Component to show 0 material slots.
- Fixed crash where the revert overrides menu was not created when checking changes for selected component and selected entities.
Signed-off-by: moraaar moraaar@amazon.com
* Commit
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Removed xfail
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Fix for ap not closing for optimized tests
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* renamed tests to _Optimized
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Added xfail so the test will run in jenkins without affecting outcomes
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* GradientSignal automation optimizations with TestAutomationBase/parallelization
* Changing Gradient Signal test registration to use TestAutomationBase
Signed-off-by: jckand-amzn <jckand@amazon.com>
* Convert Landscape Canvas main tests to use TestAutomationBase
* Updating main Landscape Canvas test suite to batch run tests
* Converting initial batch of Landscape Canvas periodic tests to use TestAutomationBase/test parallelization
* Renaming Editor Script to fit naming convention
* Updating explicit waits to wait_for_condition checks
* Additional test conversions
* Renaming Editor Script to fit naming convention
* Additional test parallelizations
* Additional test conversions
* Renaming optimized test file
* Adding Main test file for non-optimized tests
Signed-off-by: jckand-amzn <jckand@amazon.com>
Fix for PythonAssetBuilding auto tests by updating the logic plus the names of the output models
fix an access violation for auto complete in the console
Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>
Renamed document related buses and components to have generic names
Added a base document class with default implementation from which other application specific documents can be derived to work with the document system
Added document factory function registration to the document system request bus so that each application can specify the type of document it creates
Updated all comments and messaging to only refer to documents, not materials or material documents
Updated material editor and shader management console to conform to the new buses
This will provide a first pass of a common interface for a document management system that can be shared by multiple applications
Corrected status bar message copy and paste errors
Updated all test scripts to use the new buses
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
Adds a new ebus for prefab apis and refactored the apis
Removed an empty test level
Auto delete tmp level when teardown tests
Add Base test level in Prefab folder
Removed unused comments
Checked if absolute path as an input of Create Prefab functions
Changed created prefab file path to support all platfroms
Added missing includes
Signed-off-by: chiyteng <chiyteng@amazon.com>
* MaterialEditor BasicTests added to AutomatedTesting for AR
Signed-off-by: Scott Murray <scottmur@amazon.com>
* launch_and_validate_results adding a waiter.wait_for to the log monitor so the log file exists
Signed-off-by: Scott Murray <scottmur@amazon.com>
* adds the Light component GPU screenshot test to AutomatedTesting
Signed-off-by: jromnoa <jromnoa@amazon.com>
* add LIGHT_TYPE_PROPERTY constant to test script since it is re-used multiple times
Signed-off-by: jromnoa <jromnoa@amazon.com>
* removes redundant f strings, adds LIGHT_COMPONENT and LIGHT_TYPE_PROPERTY constants for re-use, removed formattng errors, increase CMakeLists.txt timeout, add attach_component_to_entity() to hydra_editor_utils.py
Signed-off-by: jromnoa <jromnoa@amazon.com>
* fix ImportError
Signed-off-by: jromnoa <jromnoa@amazon.com>
* moves the LIGHT_TYPES constant to a new file since scripts rely on it that do not have the Editor launched (can't see hydra bindings so failes with ModuleNotFound error)
Signed-off-by: jromnoa <jromnoa@amazon.com>
* Addressing CMake warning and removing timeouts that are the same as the default
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* missed this one
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Making it an error so developers stops putting timeouts longer than the allowed one since it causes AR issues
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixing warning from the nightly build
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* disabling test that is triggering a timeout
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Add CaptureCpuFrameTime method to ProfilingCaptureSystemComponent for monitoring CPU performance.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* ly_test_tools: Refactor benchmark data aggregator in preparation for CPU frame times.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* performance benchmarks: Aggregate and report CPU frame times based on JSON data.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* AutomatedTesting: Capture CPU frame time in AtomFeatureIntegrationBenchmark.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
The serialize context tools were not being auto built by CI because of
this.
Added missing dependency on AzTestRunner.
Also moved the AssetBundlerBatch dependency directly in there
No reason to add it to additional_dependnecies, since its only
used for conditional inclusions.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
from 'project root' to 'project root/Assets/Physics'
The functionality of creating / using the default physmaterial file has only change in related to the file location, other functionality is unchanged.
The following situations can occur:
This will not affect have any project that uses a custom physmaterial file.
This will not affect have any project that uses the default from the old location, as the configuration will still point there.
New projects created will get the default physmaterial file at the new location.
A Project that fails to load (or deletes) the selected physmaterial file, will get the default physmaterial file at the new location (this happens only on startup of the editor).
Issue: #2765
Signed-off-by: amzn-sean 75276488+amzn-sean@users.noreply.github.com
* Cleared m_scriptFilename between scene files.
This fixes a bug where a Python script file would be run on a scene file
that didn't have a script file set.
Added a general case version to SceneBuilderWorker.cpp, to make it easy
to mark all scene files as dirty.
Automated tests for this will come in a separate pull request.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Work in progress automated tests
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Python test done
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Sorted jobs work now. This may sort too aggressively, I'll remove the additional sorting after some testing.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Cleaned up test
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Fixed stray '
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Removed temp code from test
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Command line help options for AP
Removed job sorting that wasn't actually sorting jobs
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Changed constant variable names to match coding standards
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* [ATOM-16016] Add initial level for AtomFeatureIntegrationBenchmark to AutomatedTesting.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* [ATOM-16016] Add new AtomFeatureIntegrationBenchmark to AutomatedTesting.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
Engine improvements/fixes
Fixed behavior that made the editor automated test to be sometimes stuck if lost the focus is lost.
Added support for specifying multiple tests to in batch to the editor, this is achieved by passing --runpythontest with the tests separated by ';'
Added new cmdline argument --project-user-path for overriding the user path. This allows to have multiple editors running writing logs and crash logs in different locations.
Moved responsability of exiting after a test finishes/passes out of ExecuteByFilenameAsTest, callers will use the bool return to know if the test passed.
Editor test batch and parallelization implementation:
Now the external python portion of the editor tests will be specified via test specs which will generate the test. Requiring no code. This is almost a data-driven approach.
Tests can be specified as single tests, parallel, batchable or batchable+parallel
Command line arguments for pytest to override the maximum number of editors, disable parallelization or batching.
Automated tests for testing this new editor testing utility
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Update fbx test dbgsg files
Remove rc products from fbx test expected output
Update warning counts for 2 of the tests - these are due to missing material properties
Add SkipAtomOutput setting to disable atom material and mesh processing in scene as these pull in a lot of external dependencies to Process
Removed BlendShapeData and MeshData debug output of positions/normals/faces
Updated ManifestImportRequestHandler to remove warning about Joining 2 absolute paths
Updated AssImpMaterialImporter to use new GenerateRelativeSourcePath API to fix issue where relative path generation failed with tmp project directories
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add comment for setting
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add override dbgsg file to python test
The mesh optimizer specifically avoids creating optimized nodes for nodes that are not selected, resulting in a different scene graph that requires a different dbgsg file to compare with
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Replace hardcoded passing of specific registry setting to instead pass all registry settings to AssetBuilder
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Create AWS Core automation for the interacting with AWS resources via the AWS Core gem.
Signed-off-by: junbo <junbo@amazon.com>
Co-authored-by: clujames <clujames@amazon.com>
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>
* Fix for DeleteCachedAssets_AssetsReprocessed fails on Debug Nightly Builds
* added -ap_disableAssetTreeView=true to disable the Qt tree view for the asset tab to get the parts that want to be tested finish
* only shows up on Debug
Tests:
=== test session starts ===
AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_processor_batch_tests_2.py::TestsAssetProcessorBatch_AllPlatforms::test_AllSupportedPlatforms_FastScanWorks_FasterThanFullScan[windows-AutomatedTesting] PASSED [ 50%]
AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_processor_batch_tests_2.py::TestsAssetProcessorBatch_Windows::test_WindowsPlatforms_RunAPBatchAndConnectGui_RunsWithoutEditor[windows-AutomatedTesting] PASSED [100%]
--- generated xml file: F:\amazon\o3de\build\vs2019\Testing\Pytest\AssetPipelineTests.Batch_2_Sandbox.xml ---
=== 2 passed, 4 deselected in 18.32s ===
* using O3DE engine assets instead of level.pak
* updated the binary find() logic for DeltaCatalog.xml
Tests: AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_bundler_batch_tests.py
* Fix resource mappings file names and client auth warnings and asserts conditions
* Add comments to explain reasoning for client auth role permissions
* Update comments based on feedback
* Fix AWSClientAuth unit test
* Add AWS AutomatedTesting levels
* Update AWSCoreConfiguration to use default profile
* Update lambda name
* Add cdk update command before tests run
* Update global cdk version before runnign tests.
* Add npm update command
* More cdk changes
* More cdk changes
* Shortening project names for cdk
* increase timeout for AWSTests
* Add comments
* Set AWSTests to periodic test suite
* Update logic to re install cdk and deploy bootstrap
* change version to list to catch version mismatch
* Move AWS fixtures to module directory scope
* Fixing issues with cdk utils
* Add cdk setup to be called on cdk fixture function
Bone transforms buffer is not valid when using Null renderer, which caused the test to fail since it reported an error and ultimately crashing as well. For now it's been worked around by checking the pointer is valid and not printing the error when null renderer is used, a task for the Atom team has been created to fix this properly in the future (ATOM-15807).
* Fixed the relative path in the Source param for the PrefabLevel_OpensLevelWithEntities prefab. Plus bonus capitalization fix.
* Add empty Cached Transform Parent parameter to prevent patch application issues. This will be fixed once prefab sanitation on load is added.
* * Remove test repository references
* * Update asset_builder_tests.py docstring to include test steps
* * Update test docstrings in asset_bundler_batch_tests.py to include test
steps
* * Update asset_processor_batch_dependency_tests.py docstrings to contain
test steps
* * Update asset_processor_batch_dependency_tests2.py docstrings to have
test steps
* * Update asset_processor_batch_tests.py docstring to include test steps
* * Update asset_processor_batch_tests_2.py docstrings to include test
steps
* Removed a references to a JIRA ticket ID
* * Update asset_processor_guit_tests.py docstrings to include test steps
* * Update asset_processor_gui_tests_2.py docstrings to have Test Steps
* * Update asset_relocator_tests.py docstrings to include test steps
* * update missing_dependency_tests.py docstrings to have test steps
* * Update auxiliary_content_tests.py docstrings to have test steps
* * Update fbx_tests.py docstrings to have test steps.
* * Update bank_info_parser_tests.py docstrings to have test steps
* * Removed Jira issue ids from Asset Pipline owned code
* * Undid two errornous code changes.
* * Addressed dbbronso PR-978 feedback.
* Steps declared and not populated. 1 - Removed errornous. 2 - Added missing step
* Fixed line formatting by removing bad blank line in Docstring
* Addressed PR-978 feedback from AMZN-stankowi
* Removed commented out entry from cmakefile
* Fixed several casing and spelling/typo issues caught in review
* Added a missing test step in asset_bundler_batch_tests.py
* Removed a test dealing with external projects, cut LYN-4116 to replace
* Calarfied test steps in asset_processor_gui_tests.py
* Noted test in asset_processor_gui_tests that cannot be ran manually
* Clarified test steps for fbx_tests
* Added in a comment and whitespace to a disguised operation.
Co-authored-by: stankowi <stankowi@amazon.com>
- Invalidate 'Physics Materials From Mesh' boolean from collider component
- Removed material library from material selector. Default material library will always be used instead.
- Marking failing automated test as xfail
- Added default material to physics configuration.
- Moved material library asset from physx configuration to physics configuration, as it doesn't need to be physx specific.
- Refactor physics material system having into account that there is only one material library in the project.
- Renaming code from DefaultMaterialLibrary to MaterialLibrary.
- All queries about physics materials unified under PhysicsMaterialRequests bus.
- PhysXSystem only manages the material library asset.
- Saving and reloading the same physics material asset with different content didn't trigger a events that the material library has changed.
- Changing Physics Material Request interface to use shared_ptr instead of weak_ptr to be simpler to handle the returned materials and having a more consistent code.
- Refactored Material Manager to improve its implementation. Still following the same approach of "creating materials on the fly as they are requested", but now it's doing it consistently across the interface, with private helpers functions FindOrCreateMaterial that simplify vastly the implementation.
- Material Manager now listens to change event of material library asset and default material configuration so it updates its materials accordingly.
- Complete Material move constructor and operator.