Merge pull request #6728 from nedsouza/256/tests_coverage_pkg_signals

pkg/signals: Improved test coverage 60% to 100%
This commit is contained in:
Archana Shinde 2023-05-04 16:19:12 -07:00 committed by GitHub
commit b86d32aba9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,7 +7,9 @@ package signals
import (
"bytes"
"errors"
"os"
"os/exec"
"reflect"
goruntime "runtime"
"sort"
@ -135,3 +137,69 @@ func TestSignalBacktrace(t *testing.T) {
assert.True(strings.Contains(b, "contention:"))
assert.True(strings.Contains(b, `level=error`))
}
func TestSignalHandlePanic(t *testing.T) {
assert := assert.New(t)
savedLog := signalLog
defer func() {
signalLog = savedLog
}()
signalLog = logrus.WithFields(logrus.Fields{
"name": "name",
"pid": os.Getpid(),
"source": "throttler",
"test-logger": true})
// Create buffer to save logger output.
buf := &bytes.Buffer{}
savedOut := signalLog.Logger.Out
defer func() {
signalLog.Logger.Out = savedOut
}()
// Capture output to buffer.
signalLog.Logger.Out = buf
HandlePanic(nil)
b := buf.String()
assert.True(len(b) == 0)
}
func TestSignalHandlePanicWithError(t *testing.T) {
assert := assert.New(t)
if os.Getenv("CALL_EXIT") != "1" {
cmd := exec.Command(os.Args[0], "-test.run=TestSignalHandlePanicWithError")
cmd.Env = append(os.Environ(), "CALL_EXIT=1")
err := cmd.Run()
assert.True(err != nil)
exitError, ok := err.(*exec.ExitError)
assert.True(ok)
assert.True(exitError.ExitCode() == 1)
return
}
signalLog = logrus.WithFields(logrus.Fields{
"name": "name",
"pid": os.Getpid(),
"source": "throttler",
"test-logger": true})
// Create buffer to save logger output.
buf := &bytes.Buffer{}
// Capture output to buffer.
signalLog.Logger.Out = buf
dieCallBack := func() {}
defer HandlePanic(dieCallBack)
e := errors.New("test-panic")
panic(e)
}