(t *testing.T)
| 938 | } |
| 939 | |
| 940 | func 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 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…