aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-10-02 16:16:03 +0200
committerGitHub Enterprise <[email protected]>2025-10-02 16:16:03 +0200
commit09262be45e2c0a0f2055acef92630986de3ab021 (patch)
tree3a3dbe6c5d2ac667197a80aa052f29b1d2118b49
parentprojectstore refactor phase 2 (#539) (diff)
downloadzen-09262be45e2c0a0f2055acef92630986de3ab021.tar.xz
zen-09262be45e2c0a0f2055acef92630986de3ab021.zip
add zenremotestore lib (#540)
-rw-r--r--src/zenremotestore-test/xmake.lua9
-rw-r--r--src/zenremotestore-test/zenremotestore-test.cpp42
-rw-r--r--src/zenremotestore/include/zenremotestore/zenremotestore.h13
-rw-r--r--src/zenremotestore/xmake.lua11
-rw-r--r--src/zenremotestore/zenremotestore.cpp16
-rw-r--r--xmake.lua4
6 files changed, 94 insertions, 1 deletions
diff --git a/src/zenremotestore-test/xmake.lua b/src/zenremotestore-test/xmake.lua
new file mode 100644
index 000000000..a78918c69
--- /dev/null
+++ b/src/zenremotestore-test/xmake.lua
@@ -0,0 +1,9 @@
+-- Copyright Epic Games, Inc. All Rights Reserved.
+
+target("zenremotestore-test")
+ set_kind("binary")
+ set_group("tests")
+ add_headerfiles("**.h")
+ add_files("*.cpp")
+ add_deps("zenstore", "zencore", "zenremotestore")
+ add_packages("vcpkg::doctest")
diff --git a/src/zenremotestore-test/zenremotestore-test.cpp b/src/zenremotestore-test/zenremotestore-test.cpp
new file mode 100644
index 000000000..98d7ed541
--- /dev/null
+++ b/src/zenremotestore-test/zenremotestore-test.cpp
@@ -0,0 +1,42 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#include <zencore/filesystem.h>
+#include <zencore/logging.h>
+#include <zencore/trace.h>
+#include <zenremotestore/zenremotestore.h>
+
+#include <zencore/memory/newdelete.h>
+
+#if ZEN_WITH_TESTS
+# define ZEN_TEST_WITH_RUNNER 1
+# include <zencore/testing.h>
+# include <zencore/process.h>
+#endif
+
+int
+main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[])
+{
+#if ZEN_WITH_TESTS
+ zen::zenremotestore_forcelinktests();
+
+# if ZEN_PLATFORM_LINUX
+ zen::IgnoreChildSignals();
+# endif
+
+# if ZEN_WITH_TRACE
+ zen::TraceInit("zenstore-test");
+ zen::TraceOptions TraceCommandlineOptions;
+ if (GetTraceOptionsFromCommandline(TraceCommandlineOptions))
+ {
+ TraceConfigure(TraceCommandlineOptions);
+ }
+# endif // ZEN_WITH_TRACE
+
+ zen::logging::InitializeLogging();
+ zen::MaximizeOpenFileCount();
+
+ return ZEN_RUN_TESTS(argc, argv);
+#else
+ return 0;
+#endif
+}
diff --git a/src/zenremotestore/include/zenremotestore/zenremotestore.h b/src/zenremotestore/include/zenremotestore/zenremotestore.h
new file mode 100644
index 000000000..576c8ee75
--- /dev/null
+++ b/src/zenremotestore/include/zenremotestore/zenremotestore.h
@@ -0,0 +1,13 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include <zencore/zencore.h>
+
+#define ZENSTORE_API
+
+namespace zen {
+
+ZENSTORE_API void zenremotestore_forcelinktests();
+
+} // namespace zen
diff --git a/src/zenremotestore/xmake.lua b/src/zenremotestore/xmake.lua
new file mode 100644
index 000000000..35d554710
--- /dev/null
+++ b/src/zenremotestore/xmake.lua
@@ -0,0 +1,11 @@
+-- Copyright Epic Games, Inc. All Rights Reserved.
+
+target('zenremotestore')
+ set_kind("static")
+ set_group("libs")
+ add_headerfiles("**.h")
+ add_files("**.cpp")
+ add_includedirs("include", {public=true})
+ add_deps("zencore", "zenstore", "zenutil")
+ add_packages("vcpkg::robin-map")
+ add_packages("vcpkg::eastl", {public=true});
diff --git a/src/zenremotestore/zenremotestore.cpp b/src/zenremotestore/zenremotestore.cpp
new file mode 100644
index 000000000..2fa3ac6a4
--- /dev/null
+++ b/src/zenremotestore/zenremotestore.cpp
@@ -0,0 +1,16 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#include <zenremotestore/zenremotestore.h>
+
+#if ZEN_WITH_TESTS
+
+namespace zen {
+
+void
+zenremotestore_forcelinktests()
+{
+}
+
+} // namespace zen
+
+#endif
diff --git a/xmake.lua b/xmake.lua
index 7a54bd236..7242c61ab 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -198,6 +198,7 @@ includes("src/zenbase")
includes("src/zencore", "src/zencore-test")
includes("src/zenhttp", "src/zenhttp-test")
includes("src/zennet", "src/zennet-test")
+includes("src/zenremotestore", "src/zenremotestore-test")
includes("src/zenstore", "src/zenstore-test")
includes("src/zenutil", "src/zenutil-test")
includes("src/zenvfs")
@@ -258,7 +259,7 @@ task("test")
usage = "xmake test --run=[core|store|server|integration|all]",
description = "Run Zen tests",
options = {
- {'r', "run", "kv", "all", "Run test(s)", " - all", " - core ", " - store", " - server", " - integration"},
+ {'r', "run", "kv", "all", "Run test(s)", " - all", " - core ", " - remotestore", " - store", " - server", " - integration"},
{'j', "junit", "k", nil, "Enable junit report output"}
}
}
@@ -275,6 +276,7 @@ task("test")
http = "zenhttp-test",
util = "zenutil-test",
store = "zenstore-test",
+ remotestore = "zenremotestore-test",
server = "zenserver",
integration = "zenserver-test"
}