use random seed to power node generator

This commit is contained in:
William Banfield
2022-06-14 14:10:28 -04:00
parent 51685158fe
commit 3b65c906b5
2 changed files with 5 additions and 4 deletions

View File

@@ -106,7 +106,7 @@ type Node struct {
// The testnet generation must be deterministic, since it is generated
// separately by the runner and the test cases. For this reason, testnets use a
// random seed to generate e.g. keys.
func LoadTestnet(file string) (*Testnet, error) {
func LoadTestnet(file string, seed int64) (*Testnet, error) {
manifest, err := LoadManifest(file)
if err != nil {
return nil, err
@@ -124,7 +124,7 @@ func LoadTestnet(file string) (*Testnet, error) {
}
ipGen := newIPGenerator(ipNet)
keyGen := newKeyGenerator(randomSeed)
keyGen := newKeyGenerator(seed)
proxyPortGen := newPortGenerator(proxyPortFirst)
testnet := &Testnet{

View File

@@ -53,12 +53,14 @@ func NewCLI(logger log.Logger) *CLI {
// If flag is absent, no error is returned, but the default value (empty string)
return err
}
cli.seedDelta, err = cmd.Flags().GetInt("seed-delta")
seed := randomSeed + cli.seedDelta // nolint: gosec
if len(ips) == 0 {
file, err := cmd.Flags().GetString("file")
if err != nil {
return err
}
testnet, err := e2e.LoadTestnet(file)
testnet, err := e2e.LoadTestnet(file, int64(seed))
if err != nil {
return err
}
@@ -66,7 +68,6 @@ func NewCLI(logger log.Logger) *CLI {
return nil
}
cli.ips = strings.Split(ips, ",")
cli.seedDelta, err = cmd.Flags().GetInt("seed-delta")
if err != nil {
// If flag is absent, no error is returned, but the default value (empty string)
return err