diff --git a/tests/exampleGcFailures/exFailureSeqSeqCursor.nim b/tests/exampleGcFailures/exFailureSeqSeqCursor.nim index 8b21d99..9b3544f 100644 --- a/tests/exampleGcFailures/exFailureSeqSeqCursor.nim +++ b/tests/exampleGcFailures/exFailureSeqSeqCursor.nim @@ -24,6 +24,7 @@ proc worker(data: SeqCursor, sig: ThreadSignalPtr) = os.sleep(10) echo "running worker: " echo "worker: ", data.data + echo "worker:addr: ", cast[pointer](data.data).repr # for i, d in data.data: # for j, c in d: # data.data[i][j] = char(c.uint8 + 10) @@ -41,11 +42,13 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = ## adding fut.wait(100.milliseconds) creates memory issue await wait(sig) + echo "data:addr: ", data.addr.pointer.repr + echo "data:cursor:addr: ", cast[pointer](cur.data).repr ## just doing the wait is fine: # await wait(sig) proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = - for i in 1..3_000: + for i in 1..1: try: await runTest(tp, sig) except AsyncTimeoutError: @@ -60,4 +63,4 @@ suite "async tests": asyncTest "test": await runTests(tp, sig) - os.sleep(10_000) + # os.sleep(10_000) diff --git a/tests/exampleGcFailures/exNoFailurePtrSeqSeq.nim b/tests/exampleGcFailures/exNoFailurePtrSeqSeq.nim index 5043af2..d12cd54 100644 --- a/tests/exampleGcFailures/exNoFailurePtrSeqSeq.nim +++ b/tests/exampleGcFailures/exNoFailurePtrSeqSeq.nim @@ -44,7 +44,7 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr, i: int) {.async.} = proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = var futs = newSeq[Future[void]]() - for i in 1..40_000: + for i in 1..1: let f = runTest(tp, sig, i) # futs.add f await f diff --git a/tests/exampleGcFailures/exNoFailureSeqSeq.nim b/tests/exampleGcFailures/exNoFailureSeqSeq.nim index f723391..16c9f51 100644 --- a/tests/exampleGcFailures/exNoFailureSeqSeq.nim +++ b/tests/exampleGcFailures/exNoFailureSeqSeq.nim @@ -16,11 +16,11 @@ import taskpools ## generally does so in a few seconds of running. ## -proc worker(data: ptr seq[seq[char]], sig: ThreadSignalPtr) = +proc worker(data: seq[seq[char]], sig: ThreadSignalPtr) = # os.sleep(100) echo "running worker: " - echo "worker: ", data.pointer.repr - echo "worker: ", data[] + echo "worker: ", data.unsafeAddr.pointer.repr + echo "worker: ", data # for i, d in data: # for j, c in d: # data[i][j] = char(c.uint8 + 10) @@ -35,7 +35,7 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr, i: int) {.async.} = var data = @[obj1, obj2] # echo "spawn worker" - tp.spawn worker(addr data, sig) + tp.spawn worker(data, sig) await wait(sig) echo "data: ", data.addr.pointer.repr