Browse Source

test: make TestAgent setup reusable

Pick the random ports only once and try starting with them
a number of times so that the configuration can be re-used.
This is because the ports are written into the data files
and a subsequent agent reading the files needs to have the
same ports.

For the same reason we do not remove the data directory on
every attempt since this makes it impossible to re-read the
data files.
pull/3095/head
Frank Schroeder 8 years ago
parent
commit
bdfed817ee
No known key found for this signature in database
GPG Key ID: 4D65C6EAEC87DECD
  1. 12
      command/agent/testagent.go

12
command/agent/testagent.go

@ -121,16 +121,12 @@ func (a *TestAgent) Start() *TestAgent {
a.Config.DataDir = d
}
id := UniqueID()
for i := 10; i >= 0; i-- {
pickRandomPorts(a.Config)
// ports are baked into the data files so we need to clear out the
// data dir on every retry
os.RemoveAll(a.Config.DataDir)
if err := os.MkdirAll(a.Config.DataDir, 0755); err != nil {
panic(fmt.Sprintf("Error creating dir %s: %s", a.Config.DataDir, err))
}
// since the ports are written into the data files we pick random ports
// only once and try a number of times to start with them.
pickRandomPorts(a.Config)
for i := 10; i >= 0; i-- {
// write the keyring
if a.Key != "" {
writeKey := func(key, filename string) {

Loading…
Cancel
Save