MCPcopy Create free account
hub / github.com/google/pprof / TestELFKernelOffset

Function TestELFKernelOffset

internal/binutils/binutils_test.go:940–977  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

938}
939
940func TestELFKernelOffset(t *testing.T) {
941 realELFOpen := elfOpen
942 defer func() {
943 elfOpen = realELFOpen
944 }()
945
946 wantAddr := uint64(0xffff000010082000)
947 elfOpen = func(_ string) (*elf.File, error) {
948 return fakeELFFile(t), nil
949 }
950
951 for _, tc := range []struct {
952 name string
953 relocationSymbol string
954 start uint64
955 }{
956 {"text", "_text", 0xffff000020080000},
957 {"stext", "_stext", 0xffff000020081000},
958 } {
959
960 b := binrep{}
961 o, err := b.openELF("vmlinux", tc.start, 0xffffffffffffffff, tc.start, tc.relocationSymbol)
962 if err != nil {
963 t.Errorf("%v: openELF got error %v, want nil", tc.name, err)
964 continue
965 }
966
967 addr, err := o.ObjAddr(0xffff000020082000)
968 if err != nil {
969 t.Errorf("%v: ObjAddr got err %v, want nil", tc.name, err)
970 continue
971 }
972 if addr != wantAddr {
973 t.Errorf("%v: ObjAddr got %x, want %x", tc.name, addr, wantAddr)
974 }
975
976 }
977}

Callers

nothing calls this directly

Calls 3

openELFMethod · 0.95
fakeELFFileFunction · 0.85
ObjAddrMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…