From 5cfd12daa824da3dae804e8040409f29dc43b03a Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Tue, 19 Sep 2023 15:06:38 -0700 Subject: [PATCH] add second mem only tests --- tests/datastore/testthreadproxyds2.nim | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/datastore/testthreadproxyds2.nim diff --git a/tests/datastore/testthreadproxyds2.nim b/tests/datastore/testthreadproxyds2.nim new file mode 100644 index 0000000..ca1d605 --- /dev/null +++ b/tests/datastore/testthreadproxyds2.nim @@ -0,0 +1,53 @@ +import std/options +import std/sequtils +import std/os +import std/cpuinfo +import std/algorithm +import std/importutils + +import pkg/asynctest +import pkg/chronos +import pkg/chronos/threadsync +import pkg/stew/results +import pkg/stew/byteutils +import pkg/taskpools +import pkg/questionable/results +import pkg/chronicles + +import pkg/datastore/sql +import pkg/datastore/fsds +import pkg/datastore/memoryds +import pkg/datastore/threads/threadproxyds {.all.} + +import ./dscommontests +import ./querycommontests + +const NumThreads = 200 # IO threads aren't attached to CPU count + +proc testBasicMemory() = + + suite "Test Basic ThreadDatastore with SQLite": + + var + memStore: Datastore + ds: ThreadDatastore + taskPool: Taskpool + key = Key.init("/a/b").tryGet() + bytes = "some bytes".toBytes + otherBytes = "some other bytes".toBytes + + setupAll: + memStore = MemoryDatastore.new() + taskPool = Taskpool.new(NumThreads) + ds = ThreadDatastore.new(memStore, tp = taskPool).tryGet() + + teardownAll: + (await ds.close()).tryGet() + taskPool.shutdown() + + basicStoreTests(ds, key, bytes, otherBytes) + GC_fullCollect() + +for i in 1..1000: + testBasicMemory() + GC_fullCollect()