1095
|
1 import std/os
|
|
2
|
|
3 import semicongine
|
|
4
|
|
5 proc testSimple(storage: StorageType) =
|
|
6 const TEST_VALUE = 42
|
|
7 const KEY = "test"
|
|
8
|
|
9 # get default
|
|
10 var promise1 = load[int](storage, KEY)
|
|
11 assert promise1.awaitResult() == default(type(TEST_VALUE))
|
|
12
|
|
13 # save and load custom
|
|
14 var promise2 = store(storage, KEY, TEST_VALUE)
|
|
15 promise2.awaitStored()
|
|
16 promise1 = load[int](storage, KEY)
|
|
17 assert promise1.awaitResult() == TEST_VALUE
|
|
18
|
|
19 proc testBusyWait(storage: StorageType) =
|
|
20 const TEST_VALUE = "43"
|
|
21 const KEY = "test2"
|
|
22
|
|
23 # get default
|
|
24 var promise1 = load[string](storage, KEY)
|
|
25 while not promise1.hasResult():
|
|
26 sleep(1)
|
|
27 assert promise1.getResult() == default(type(TEST_VALUE))
|
|
28
|
|
29 # save and load custom
|
|
30 var promise2 = store(storage, KEY, TEST_VALUE)
|
|
31 while not promise2.isStored():
|
|
32 sleep(1)
|
|
33 promise1 = load[string](storage, KEY)
|
|
34 while not promise1.hasResult():
|
|
35 sleep(1)
|
|
36 assert promise1.awaitResult() == TEST_VALUE
|
|
37
|
|
38 proc main() =
|
|
39 echo "SystemStorage: Testing simple store/load"
|
|
40 SystemStorage.testSimple()
|
|
41 echo "SystemStorage: Testing store/load with busy wait"
|
|
42 SystemStorage.testBusyWait()
|
|
43
|
|
44 UserStorage.purge()
|
|
45 echo "UserStorage: Testing simple store/load"
|
|
46 UserStorage.testSimple()
|
|
47 echo "UserStorage: Testing store/load with busy wait"
|
|
48 UserStorage.testBusyWait()
|
|
49 UserStorage.purge()
|
|
50
|
|
51 when isMainModule:
|
|
52 main()
|