define new test case for drand-halting
This commit is contained in:
parent
0b386f21d5
commit
406bd5da84
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "lotus-baseline"
|
case = "drand-halting"
|
||||||
total_instances = 6
|
total_instances = 6
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "local:docker"
|
runner = "local:docker"
|
||||||
@ -73,4 +73,4 @@
|
|||||||
drand_period = "1s"
|
drand_period = "1s"
|
||||||
drand_halt_duration = "20s"
|
drand_halt_duration = "20s"
|
||||||
drand_halt_begin = "10s"
|
drand_halt_begin = "10s"
|
||||||
drand_log_level = "info"
|
drand_log_level = "none"
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
|
|
||||||
var testplans = map[string]interface{}{
|
var testplans = map[string]interface{}{
|
||||||
"lotus-baseline": doRun(basicRoles),
|
"lotus-baseline": doRun(basicRoles),
|
||||||
|
"drand-halting": doRun(basicRoles),
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -39,11 +39,32 @@ instances = { min = 1, max = 100, default = 5 }
|
|||||||
drand_threshold = { type = "int", default = 2 }
|
drand_threshold = { type = "int", default = 2 }
|
||||||
drand_gossip_relay = { type = "bool", default = true }
|
drand_gossip_relay = { type = "bool", default = true }
|
||||||
drand_halt_duration = { type = "duration", default="0", desc = "how long to halt drand chain before resuming" }
|
drand_halt_duration = { type = "duration", default="0", desc = "how long to halt drand chain before resuming" }
|
||||||
|
|
||||||
|
|
||||||
|
[[testcases]]
|
||||||
|
name = "drand-halting"
|
||||||
|
instances = { min = 1, max = 100, default = 5 }
|
||||||
|
|
||||||
|
[testcases.params]
|
||||||
|
clients = { type = "int", default = 1 }
|
||||||
|
miners = { type = "int", default = 1 }
|
||||||
|
balance = { type = "int", default = 1 }
|
||||||
|
sectors = { type = "int", default = 1 }
|
||||||
|
role = { type = "string" }
|
||||||
|
|
||||||
|
random_beacon_type = { type = "enum", default = "local-drand", options = ["mock", "local-drand", "external-drand"] }
|
||||||
|
|
||||||
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
||||||
|
# in the same composition group. There must be at least threshold drand nodes.
|
||||||
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
||||||
|
# for the lotus node groups.
|
||||||
|
drand_period = { type = "duration", default="10s" }
|
||||||
|
drand_threshold = { type = "int", default = 2 }
|
||||||
|
drand_gossip_relay = { type = "bool", default = true }
|
||||||
|
drand_halt_duration = { type = "duration", default="30s", desc = "how long to halt drand chain before resuming" }
|
||||||
drand_halt_begin = { type = "duration", default="1m", desc = "when to start drand halting (relative to test start time)"}
|
drand_halt_begin = { type = "duration", default="1m", desc = "when to start drand halting (relative to test start time)"}
|
||||||
drand_log_level = { type = "string", default="info" }
|
drand_log_level = { type = "string", default="info" }
|
||||||
|
|
||||||
# Params relevant to pubsub tracing
|
# Params relevant to pubsub tracing
|
||||||
enable_pubsub_tracer = { type = "bool", default = false }
|
enable_pubsub_tracer = { type = "bool", default = false }
|
||||||
|
|
||||||
# Mining Mode: synchronized -vs- natural time
|
# Mining Mode: synchronized -vs- natural time
|
||||||
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
||||||
|
@ -144,7 +144,10 @@ func runDrandNode(t *TestEnvironment) error {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
t.SyncClient.MustSignalAndWait(ctx, stateReady, t.TestInstanceCount)
|
t.SyncClient.MustSignalAndWait(ctx, stateReady, t.TestInstanceCount)
|
||||||
|
|
||||||
haltDuration := t.DurationParam("drand_halt_duration")
|
haltDuration := time.Duration(0)
|
||||||
|
if t.IsParamSet("drand_halt_duration") {
|
||||||
|
haltDuration = t.DurationParam("drand_halt_duration")
|
||||||
|
}
|
||||||
if haltDuration != 0 {
|
if haltDuration != 0 {
|
||||||
startTime := t.DurationParam("drand_halt_begin")
|
startTime := t.DurationParam("drand_halt_begin")
|
||||||
time.AfterFunc(startTime, func() {
|
time.AfterFunc(startTime, func() {
|
||||||
|
Loading…
Reference in New Issue
Block a user