Documentation ¶
Overview ¶
Package runner allows you to run a binary in an acceptance test (scan output for ports, wait for start).
It is part of our belief that testing binaries that will be shipping into production with as little modification as is possible is one of the most effective ways of producing high value tests.
Binaries compiled using the testing/compiler can be used to produce binaries with coverage instrumentation. In that case setting a CoverageReportPath on a runner for one of those binaries will help produce a coverage report. Using runner.Stop will send the running process a INT signal, so the service should respond to that elegantly so that the report can be flushed to disk.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Result ¶
type Result struct {
// contains filtered or unexported fields
}
func (*Result) Ready ¶
Ready will return nil if ports have been detected and the server is reporting readiness. If serverName is not empty then the server port will be detected using the standard server output as expected when running an ex httpserver. If it is empty then only the admin server is detected.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func NewWithDynamicEnv ¶
func (*Runner) CoverageReportDir ¶
CoverageReportDir tells the runner where to attempt to output a coverage report. A report will be generated in the given directory using the name of the binary, and the extension .out
func (*Runner) Run ¶
Run starts the output service and waits a few seconds to confirm it has started successfully. The caller is responsible for calling Runner.Stop. If serverName is not empty then the server port will be detected using the standard server output as expected when running an ex httpserver. If it is left blank then only the admin server is detected. For custom timeouts whilst waiting for readiness use Start and result.Ready