* 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
* 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>