test/run_storage: move initialization to class GlobalInit

This commit is contained in:
Max Kellermann 2024-05-15 10:12:39 +02:00
parent 5c2720a931
commit 57fad1d4b2

View File

@ -20,6 +20,20 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
class GlobalInit {
const ScopeNetInit net_init;
EventThread io_thread;
public:
GlobalInit() {
io_thread.Start();
}
EventLoop &GetEventLoop() noexcept {
return io_thread.GetEventLoop();
}
};
static std::unique_ptr<Storage> static std::unique_ptr<Storage>
MakeStorage(EventLoop &event_loop, const char *uri) MakeStorage(EventLoop &event_loop, const char *uri)
{ {
@ -103,9 +117,7 @@ try {
const char *const command = argv[1]; const char *const command = argv[1];
const char *const storage_uri = argv[2]; const char *const storage_uri = argv[2];
const ScopeNetInit net_init; GlobalInit init;
EventThread io_thread;
io_thread.Start();
if (StringIsEqual(command, "ls")) { if (StringIsEqual(command, "ls")) {
if (argc != 4) { if (argc != 4) {
@ -115,7 +127,7 @@ try {
const char *const path = argv[3]; const char *const path = argv[3];
auto storage = MakeStorage(io_thread.GetEventLoop(), auto storage = MakeStorage(init.GetEventLoop(),
storage_uri); storage_uri);
return Ls(*storage, path); return Ls(*storage, path);
@ -127,7 +139,7 @@ try {
const char *const path = argv[3]; const char *const path = argv[3];
auto storage = MakeStorage(io_thread.GetEventLoop(), auto storage = MakeStorage(init.GetEventLoop(),
storage_uri); storage_uri);
return Stat(*storage, path); return Stat(*storage, path);