aboutsummaryrefslogtreecommitdiff
path: root/zenserver-test
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-025-3688/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-241-11/+31
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* tweaks for enabling unity buildsStefan Boberg2023-04-191-0/+1
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* zenserver-test: ensure MakeOplog does not send an invalid payloadStefan Boberg2023-03-301-0/+1
|
* send payloads as duplicated handles (#240)Dan Engelbrecht2023-03-141-6/+157
| | | | | | | | | * send payloads as duplicated handles if requestor provides process id and allows local file references. * linux/macos fixes * tests * fix access rights when duplicating handle * fix closing of duplicated handles on error * cleanup * changelog
* add test for fnf responses in project store (#238)Dan Engelbrecht2023-02-221-1/+13
|
* oplog upload/download (#214)Dan Engelbrecht2023-02-091-4/+542
| | | | | | | | | | | | - Feature: Zen server endpoint `prj/{project}/oplog/{log}/chunks` to post multiple attachments in one request. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/save` to save an oplog container. Accepts `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/load` to request an oplog container. Responds with an `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `{project}/oplog/{log}/rpc` to initiate an import to or export from an external location and other operations. Use either JSon or CbPackage as payload. - CbObject/JSon RPC format for `import` and `export` methods: - CbObject RPC format for `getchunks` method, returns CbPackage with the found chunks, if all chunks are found the number of attachments matches number of chunks requested. - Feature: Zen server `{project}/oplog/{log}/{hash}` now accepts `HttpVerb::kPost` as well as `HttpVerb::kGet`. - Feature: Zen command line tool `oplog-export` to export an oplog to an external target using the zenserver oplog export endpoint. - Feature: Zen command line tool `oplog-import` to import an oplog from an external source using the zenserver oplog import endpoint.
* mergeStefan Boberg2023-01-261-175/+0
|\
| * removed HttpLaunchService and related codeStefan Boberg2023-01-241-175/+0
| | | | | | | | this was used for testing but is no longer wanted in this form
* | removed experimental mesh codeStefan Boberg2023-01-261-31/+0
|/ | | | should be replaced with a proper implementation later
* Changed so CompressedBuffer::DecodeRawHash returns IoHash just like on the ↵Stefan Boberg2022-12-121-9/+9
| | | | | | UE side (#208) removed all use of IoHash::FromBLAKE3() caused by interactions with CompressedBuffer APIs
* optimizations (#200)Dan Engelbrecht2022-12-071-13/+13
| | | | | | | | | | | | | * Use direct file read and direct buffer allocation for small IoBuffer materalization * Reduce range of materialized data in CompositeBuffer reading CompressedBuffer header reading often only need a small part and not the whole file * reduce lock contention in IoBuffer::Materialize * Reduce parsing of compressed headers Validate header type at decompression * faster CreateDirectories - start from leaf going up and recurse back * optimized BufferHeader::IsValid * Add ValidateCompressedHeader to use when we don't need the actual compressed data Validate that we always get compressed data in CidStore::AddChunk * changelog
* Add `import-project` and `export-project` (#183)Dan Engelbrecht2022-11-181-9/+12
| | | * Add `import-project` and `export-project` command line parsing
* Add "Accept" field in RPC request to gracefully handle requests from older ↵Dan Engelbrecht2022-10-131-9/+21
| | | | instances (#180)
* Format all rpc package responses using `FormatPackageMessageBuffer` to avoid ↵Dan Engelbrecht2022-09-291-10/+11
| | | | | memory copy (#174) When reading upstream, fall back to old rpc response to handle older instances.
* De/fix crash on non responding upstream (#145)Dan Engelbrecht2022-08-191-2/+278
| | | * Fix ZenStructuredCacheClient lifetime issues
* Use cacherequest::* for zenserver tests (#135)Dan Engelbrecht2022-06-301-401/+162
| | | | | * use cacherequests in zcache.rpc * use cacherequests for zcache.rpc.allpolicies
* cache requests API (#134)Dan Engelbrecht2022-06-271-0/+2
|
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-171-137/+39
| | | | | | | | | | | | | | | | | | - Bumped ZEN_SCHEMA_VERSION - CasStore no longer a public API, it is hidden behind CidStore - Moved cas.h from public header folder - CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash - CasStore now decompresses data to validate content (matching against RawHash) - CasChunkSet renames to HashKeySet and put in separate header/cpp file - Disabled "Chunk" command for now as it relied on CAS being exposed as a service - Changed CAS http service to Cid http server - Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define - Removed "cas.basic" test - Uncommented ".exec.basic" test and added return-skip at start of test - Moved ScrubContext to separate header file - Renamed CasGC to GcManager - Cleaned up configuration passing in cas store classes - Removed CAS stuff from GcContext and clarified naming in class - Remove migration code
* trivial: removed some unnecessary WriteToString in unit testsStefan Boberg2022-06-131-20/+15
|
* clang formatDan Engelbrecht2022-06-031-2/+2
|
* merge from mainStefan Boberg2022-06-031-3/+8
|\
| * Add catch2 support (#101)Stefan Boberg2022-05-201-5/+14
| | | | | | | | | | | | | | Added option to use catch2 for unit tests Currently both doctest and catch2 are supported via some compatibility macros. doctest is the default, and ZEN_USE_CATCH2 needs to be defined to switch to catch2. Our goal is to evaluate how well catch2 works and switch to catch2 if everything pans out since UE5 now supports using catch2 for unit tests.
* | Merge branch 'main' into use-catch2Stefan Boberg2022-05-201-14/+28
|\|
| * fix testsDan Engelbrecht2022-05-191-9/+9
| |
| * Keep Namespace out of CacheKey and store it on request levelDan Engelbrecht2022-05-191-21/+28
| | | | | | | | | | RPC requests now has a Namespace field under Params instead of one Namespace per cache key Fall back to legacy upstream HTTP URI format if default namespace is requested
| * parameterize namespace for upstream (first hack)Dan Engelbrecht2022-05-111-16/+23
| |
* | commented out some doctest::skip tests for now (does not compile with catch2)Stefan Boberg2022-05-191-1/+1
| |
* | Merge from mainStefan Boberg2022-04-251-1/+1
|\|
| * skip websocket.basic test as it fails on linux ciDan Engelbrecht2022-04-121-1/+1
| |
* | Added option to use Catch2 framework for testsStefan Boberg2022-04-051-38/+38
|/
* Skip zenserver-test exec.basic test since it tries to access a non-existent ↵Dan Engelbrecht2022-03-231-1/+1
| | | | file path
* Enable Horde compute code on Linux & Mac (#61)Joe Kirchoff2022-03-221-6/+4
|
* zenserver-test zcache.rpc.allpolicies: Fix incorrect ValueId in ↵Matt Peters2022-02-221-1/+1
| | | | GetCacheChunks request.
* zenserver-test zcache.rpc.allpolicies: Fix uninitialized Oid.Matt Peters2022-02-221-1/+1
|
* Add feedback about failing checks in zcache.rpc.allpoliciesMatt Peters2022-02-221-37/+54
|
* Fixed crashing websocket test.Per Larsson2022-02-221-3/+1
|
* Stop I/O context when running websocket tests.Per Larsson2022-02-211-1/+2
|
* Initial support for websockets.Per Larsson2022-02-211-0/+96
|\
| * Added option to enable websockets.Per Larsson2022-02-211-1/+1
| |
| * Refactored websocket message.Per Larsson2022-02-211-33/+21
| |
| * Basic websocket service and test.Per Larsson2022-02-181-8/+24
| |
| * Simple websocket client/server test.Per Larsson2022-02-181-4/+96
| |
* | Value propagation fix - Read/Write ValueAPI as CompressedBinary type when ↵mattpetersepic2022-02-181-7/+9
| | | | | | | | | | | | writing to zen and horde upstreams. Return failure from HandleGetCacheRecord if the requested type does not match the cachetype. (#55) * Fix bug with getting values PUT to Jupiter as CompressedBinary. When getting CompressedBinary records from Jupiter, they are expected to now be a record with a reference to the compact binary. This has to be accounted for when performing upstream GETs. * HandleGetCacheRecord: avoid crashing on invalid type, and avoid sending back data that doesn't match the AcceptType.
* | Fixed GCC non-conformant errors regarding "KeyData* KeyData;"Martin Ridgers2022-02-111-7/+7
| |
* | Fixed "UserData* UserData" non-conformancy errors from GCCMartin Ridgers2022-02-111-12/+12
| |
* | Simplify HandleRpcGetCacheChunks (#53)mattpetersepic2022-02-091-0/+623
|/ | | Refactor HandleRpcGetCacheChunks to reduce complexity. Port CacheStore tests from Unreal.
* Removed old http client test codeStefan Boberg2022-02-041-416/+0
|
* clang-formatStefan Boberg2022-02-021-5/+5
|
* Cache policy support (#47)mattpetersepic2022-02-012-60/+76
| | | | | | | | Add HandleRpc methods for the remaining ICacheStore requests from unreal: PutCacheValues/GetCacheValues. We now have batched versions for PutCacheRecords,GetCacheRecords,PutCacheValues,GetCacheValues,GetCacheChunks. Add support for CachePolicy flags to all of these batched methods. * Add Batched PutCacheValues/GetCacheValues. Rename old GetCacheValues to GetCacheChunks. * HandleRpcGetCacheRecords: Receive a CacheRecordPolicy with each key, and skipdata on attachments we already have. * Changes to CachePolicy copied from Release-5.0 depot. Change serialization to use the key BasePolicy instead of DefaultValuePolicy. * GetChunks: Read CacheRecords from remote if necessary to find ContentId. Implement QueryLocal, StoreLocal, and SkipData.