func (s *DevTestStepGuestScript) Run(c *otto.Core) error { log.Printf("[INFO] test: testing guest script: %q", s.Command) return c.Execute(&otto.ExecuteOpts{ Task: otto.ExecuteTaskDev, Action: "vagrant", Args: []string{ "ssh", "-c", s.Command, }, }) }
// DevTestTeardown implements the otto.TestTeardownFunc type and should // be used with otto.TestCase to clear out development environments cleanly. func DevTestTeardown(c *otto.Core) error { // Destroy the dev environment. This should work even if it isn't // running so we can always execute it. log.Printf("[INFO] test: destroying the development environment") err := c.Execute(&otto.ExecuteOpts{ Task: otto.ExecuteTaskDev, Action: "destroy", }) if err != nil { return err } // Delete all the layers return c.Execute(&otto.ExecuteOpts{ Task: otto.ExecuteTaskDev, Action: "layers", Args: []string{"-prune"}, }) }