fix(cmd/influxd): Refactor test cancellation out of main path.

This commit moves the `Main.cancel()` execution to the `main_test.go`
file so it's only executed for tests. This was interfering with the
shutdown process on the regular `influxd` binary.
pull/10616/head
Ben Johnson 2018-12-12 10:53:10 -07:00
parent 5f781748c4
commit 89bf9765cc
No known key found for this signature in database
GPG Key ID: 81741CD251883081
2 changed files with 4 additions and 1 deletions

View File

@ -115,7 +115,6 @@ func (m *Main) URL() string {
// Shutdown shuts down the HTTP server and waits for all services to clean up.
func (m *Main) Shutdown(ctx context.Context) {
m.cancel()
m.httpServer.Shutdown(ctx)
m.logger.Info("Stopping", zap.String("service", "task"))
@ -144,6 +143,9 @@ func (m *Main) Shutdown(ctx context.Context) {
m.logger.Sync()
}
// Cancel executes the context cancel on the program. Used for testing.
func (m *Main) Cancel() { m.cancel() }
// Run executes the program with the given CLI arguments.
func (m *Main) Run(ctx context.Context, args ...string) error {
dir, err := fs.InfluxDir()

View File

@ -137,6 +137,7 @@ func (m *Main) Run(ctx context.Context, args ...string) error {
// Shutdown stops the program and cleans up temporary paths.
func (m *Main) Shutdown(ctx context.Context) error {
m.Cancel()
m.Main.Shutdown(ctx)
return os.RemoveAll(m.Path)
}