mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 22:37:14 +08:00
3e46977ec1
The path in the stacktrace might not be: "github.com/opencontainers/runc/libcontainer/stacktrace" For example, for me its: "_/go/src/github.com/opencontainers/runc/libcontainer/stacktrace" so I changed the check to make sure the tail end of the path matches instead of the entire thing Signed-off-by: Doug Davis <dug@us.ibm.com>
32 lines
789 B
Go
32 lines
789 B
Go
package stacktrace
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func captureFunc() Stacktrace {
|
|
return Capture(0)
|
|
}
|
|
|
|
func TestCaptureTestFunc(t *testing.T) {
|
|
stack := captureFunc()
|
|
|
|
if len(stack.Frames) == 0 {
|
|
t.Fatal("expected stack frames to be returned")
|
|
}
|
|
|
|
// the first frame is the caller
|
|
frame := stack.Frames[0]
|
|
if expected := "captureFunc"; frame.Function != expected {
|
|
t.Fatalf("expteced function %q but recevied %q", expected, frame.Function)
|
|
}
|
|
expected := "github.com/opencontainers/runc/libcontainer/stacktrace"
|
|
if !strings.HasSuffix(frame.Package, expected) {
|
|
t.Fatalf("expected package %q but received %q", expected, frame.Package)
|
|
}
|
|
if expected := "capture_test.go"; frame.File != expected {
|
|
t.Fatalf("expected file %q but received %q", expected, frame.File)
|
|
}
|
|
}
|