Source file
src/debug/dwarf/dwarf5ranges_test.go
1
2
3
4
5 package dwarf
6
7 import (
8 "encoding/binary"
9 "os"
10 "reflect"
11 "testing"
12 )
13
14 func TestDwarf5Ranges(t *testing.T) {
15 rngLists, err := os.ReadFile("testdata/debug_rnglists")
16 if err != nil {
17 t.Fatalf("could not read test data: %v", err)
18 }
19
20 d := &Data{}
21 d.order = binary.LittleEndian
22 if err := d.AddSection(".debug_rnglists", rngLists); err != nil {
23 t.Fatal(err)
24 }
25 u := &unit{
26 asize: 8,
27 vers: 5,
28 is64: true,
29 }
30 ret, err := d.dwarf5Ranges(u, nil, 0x5fbd, 0xc, [][2]uint64{})
31 if err != nil {
32 t.Fatalf("could not read rnglist: %v", err)
33 }
34 t.Logf("%#v", ret)
35
36 tgt := [][2]uint64{{0x0000000000006712, 0x000000000000679f}, {0x00000000000067af}, {0x00000000000067b3}}
37
38 if reflect.DeepEqual(ret, tgt) {
39 t.Errorf("expected %#v got %#x", tgt, ret)
40 }
41 }
42
View as plain text