in internal/benchrunner/runners/system/runner.go [80:134]
func (r *runner) TearDown(ctx context.Context) error {
if r.options.DeferCleanup > 0 {
logger.Debugf("waiting for %s before tearing down...", r.options.DeferCleanup)
select {
case <-time.After(r.options.DeferCleanup):
case <-ctx.Done():
}
}
// Avoid cancellations during cleanup.
cleanupCtx := context.WithoutCancel(ctx)
var merr multierror.Error
if r.resetAgentPolicyHandler != nil {
if err := r.resetAgentPolicyHandler(cleanupCtx); err != nil {
merr = append(merr, err)
}
r.resetAgentPolicyHandler = nil
}
if r.deletePolicyHandler != nil {
if err := r.deletePolicyHandler(cleanupCtx); err != nil {
merr = append(merr, err)
}
r.deletePolicyHandler = nil
}
if r.shutdownServiceHandler != nil {
if err := r.shutdownServiceHandler(cleanupCtx); err != nil {
merr = append(merr, err)
}
r.shutdownServiceHandler = nil
}
if r.wipeDataStreamHandler != nil {
if err := r.wipeDataStreamHandler(cleanupCtx); err != nil {
merr = append(merr, err)
}
r.wipeDataStreamHandler = nil
}
if r.clearCorporaHandler != nil {
if err := r.clearCorporaHandler(cleanupCtx); err != nil {
merr = append(merr, err)
}
r.clearCorporaHandler = nil
}
if len(merr) == 0 {
return nil
}
return merr
}