53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package frame_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/davecheney/profile"
|
|
"github.com/derekparker/dbg/dwarf/_helper"
|
|
"github.com/derekparker/dbg/dwarf/frame"
|
|
)
|
|
|
|
// func TestParse(t *testing.T) {
|
|
// var (
|
|
// data = dwarfhelper.GrabDebugFrameSection("../../_fixtures/testprog", t)
|
|
// fe = frame.Parse(data)[0]
|
|
// ce = fe.CIE
|
|
// )
|
|
|
|
// if ce.Length != 16 {
|
|
// t.Error("Length was not parsed correctly, got ", ce.Length)
|
|
// }
|
|
|
|
// if ce.Version != 0x3 {
|
|
// t.Fatalf("Version was not parsed correctly expected %#v got %#v", 0x3, ce.Version)
|
|
// }
|
|
|
|
// if ce.Augmentation != "" {
|
|
// t.Fatal("Augmentation was not parsed correctly")
|
|
// }
|
|
|
|
// if ce.CodeAlignmentFactor != 0x1 {
|
|
// t.Fatal("Code Alignment Factor was not parsed correctly")
|
|
// }
|
|
|
|
// if ce.DataAlignmentFactor != -4 {
|
|
// t.Fatalf("Data Alignment Factor was not parsed correctly got %#v", ce.DataAlignmentFactor)
|
|
// }
|
|
|
|
// if fe.Length != 32 {
|
|
// t.Fatal("Length was not parsed correctly, got ", fe.Length)
|
|
// }
|
|
|
|
// }
|
|
|
|
func BenchmarkParse(b *testing.B) {
|
|
defer profile.Start(profile.CPUProfile).Stop()
|
|
data := dwarfhelper.GrabDebugFrameSection("../../_fixtures/testprog", nil)
|
|
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
frame.Parse(data)
|
|
}
|
|
}
|