From af310306adab731560283da7824faab2f7cb746e Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Thu, 14 Sep 2023 17:56:20 -0600 Subject: [PATCH] enable sqllite threading tests --- tests/datastore/querycommontests.nim | 81 +++++++++++++++++++-------- tests/datastore/testthreadproxyds.nim | 2 +- 2 files changed, 59 insertions(+), 24 deletions(-) diff --git a/tests/datastore/querycommontests.nim b/tests/datastore/querycommontests.nim index b18e822..a0f93a7 100644 --- a/tests/datastore/querycommontests.nim +++ b/tests/datastore/querycommontests.nim @@ -41,8 +41,8 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = res: seq[QueryResponse] cnt = 0 - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break @@ -75,13 +75,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res @@ -109,13 +113,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res @@ -143,13 +151,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = var res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res @@ -184,9 +196,20 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet - res = (await allFinished(toSeq(iter))) - .mapIt( it.read.tryGet ) - .filterIt( it.key.isSome ) + res = block: + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet + if key.isNone: + break + + res.add((key, val)) + cnt.inc + + res check: res.len == 10 @@ -208,13 +231,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res @@ -238,13 +265,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res @@ -284,13 +315,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = let iter = (await ds.query(q)).tryGet res = block: - var res: seq[QueryResponse] - while not iter.finished: - let (key, val) = (await iter.next()).tryGet + var + res: seq[QueryResponse] + cnt = 0 + + for pair in iter: + let (key, val) = (await pair).tryGet if key.isNone: break res.add((key, val)) + cnt.inc res diff --git a/tests/datastore/testthreadproxyds.nim b/tests/datastore/testthreadproxyds.nim index 4852afa..8c38798 100644 --- a/tests/datastore/testthreadproxyds.nim +++ b/tests/datastore/testthreadproxyds.nim @@ -52,4 +52,4 @@ suite "Test Query ThreadDatastore": (await ds.close()).tryGet() taskPool.shutdown() - queryTests(ds, false) + queryTests(ds, true)