mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-11 02:06:35 +00:00
Increase hardhat, codex api, and codex discovery ports for each subsequent test
Previously, each test would start with a port specified by a global const and overwritable using `define` cli flag. This seems to be causing some port clashes that `nextFreePort` is not picking up. Instead of relying on `nextFreePort`, do not reuse port numbers for any of the tests.
This commit is contained in:
parent
ecae5b0904
commit
30a39130c8
@ -77,6 +77,9 @@ template multinodesuite*(name: string, body: untyped) =
|
||||
var ethProvider {.inject, used.}: JsonRpcProvider
|
||||
var accounts {.inject, used.}: seq[Address]
|
||||
var snapshot: JsonNode
|
||||
var lastUsedHardhatPort = HardhatPort
|
||||
var lastUsedCodexApiPort = CodexApiPort
|
||||
var lastUsedCodexDiscPort = CodexDiscPort
|
||||
|
||||
template test(tname, startNodeConfigs, tbody) =
|
||||
currentTestName = tname
|
||||
@ -119,10 +122,11 @@ template multinodesuite*(name: string, body: untyped) =
|
||||
let updatedLogFile = getLogFile(role, none int)
|
||||
args.add "--log-file=" & updatedLogFile
|
||||
|
||||
let port = await nextFreePort(HardhatPort)
|
||||
let port = await nextFreePort(lastUsedHardhatPort)
|
||||
jsonRpcProviderUrl.updatePort(port)
|
||||
args.add("--port")
|
||||
args.add($port)
|
||||
lastUsedHardhatPort = port
|
||||
|
||||
try:
|
||||
let node = await HardhatProcess.startNode(args, config.debugEnabled, "hardhat")
|
||||
@ -151,13 +155,19 @@ template multinodesuite*(name: string, body: untyped) =
|
||||
let updatedLogFile = getLogFile(role, some roleIdx)
|
||||
config.withLogFile(updatedLogFile)
|
||||
|
||||
let apiPort = await nextFreePort(CodexApiPort + nodeIdx)
|
||||
let discPort = await nextFreePort(CodexDiscPort + nodeIdx)
|
||||
config.addCliOption("--api-port", $apiPort)
|
||||
config.addCliOption("--disc-port", $discPort)
|
||||
lastUsedCodexApiPort = apiPort
|
||||
lastUsedCodexDiscPort = discPort
|
||||
|
||||
for bootstrapNode in bootstrapNodes:
|
||||
config.addCliOption("--bootstrap-node", bootstrapNode)
|
||||
config.addCliOption("--api-port", $await nextFreePort(CodexApiPort + nodeIdx))
|
||||
|
||||
config.addCliOption("--data-dir", datadir)
|
||||
config.addCliOption("--nat", "none")
|
||||
config.addCliOption("--listen-addrs", "/ip4/127.0.0.1/tcp/0")
|
||||
config.addCliOption("--disc-port", $await nextFreePort(CodexDiscPort + nodeIdx))
|
||||
except CodexConfigError as e:
|
||||
raiseMultiNodeSuiteError "invalid cli option, error: " & e.msg
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user