mirror of
https://github.com/logos-storage/logos-storage-nim-dht.git
synced 2026-02-12 17:33:32 +00:00
parallelize tests
This commit is contained in:
parent
d7cc0ae783
commit
a2fd23adee
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
||||
*
|
||||
!*.*
|
||||
!*/
|
||||
coverage
|
||||
nimcache
|
||||
tests/testAll
|
||||
|
||||
@ -8,7 +8,7 @@ task testAll, "Run DHT tests":
|
||||
exec "nim c -r tests/testAll.nim"
|
||||
|
||||
task test, "Run DHT tests":
|
||||
testAllTask()
|
||||
exec "nim c -r --verbosity:0 tests/testAllParallel.nim"
|
||||
|
||||
when getEnv("NIMBUS_BUILD_SYSTEM") == "yes" and
|
||||
# BEWARE
|
||||
|
||||
@ -53,7 +53,7 @@ proc nodeIdInNodes*(id: NodeId, nodes: openArray[Node]): bool =
|
||||
for n in nodes:
|
||||
if id == n.id: return true
|
||||
|
||||
proc generateNode*(privKey: PrivateKey, port: int = 20302,
|
||||
proc generateNode*(privKey: PrivateKey, port: int,
|
||||
ip: ValidIpAddress = ValidIpAddress.init("127.0.0.1")): Node =
|
||||
|
||||
let
|
||||
@ -67,7 +67,7 @@ proc generateNRandomNodes*(rng: ref HmacDrbgContext, n: int): seq[Node] =
|
||||
for i in 1..n:
|
||||
let
|
||||
privKey = PrivateKey.example(rng)
|
||||
node = privKey.generateNode()
|
||||
node = privKey.generateNode(port = 20402 + 10*n)
|
||||
res.add(node)
|
||||
res
|
||||
|
||||
@ -76,7 +76,7 @@ proc nodeAndPrivKeyAtDistance*(n: Node, rng: var HmacDrbgContext, d: uint32,
|
||||
while true:
|
||||
let
|
||||
privKey = PrivateKey.random(rng).expect("Valid rng for private key")
|
||||
node = privKey.generateNode(ip = ip)
|
||||
node = privKey.generateNode(port = 21302 + 10*d.int, ip = ip)
|
||||
if logDistance(n.id, node.id) == d:
|
||||
return (node, privKey)
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ proc bootstrapNodes(
|
||||
debug "---- STARTING BOOSTRAPS ---"
|
||||
for i in 0..<nodecount:
|
||||
let privKey = PrivateKey.example(rng)
|
||||
let node = initDiscoveryNode(rng, privKey, localAddress(20302 + i), bootnodes)
|
||||
let node = initDiscoveryNode(rng, privKey, localAddress(23302 + i), bootnodes)
|
||||
await node.start()
|
||||
result.add((node, privKey))
|
||||
if delay > 0:
|
||||
@ -53,7 +53,7 @@ proc bootstrapNetwork(
|
||||
bootNodeKey = PrivateKey.fromHex(
|
||||
"a2b50376a79b1a8c8a3296485572bdfbf54708bb46d3c25d73d2723aaaf6a617")
|
||||
.expect("Valid private key hex")
|
||||
bootNodeAddr = localAddress(20301)
|
||||
bootNodeAddr = localAddress(25311)
|
||||
bootNode = initDiscoveryNode(rng, bootNodeKey, bootNodeAddr, @[]) # just a shortcut for new and open
|
||||
|
||||
#waitFor bootNode.bootstrap() # immediate, since no bootnodes are defined above
|
||||
|
||||
@ -22,13 +22,13 @@ suite "Discovery v5 Tests":
|
||||
pk = PrivateKey.example(rng)
|
||||
targetPk = PrivateKey.example(rng)
|
||||
node = initDiscoveryNode(rng, pk, localAddress(20302))
|
||||
targetNode = targetPk.generateNode()
|
||||
targetNode = targetPk.generateNode(port=26302)
|
||||
|
||||
check node.addNode(targetNode)
|
||||
|
||||
for i in 0..<1000:
|
||||
let pk = PrivateKey.example(rng)
|
||||
discard node.addNode(pk.generateNode())
|
||||
discard node.addNode(pk.generateNode(port=27302+i))
|
||||
|
||||
let n = node.getNode(targetNode.id)
|
||||
check n.isSome()
|
||||
@ -265,7 +265,7 @@ suite "Discovery v5 Tests":
|
||||
|
||||
# Generate 1000 random nodes and add to our main node's routing table
|
||||
for i in 0..<1000:
|
||||
discard mainNode.addSeenNode(generateNode(PrivateKey.example(rng))) # for testing only!
|
||||
discard mainNode.addSeenNode(generateNode(PrivateKey.example(rng), port=28302+i)) # for testing only!
|
||||
|
||||
let
|
||||
neighbours = mainNode.neighbours(mainNode.localNode.id)
|
||||
|
||||
@ -275,12 +275,12 @@ suite "Discovery v5.1 Packet Encodings Test Vectors":
|
||||
|
||||
let
|
||||
enrRecA = SignedPeerRecord.init(1, privKeyA,
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9000)),
|
||||
some(Port(9000))).expect("Properly intialized private key")
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9001)),
|
||||
some(Port(9001))).expect("Properly intialized private key")
|
||||
|
||||
enrRecB = SignedPeerRecord.init(1, privKeyB,
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9000)),
|
||||
some(Port(9000))).expect("Properly intialized private key")
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9001)),
|
||||
some(Port(9001))).expect("Properly intialized private key")
|
||||
|
||||
nodeA = newNode(enrRecA).expect("Properly initialized record")
|
||||
nodeB = newNode(enrRecB).expect("Properly initialized record")
|
||||
@ -508,12 +508,12 @@ suite "Discovery v5.1 Additional Encode/Decode":
|
||||
|
||||
let
|
||||
enrRecA = SignedPeerRecord.init(1, privKeyA,
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9000)),
|
||||
some(Port(9000))).expect("Properly intialized private key")
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9001)),
|
||||
some(Port(9001))).expect("Properly intialized private key")
|
||||
|
||||
enrRecB = SignedPeerRecord.init(1, privKeyB,
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9000)),
|
||||
some(Port(9000))).expect("Properly intialized private key")
|
||||
some(ValidIpAddress.init("127.0.0.1")), some(Port(9001)),
|
||||
some(Port(9001))).expect("Properly intialized private key")
|
||||
|
||||
nodeA = newNode(enrRecA).expect("Properly initialized record")
|
||||
nodeB = newNode(enrRecB).expect("Properly initialized record")
|
||||
|
||||
14
tests/testAllParallel.nim
Normal file
14
tests/testAllParallel.nim
Normal file
@ -0,0 +1,14 @@
|
||||
# import
|
||||
# ./dht/[test_providers, test_providermngr],
|
||||
# ./discv5/[test_discoveryv5, test_discoveryv5_encoding]
|
||||
|
||||
import osproc
|
||||
|
||||
let cmds = [
|
||||
"nim c -r --verbosity:0 tests/dht/test_providers.nim",
|
||||
"nim c -r --verbosity:0 tests/dht/test_providermngr.nim",
|
||||
"nim c -r --verbosity:0 tests/discv5/test_discoveryv5.nim",
|
||||
"nim c -r --verbosity:0 tests/discv5/test_discoveryv5_encoding.nim",
|
||||
]
|
||||
|
||||
quit execProcesses(cmds)
|
||||
Loading…
x
Reference in New Issue
Block a user