| 80 | } |
| 81 | |
| 82 | func (s *Scenario) Start(services ...Service) error { |
| 83 | for _, service := range services { |
| 84 | logger.Log("Starting", service.Name()) |
| 85 | |
| 86 | // Ensure another service with the same name doesn't exist. |
| 87 | if s.isRegistered(service.Name()) { |
| 88 | return fmt.Errorf("another service with the same name '%s' has already been started", service.Name()) |
| 89 | } |
| 90 | |
| 91 | // Start the service. |
| 92 | if err := service.Start(s.networkName, s.SharedDir()); err != nil { |
| 93 | return err |
| 94 | } |
| 95 | |
| 96 | // Add to the list of services. |
| 97 | s.services = append(s.services, service) |
| 98 | } |
| 99 | |
| 100 | return nil |
| 101 | } |
| 102 | |
| 103 | func (s *Scenario) Stop(services ...Service) error { |
| 104 | for _, service := range services { |