Commit Graph

29 Commits

Author SHA1 Message Date
joe pribele
1e1c6edc00 [CoreUObject] compile fix for platforms where UE_WITH_OBJECT_HANDLE_TRACKING is not on.
tests was using features only enable with handle tracking
#preflight 63405f46090af7205c1300f7

[CL 22404425 by joe pribele in ue5-main branch]
2022-10-07 13:42:37 -04:00
joe pribele
5cb3936d1c [CoreUObject] removed TObjectPtr.IsNull TObjectPtr.IsNullNoResolve FObjectPtr.IsNull and FObjectPtr.IsNullNoResolve
#rb zousar.shaker
#p4v-preflight-copy 22194027

[CL 22388016 by joe pribele in ue5-main branch]
2022-10-06 19:49:55 -04:00
joe pribele
0574fc6d7a removed usage of TObjectPtr.IsNull and IsNullNoResolve
#rb zousar.shaker
#p4v-preflight-copy 22193787

[CL 22361481 by joe pribele in ue5-main branch]
2022-10-05 15:34:23 -04:00
devin doucette
d095c9866d DerivedData: Enabled the derived data reference cache tests on Mac
#jira UE-156434
#preflight 632e18d7e23e50651ba7d9cb
#rb trivial
#rnx

[CL 22165704 by devin doucette in ue5-main branch]
2022-09-23 20:54:56 -04:00
zousar shaker
6503f197d5 Improve debugability of FObjectPtr/TObjectPtr by supplying a "DebugPtr" member on both that can be used to dereference resolved object references in debugger watch windows. This required changing TObjectPtr to not privately inherit from FObjectPtr, but to instead contain an FObjectPtr.
#rb devin.doucette
#rb matt.peters

[CL 22147494 by zousar shaker in ue5-main branch]
2022-09-22 18:18:37 -04:00
Per Larsson
7bce324dd6 Bulk Data - fix failing tests on consoles
#rb trivial
#preflight 632c9e8be23e50651b4af99f?step=26ab
#jira UE-164810
#rnx

[CL 22141333 by Per Larsson in ue5-main branch]
2022-09-22 14:34:14 -04:00
Per Larsson
53076ee403 Bulk Data - unit tests
#rb Paul.Chipchase
#jira none
#preflight
#rnx

[CL 22108256 by Per Larsson in ue5-main branch]
2022-09-21 00:53:46 -04:00
nick darnell
2920da6a0b Edits changed where the variable was accessible, adjusting that.
[CL 22064674 by nick darnell in ue5-main branch]
2022-09-16 21:00:59 -04:00
nick darnell
6c7d81f099 Core - Updating low level ObjectPtr tests, the number of resolves from updating a SoftObjectPath from an ObjectPtr should be 0.
[CL 22064071 by nick darnell in ue5-main branch]
2022-09-16 20:29:04 -04:00
nick darnell
2a866db4f0 Core - Some more build fixes!
[CL 22064041 by nick darnell in ue5-main branch]
2022-09-16 20:27:52 -04:00
nick darnell
e4d61cb40a Removing some unused stuff from ObjectRefTrackingTestBase for builds with LOW_LEVEL_TESTS in them.
[CL 22064011 by nick darnell in ue5-main branch]
2022-09-16 20:27:03 -04:00
nick darnell
42c12e3776 Core - Adding support for getting the PathName from a ObjectPtr without resolving the Object*.
Core - Refactoring the Object Handle event callbacks so that we can hook and unhook them with delegates/delegatehandles.
Core - Adding support for detecting loads via object handles as a new event distinct from resolution callback.
Core - Expanding the utility functions on FObjectRef so that we can resolve it in a myraid of fashions to get the path, the class path, the full path and the export path.

[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22063982 by nick darnell in ue5-main branch]
2022-09-16 20:26:12 -04:00
joe pribele
b24a5bae94 [CoreUObject] fix for TObjectPtr.GetClass() crashing if TObjectPtr points to null.
#rb zousar.shaker
#p4v-preflight-copy 21901752

[CL 21985036 by joe pribele in ue5-main branch]
2022-09-13 12:24:17 -04:00
Devin Doucette
0ce0756966 DerivedData: Added a way to request compressed data from derived data references
- FDerivedDataIoBatch::Compress requests the entire compressed value.
- FDerivedDataIoResponse::GetCompressedData gets the compressed buffer from the response when available.
- FDerivedDataIoResponse::GetCacheValueId has been added to get the FValueId when available.
- FDerivedDataIoResponse::GetCacheKey has been fixed to return a non-null cache key when appropriate.
- Asserts about FDerivedData now log the derived data reference too.

#preflight 631a5f6fa60c539c98ab5fa9
#rb Zousar.Shaker

[CL 21920523 by Devin Doucette in ue5-main branch]
2022-09-09 10:36:44 -04:00
Devin Doucette
1225bdd006 CoreUObject: Disable the FObjectHandle::Resolve test until its warnings and errors are fixed
#preflight 62ffed75904ba3bd264adf8d
#rb Zousar.Shaker
#rnx
#fyi Chris.Constantinescu

[CL 21464067 by Devin Doucette in ue5-main branch]
2022-08-19 16:12:42 -04:00
joe pribele
574962f316 [Core] make tests work in Test config
added ifdef to FObjectPathId to enabled for WITH_LOW_LEVEL_TESTS
changed ObjectHandleTest to use test data to avoid having to working with cooked, non-cooked or editor only data

#rb zousar.shaker
#p4v-preflight-copy 21321644
#preflight 62fbef15fd15f5152dcfe38e

[CL 21412488 by joe pribele in ue5-main branch]
2022-08-16 15:53:22 -04:00
JeanFrancois Dube
f0a7eba632 Fix constructing a FSoftObjectPath from a FObjectPtr.
The original code was trying to build the path to the object without resolving it, but that seems impossible with redirectors, etc.

#rb zousar.shaker
#fyi semion.piskarev, ben.zeigler
#preflight 62acb7695d5264997e21fbfc
#rnx

[CL 20706268 by JeanFrancois Dube in ue5-main branch]
2022-06-17 13:41:41 -04:00
steve robb
fd2a0b1e20 Removal of TEXT literal concatenations, which doesn't work in UTF-8 mode.
#rb devin.doucette
#jira UE-132142
#preflight 62a8748fa76c84377748036b

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20647443 via CL 20648283 via CL 20648315
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20651786 by steve robb in ue5-main branch]
2022-06-14 12:46:34 -04:00
Zousar Shaker
4d894be5dd Make FObjectPtr/TObjectPtr default initialize to nullptr. Also added an ENoInit constructor if a caller wants them to be uninitialized.
#rb devin.doucette
#robomerge EngineMerge
#preflight 62a77c9ed068a796cb6d790a

[CL 20631308 by Zousar Shaker in ue5-main branch]
2022-06-13 14:26:05 -04:00
Devin Doucette
7b4bbf54d4 Temporarily disabled a test on Mac because of issues on CI
#rb none
#rnx
#preflight 6297a73a7b033c7273a75a17

[CL 20455562 by Devin Doucette in ue5-main branch]
2022-06-01 14:09:45 -04:00
Devin Doucette
87340081ea DerivedData: Added a new API in place of the use of IoDispatcher
#preflight 62961234e62c873b96c939d5
#rb Zousar.Shaker

[CL 20445536 by Devin Doucette in ue5-main branch]
2022-05-31 22:01:40 -04:00
Per Larsson
c30e677d1b Merge BulkData 1&2
#rb Paul.Chipchase, PJ.Kack, CarlMagnus.Nordin
#jira none
#preflight 629085d14f63120d8e170977

###
This change attempts to merge the editor and the runtime version of bulk data, i.e. bulk data one and two.
The major difference between the two is the fact that the editor version supported element vice
serialization via inheritance. This has been complelety removed in the runtime version. In order
to mitigate this divergance a non-virtual base class has been extracted that forms the base
for the untyped and typed versions of bulk data.
The untyped version is only used in editor and will be deprecated. However this is a breaking change,
previously it was possible to inherit from FByteBulkData in editor builds.
Other differences between the two includes:
* IsBulkDataLoaded - returns true for bulk data 1 if an allocation has been made even if the size is zero
* StartStreaming - was removed in bulk data 2 and has been removed
* FlushAsyncLoading - bulk data 2 was busy waiting, now an event is used

All I/O related functionality has been extracted into BulkDataStreaming.cpp and is using
a  FBulkDataChunkId that is either a package path or a package ID.This could potentially
be extended to contain a cache key in development builds to support loading from DDC, i.e derived
data references.

[CL 20391050 by Per Larsson in ue5-main branch]
2022-05-27 04:31:58 -04:00
David Harvey
910086f603 add missing include
#rb trivial
#jira none
#rnx
#preflight 6274db228d32cd80d8d43998

[CL 20073359 by David Harvey in ue5-main branch]
2022-05-06 04:29:17 -04:00
chris constantinescu
28111d40fc Redundancy cleanup in UBT Low Level Tests:
- test-specific targets and modules are constructed by RulesAssembly which removes a lot of spaghetti code
- no more excluding the Tests folder by default which is guaranteed to mislead users #fyi Jon.Nabozny
- test compilation in Tests is controlled through WITH_LOW_LEVEL_TESTS
- preparation code for switching tests between Catch2 / TestAutomation Fmwk

Nightly LLT PF 6260431391376845adeb4c40

#rnx
#preflight 62602d50dd47b4ad2173c30b

[CL 19834665 by chris constantinescu in ue5-main branch]
2022-04-20 14:24:59 -04:00
chris constantinescu
054a91e666 Introduce global setup for the LowLevelTests project.
Motivation: CoreUObject, taskgraph and threads are global constructs and need to be initialized as such and are expensive to setup/teardown before/after multiple single tests.

Introduced --global-setup and --no-global-setup to control execution of global test setup.
Unit tests that rely heavily on mocking and are designed to run without any global context should use --no-global-setup

Other: Removed CoreTestFixture and applied minor fixes wherever things didn't make sense.
One particular CoreUObject test was converted but had always failed to run on non-desktop platforms. It needs to be addressed ASAP.

#preflight 625873c7e304a95465fc148e
#rb Devin.Doucette, Zousar.Shaker

[CL 19769262 by chris constantinescu in ue5-main branch]
2022-04-15 07:21:27 -04:00