* double test timeout from 60 seconds to 120 seconds in attempt to fix it for nightly GPU runs
Signed-off-by: jromnoa <jromnoa@amazon.com>
* add a file to launch with the test to ensure we get a full viewport load completed
Signed-off-by: jromnoa <jromnoa@amazon.com>
* fix import error
Signed-off-by: jromnoa <jromnoa@amazon.com>
* remove python error checks
Signed-off-by: jromnoa <jromnoa@amazon.com>
* add new log line specific to each RHI to check for
Signed-off-by: jromnoa <jromnoa@amazon.com>
* remove the new test script as it is no longer needed with our improved log lines check - the viewport logs don't show up in AR for some reason
Signed-off-by: jromnoa <jromnoa@amazon.com>
* Mesh component P0 automation for parallel testing
Signed-off-by: Scott Murray <scottmur@amazon.com>
* Remove unused imports
Signed-off-by: Scott Murray <scottmur@amazon.com>
* Decorating test classes with test_case_id to corresponding testrail cases
Signed-off-by: Scott Murray <scottmur@amazon.com>
* add remaining hydra code for test to run using new parallel test classes and interfaces
* fix return value of Secondary Grid Spacing property test for Grid Entity
* Add `or error_tracer.has_asserts` call for better error catching
* make `Tests.viewport_set` test check a `Report.critical_result()` check instead of `Report.result()` check
* add updates from PR feedback: makes constants for re-used component name strings, move test verifications into the Report() call instead of setting first then calling Report(), use builtin math.isclose function over custom function
* remove after_level_load() and split it into several function calls, add screenshot check, cleanup the GPU script and fix the rendering not displaying by setting global_extra_cmdline_args = []
* fixes the viewport Test check and splits up the helper functions into multiple functions
* add comment for global_extra_cmdline_args update in test and rename the zip file to f'screenshots_{formatted_timestamp}.zip'
Signed-off-by: jromnoa <jromnoa@amazon.com>
Co-authored-by: smurly <scottmur@amazon.com>
* Update the FileIOAlias naming to make the cache, project root and engine
root paths more clear
The alias of `@root@`, `@assets@`, and `@projectplatformcache@` has been
collapsed to `@projectproductassets@`
The alias of `@devroot@` and `@engroot@` has been collapsed to
`@engroot@`
The alias of `@devassets@` and `@projectroot@` has been collapsed to
`@projectroot@`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated use of devassets and devroot properties in python
Those properties now use projectroot and engroot
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updating the alias @engroot@ alias path comment in each platform specific LocalFileIO_*.cpp file
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed hardcoded size of 9 for the product asset alias.
The ResolvePath function now just appends the @projectproductassets@
alias with the input path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Remove duplicate @projectproductassets@ check in ProcessFileTreeRequest
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix for typos in Hydra python test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated LocalFileIO::Copy call on Windows to use the Unicode aware CopyFileW API
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AWSMetreicsGemAllocatorFixture to properly suppress asset
cache write errors for Test file creation.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed unneeded call to set the @projectproductasstes@ alias at the bottom of the AssetSeedManagerTest SetUp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a deprecated alias map to the FileIO System
When a deprecated alias is accessed, the FileIO System logs an AZ_Error and indicates the alias that should be used
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated python test scripts to use the projectroot binding
Retrieving the AutomatedTesting project path based on "<devroot>/AutomatedTesting" has been removed.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated references to devroot and devgame within the codebase
The GetAbsoluteDevGameFolderPath functions has been replaced with direct call to AZ::Utils::GetProjectPath
The GetAbsoluteDevRootFolderPath functions has been replaced with direct calls to AZ::Utils::GetEnginePath
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated <engroot>/AutomatedTesting references to projectroot
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced references that assumes the project path is <engroot>/AutomatedTesting with <projectroot> in the AutomatedTesting python test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correct casing in emfxworkspace file
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed newly added AppendPathParts function
Removed the Path constructors which accepts a PathIterable instance
The PathIterable isn't safe to return to a user of the Path class as it might be referencing temporary paths supplied via PathView arguments
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed unused parameter warning
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Undid change to the LexicallyProximate function to set the path result to the base path.
It needs to return the *this path if the pathResult is empty
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved the LocalFileIO ConvertToAbsolutePath implementations to AZ::Utils
Fixed the ConvertToAbsolutePath implementation for Unix platforms to use a buffer that is size PATH_MAX(4096 on all our supported Unix platforms).
Because the buffer before was AZ::IO::MaxPathLength which as a size of 1024, this was resulting in the Unix `realpath` function smashing the stack when it converts a path to an absolute path that is longer than 1024 characters
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the EditorCore.Tests to attach the AZ Environment to the EditorCore shared library that is statically loaded on launch.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed for DeprecatedAlaisesKeyVisitor Visit function causing the non string_view overloads being hidden causing a hidden base class function warning
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Changed the AWSMetricsGemMock to use a temporary for writing test assets
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the LocalFileIO::ResolvePath function to use HasRootPath to determine if a path starts with a root path such as "D:", "D:/" or "/"
IsAbsolute was not the corect check as the path of "D:" is a relative
path.
To be absolute according to the Windows the path must have a root
directory. i.e "D:/" or "D:\"
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed absolute path comment from LocalFile_UnixLike.cpp and LocalFile_Android.cpp FindFiles implementations
Updated the ConvertToAlias to supply an AZ::IO::FixedMaxPath
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced usage of the @projectproductassets@ alias with @engroot@ when referring to the LmbrCentral source folder in the CopyDependencyBuilderTest and the SeedBuilderTests
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the ScriptCanvas Upgrade Tool to output backed up files to the
Project User Path instead of the engine root
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed whitespacing issues in Application.cpp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Remove unnecessary creation of a FixedMaxPath in the UpgradeTool.cpp
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Modified testSeedFolder variable in the SeedBuilderTests to use the
@engroot@ alias instead of @projectproductassets@/.. alias when
referring to the LmbrCentral Gem source path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated references to the Project Asset Cache in the PythonTests.
Those tests no longer use the logic `azlmbr.paths.projectroot / "Cache" / "pc"` to retrieve a path to the cache root but instead the `azlmbr.paths.projectproductassets` constant
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the FileIO Deprecated Alias test on Windows
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing @projectsourceassets@ alias, as it is only used once.
Updated the PhysX EditorSystemComponent.cpp to query the ProjectPath
form the SettingsRegistry.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced @projectproductassets@ alias with @products@
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Rollback changes to the PhysX EditorSystemComponent.cpp
The changes to use the ProjectPath from the SettingsRegistry has been implemented in PR #4497
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing atom from the Decal (atom) name
* Decal component can take advantage of non-uniform scale option
* Using the base class nonuniform scale property rather than firing an event
* removing pragma optimize off
* Python tests need the updated name
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
* move shader asset builder test into test_Atom_MainSuite_Optimized.py, update CMakeLists.txt, and move all imports inside the test class for hydra_ShaderAssetBuilder_RecompilesShaderAsChainOfDependenciesChanges.py
Signed-off-by: jromnoa <jromnoa@amazon.com>
* re-organize the Atom automated test structure to match the new parallel + batched test structures
Signed-off-by: jromnoa <jromnoa@amazon.com>
* fix CMakeLists.txt registrations for test files
Signed-off-by: jromnoa <jromnoa@amazon.com>
* 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