test/e2e: add random testnet generator (#5479)

Closes #5291. Adds a randomized testnet generator. Nightly CI job will be submitted separately. A few of the testnets can be a bit flaky, even after disabling known-faulty behavior and making minor tweaks, and the larger networks may be too resource-intensive to run in CI - this will be optimized separately.
This commit is contained in:
Erik Grinaker
2020-10-22 13:36:08 +02:00
committed by Erik Grinaker
parent e7568f9e0c
commit f9bfb40d53
14 changed files with 570 additions and 30 deletions
+4
View File
@@ -300,6 +300,10 @@ func (n Node) Validate(testnet Testnet) error {
return fmt.Errorf("invalid privval protocol setting %q", n.PrivvalProtocol)
}
if n.StartAt > 0 && n.StartAt < n.Testnet.InitialHeight {
return fmt.Errorf("cannot start at height %v lower than initial height %v",
n.StartAt, n.Testnet.InitialHeight)
}
if n.StateSync && n.StartAt == 0 {
return errors.New("state synced nodes cannot start at the initial height")
}