Commit Graph

332 Commits (72e5ab44373482d35bfee7b3ba2fcc4c8bf6830f)

Author SHA1 Message Date
AMZN-koppersr c333824673
Merge pull request #1001 from yuriy0/SerializeContextToolsConvertHandleAnyValidation
Bug fix: handle the case where the data source type is `any' in the SCT converter command validation step.
5 years ago
lumberyard-employee-dm 9f2fd0b573
Merge branch 'aws-lumberyard:development' into SerializeContextToolsConvertHandleAnyValidation 5 years ago
John 43b1d0444d Fix PythonBindingsExampleTest name 5 years ago
John 8e9ffc458c Fix PythonBindingsExampleTest.Application_Run_Fails 5 years ago
John 15bf2d20ed Merge branch 'development' into TIF/Runtime 5 years ago
John 0e6a266e89 Remove frontend console tests 5 years ago
Alex Peterson ecded991b5
Display error when unable to start Python
Added AzFramework Application, logging, unit tests
5 years ago
amzn-mike 364187a87b
Merge pull request #1047 from aws-lumberyard-dev/Helios_AssImp_TransformImporterFix
Fix AssImpTransformImporter logic for bone nodes
5 years ago
AMZN-nggieber 948075fa61
Gem Catalog Allows Filtering by Gem Selected Status Live (#1274) 5 years ago
sharmajs-amzn 86d0acf76c
fixes for invalid drive letter casing for scanfolder (#1281) 5 years ago
Mike Balfour 6f61454be4
Added support for remapping entity refs across slice instances (#1284)
* Fixed memory assert on shutdown.
Cleaned up the entity pointers on serialization, so that they no longer leak themselves, their asset references, or anything else within them.

* Added support for remapping entity refs across slice instances.
Slice instances can have components with entity references that have been modified to reference entities in other slice instances, or even in the parent.  This change detects and remaps those references so that they work correctly.
5 years ago
amzn-mike a3ae330e6d Merge branch 'stabilization/2106' into Helios_AssImp_TransformImporterFix 5 years ago
amzn-mike 9ff007024d Merge branch 'main' into Helios_AssImp_TransformImporterFix 5 years ago
amzn-sj e6b8dc2ce1 Disable AzTest and AzTestRunner in monolithic builds 5 years ago
Mike Balfour ffe913a2d6
Added ability to convert multiply-nested slices (#1239) (#1245)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.

(cherry picked from commit 86136ddfa6)
5 years ago
Steve Pham b2bafc44ab
LYN-2705: Remove 'AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS' trait for Linux (#1235)
* Fix Delete_Real_Readonly_Fails to mark parent directory as read-only as well

Read-only files in Windows cannot be deleted. The previous version of this
code relied on that fact, and would attempt to delete a file even when
`skipReadOnly = true`, relying on the OS to refuse to delete the file if it
is read only. On Linux, it is the writable state of the *directory* that
determines if a file can be deleted or not. This fixes the test to set up
the correct situation where a file deletion would fail.

* Remove excluded items from a vector before iterating over it

Removing items from the `pathMatches` `QStringList` while iterating over it
was causing a segfault on Linux. This change separates out the item removal
from the item iteration, which allows the item iteration loop to use a
range-for loop instead of directly manipulating iterators.

* Remove invalid test that asserts a file's metadata file can have differing file casing

This test is asserting that a given source file and its accompanying
metadata file can have the the same name but differing case. This is really
testing whether or not the underlying filesystem that those files live on
is case sensitive or not. The 99% chance is that users are using the
default filesystem that their host OS gives them, NTFS on Windows, EXT* on
Linux, and APFS on Mac. Even though NTFS is case-insensitive by default,
it [can be configured per-directory](https://devblogs.microsoft.com/commandline/improved-per-directory-case-sensitivity-support-in-wsl/).
APFS as well can be configured to be case-sensitive. For users with case
sensitive filesystems, this test makes no sense. We could extend this test
to inspect the case-sensitivity of the underlying filesystem, but then it
is just testing the filesystem's behavior, which seems out of scope of this
test.

* Use a non-priviliged port for the Asset Processor tests

From https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html:

> The TCP/IP port numbers below 1024 are special in that normal users are not
> allowed to run servers on them. This is a security feaure, in that if you
> connect to a service on one of these ports you can be fairly sure that you
> have the real thing, and not a fake which some hacker has put up for you.
>
> When you run a server as a test from a non-priviliged account, you will
> normally test it on other ports, such as 2784, 5000, 8001 or 8080.

* Fix for `QDir::rmdir(".")` not working in Linux

Qt uses `::rmdir` to remove directories on Linux. This comes from
[unistd.h](https://pubs.opengroup.org/onlinepubs/007904875/functions/rmdir.html)
The documentation for that function states:

> If the path argument refers to a path whose final component is either dot
> or dot-dot, rmdir() shall fail.

So calling `dir.rmdir(".")` will never work on Linux.

Instead, get the parent directory, and remove the child directory by name.

* Avoid lowercasing source asset paths when resolving dependencies

Source asset paths may be case sensitive, so their case must be preserved
when doing operations that hit the underlying filesystem. This method was
always lowercasing them, which would cause dependencies to not be found.

* Correct test to expect product filenames to be lowercase

The modtime tests were failing in Linux due to something unrelated to file
modtime checking. The Asset Processor Manager does this during AnalyzeJob:

```
if (foundInDatabase && jobs[0].m_fingerprint == jobDetails.m_jobEntry.m_computedFingerprint)
{
    // If the fingerprint hasn't changed, we won't process it.. unless...is it missing a product.
```

In this case, the test was setting up a product whose file case was the
same as the source asset, and would write it to the cache dir using mixed
case, but use the normal asset processor API to write the product file path
to the database, which recorded the path in lowercase. When the manager
then went to check if the source asset's products all exist, it checked the
lowercase path, which didn't exist.

This fixes that test failure, by updating the test to write the product
file to the cache using the proper lowercased path.

* Update test to define a "not current platform" for Linux

This test was failing because it was setting some "not current platform"
variable to be set to "pc" on Linux, when
`AssetSystem::GetHostAssetPlatform()` is defined to:

```cpp
inline const char* GetHostAssetPlatform()
{
    return "mac";
    return "pc";
    // set this to pc because that's what bootstrap.cfg currently defines the platform to "pc", even on Linux
    return "pc";
    #error Unimplemented Host Asset Platform
}
```

The test would go on to assert that "pc" was simultaneously in a list and
not in the same list.

This fixes the test by updating the code to set the "not the current
platform" variable appropriately on Linux.

The expectations were also updated to improve the output on test failure.
Instead of this:
```
Value of: recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)
  Actual: true
Expected: false
```

You now get this:
```
Value of: recogs["rend"].m_platformSpecs.keys()
Expected: (has 3 elements and there exists some permutation of elements such that:
 - element #0 is equal to pc, and
 - element #1 is equal to es3, and
 - element #2 is equal to server) and (doesn't contain any element that is equal to pc)
  Actual: { pc, server, es3 } (of type QList<QString>), whose element #0 matches
```

* Prevent windows supported path separators to be included in the test paths for UpdateToCorrectCase_ExistingFile_ReturnsTrue_CorrectsCase

* Fix failing linux unit test "PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder"
caused by static variable not being reset from a different test run when using AssetUtilities::ComputeProjectPath

* Fix AZ_RTTI declaration for RequestEscalateAsset Message

* Implement FileWatcher for Linux to fix AssetProcessorMessages.All test (RequestAssetStatus)

* Split AssetProcessorMessages into 2 tests, one with RequestAssetStatus/ResponseAssetStatus and one without
Add The RequestAssetStatus/ResponseAssetStatus as a sandbox test because it relies on FileWatcher thread and seems to be timing related

* Remove FileWatcher_win.cpp from the Linux specific folder for FileWatcher

* - Fix build error related to non-unity builds
- Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/UtilitiesUnitTest' caused by misplaced windows only EXPECT
- Remove test trait AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS for linux to expose remaining failed tests

* Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/RCcontrollerUnitTests' caused by misplaced windows only EXPECT

* - Fix FileWatcher unit test, disable incompatible subtests for Linux
- Fix errors in FileWatcher_linux from results of the FileWatcher Unit Test

* Remove AZ::AssetProcessor.Tests.Sandbox tests from definition and restore the original AssetProcessorMessages.All tests now that Filewatcher_linux was fixed

* Fixes for failed unit tests: AssetProcessorManagerUnitTests and AssetProcessorManagerUnitTests_JobDependencies_Fingerprint
- Caused by differences between between case-sensitive files (Linux) and non-case-sensitive Filesystems (Windows)

* Update consts in FileWatcher_linux.cpp to constexpr

* Fixes related to PR comment suggestions

* - Removed std::bind and replaced with lambda in FileWatcher_linux
- Replaced String replace functions for path separators to use AZ::IO::Path::LexicallyNormal() instead

* Restoring string replace function in PathDependencyManager::ResolveDependencies due to unit test failure

Co-authored-by: Chris Burel <burelc@amazon.com>
5 years ago
John 1cef72ab8d Fix uncommented tests 5 years ago
Scott Romero 5436e08d15
[stabilization/2106] fixed startup crash in project manager from installer build (#1231) 5 years ago
John af0bcb0636 Remove test files 5 years ago
John 169d4da288 Address PR comments 5 years ago
scottr 5061241992 [cpack/stabilization/2106] early out if sys import fails in PythonBindings::StartPython 5 years ago
lumberyard-employee-dm a9e59fd75f
Updating the DefaultProject template to not insert the project-path parameter (#1223)
* Updating the DefaultProject template to not insert the project-path parameter into the VS Debugger Arguments for any applications

Added project-path injection directly within the LauncherUnified and AssetBuilder cmake scripts where their targets are defined

* Removing the add_vs_debugger_arguments call from the AutomatedTesting CMakeLists.txt
5 years ago
AMZN-nggieber 5330309cb1
Set Desktop Icon for Project Manager (#1225)
* Set executable icon for O3DE
5 years ago
scottr 2eefc08d2e [cpack/stabilization/2106] fixed startup crash in project manager from installer build 5 years ago
lumberyard-employee-dm 217eddc8bd
Fixing the enable_gem.py and disable_gem.py commands (#1207)
* Fixing the enable_gem.py and disable_gem.py commands
The project path wasn't taking into account when querying for gems,
templates and restricted directories registered with the project

Fixing the cmake.py add_gem_dependency and remove_gem_dependency methods
to properly detect a gem within a `set(ENABLED_GEM ...)` cmake variable
Also updated the add_gem_dependency to add the gem right before the end
marker of ')'
Updated the remove_gem_dependency to remove each instance of a gem with
a content that is in between in the `set(ENABLED_GEM ...)` cmake
variable

* Correct Typo in manifest.get_registered doc string
5 years ago
AMZN-nggieber b26b472bba
Fix Editor being opened twice by project (#1213) 5 years ago
Esteban Papp 4b3d0d1054
LYN-4327 [SDK] External Gem's aren't added to the project solution when using SDK (#1191)
* should pickup the external directories registered by the project

* Add support for AzTest and AzTestRunner in the SDK

* missing IMPORT_LIB

* Moved where .Assets targets get generated so they are visible in the SDK

* generate the Directory.Build.props in the right path

* excluding target on platforms that dont support it
5 years ago
jonawals e2d601ad59 Merge branch 'TIF/Runtime' into TIF/Jenkins 5 years ago
jonawals dd93c42342 Fix missing keys 5 years ago
jonawals a9e6eaa57a Fix anon enum clash with uber files 5 years ago
jonawals 98670a21bc Fix missing copyright header 5 years ago
jonawals 6db9a00315 Merge branch 'TIF/Runtime' into TIF/Jenkins 5 years ago
jonawals a2a9c23c7c Merge branch 'main' into TIF/Runtime 5 years ago
jonawals 656aa528d8 Implement new handling of tiaf seed data 5 years ago
jonawals 7a884c85b3 Address PR comments 5 years ago
jonawals 9e187d67a4 Fix typo with delete files filter 5 years ago
jonawals c9351f4d45 Make TestEngine clean up artifact dir before runs 5 years ago
jonawals e0f953cf6b Address PR comments 5 years ago
Alex Peterson 7ca7ad9b72
Fix missing user_tags exception and configure gems button 5 years ago
Esteban Papp 36cb0f6d40
SPEC-7178 Removal of precompiled cpp files (#1171)
* SPEC-7178  Removal of precompiled cpp files

* Missing files...
5 years ago
amzn-mgwynn 38865c95e2
Merge pull request #1162 from aws-lumberyard-dev/Prism/gem-db
Adding python bindings for modifying project properties
5 years ago
mgwynn 1900a42203 remove const ref from iterator for python object conversion since pybind only returns copies and produces a clang error 5 years ago
mgwynn 01b200ad42 removing unused define 5 years ago
mgwynn 6d6f8413c8 Incorporating review comments. Some parameter modifications. Some cli edge case handling. Remove remove_tag member from project info 5 years ago
jonawals a56591fa12 Address PR comments 5 years ago
jonawals f603b08d05 Address PR comments 5 years ago
jonawals cc9e8a72e4 Fix coverage clear bug and other minor refactors 5 years ago
jonawals 796b5be286 Address PR comments 5 years ago
jonawals a0feeec608 Add console output to runtime 5 years ago
jonawals d341dab7f5 Address PR comments 5 years ago