@@ -13,126 +13,111 @@ import (
13
13
)
14
14
15
15
func TestCORERelocationLoad (t * testing.T ) {
16
- testutils .Files (t , testutils .Glob (t , "testdata/relocs-*.elf" ), func (t * testing.T , file string ) {
17
- fh , err := os .Open (file )
18
- if err != nil {
19
- t .Fatal (err )
20
- }
21
- defer fh .Close ()
22
-
23
- spec , err := ebpf .LoadCollectionSpecFromReader (fh )
24
- if err != nil {
25
- t .Fatal (err )
26
- }
27
-
28
- if spec .ByteOrder != internal .NativeEndian {
29
- return
30
- }
31
-
32
- for _ , progSpec := range spec .Programs {
33
- t .Run (progSpec .Name , func (t * testing.T ) {
34
- if _ , err := fh .Seek (0 , io .SeekStart ); err != nil {
35
- t .Fatal (err )
36
- }
37
-
38
- prog , err := ebpf .NewProgramWithOptions (progSpec , ebpf.ProgramOptions {
39
- KernelTypes : spec .Types ,
40
- })
41
- testutils .SkipIfNotSupported (t , err )
42
-
43
- if strings .HasPrefix (progSpec .Name , "err_" ) {
44
- if err == nil {
45
- prog .Close ()
46
- t .Fatal ("Expected an error" )
47
- }
48
- t .Log ("Got expected error:" , err )
49
- return
50
- }
51
-
52
- if err != nil {
53
- t .Fatal ("Load program:" , err )
54
- }
55
- defer prog .Close ()
56
-
57
- ret , _ , err := prog .Test (internal .EmptyBPFContext )
58
- testutils .SkipIfNotSupported (t , err )
59
- if err != nil {
60
- t .Fatal ("Error when running:" , err )
61
- }
16
+ file := testutils .NativeFile (t , "testdata/relocs-%s.elf" )
17
+ fh , err := os .Open (file )
18
+ if err != nil {
19
+ t .Fatal (err )
20
+ }
21
+ defer fh .Close ()
22
+
23
+ spec , err := ebpf .LoadCollectionSpecFromReader (fh )
24
+ if err != nil {
25
+ t .Fatal (err )
26
+ }
27
+
28
+ for _ , progSpec := range spec .Programs {
29
+ t .Run (progSpec .Name , func (t * testing.T ) {
30
+ if _ , err := fh .Seek (0 , io .SeekStart ); err != nil {
31
+ t .Fatal (err )
32
+ }
33
+
34
+ prog , err := ebpf .NewProgramWithOptions (progSpec , ebpf.ProgramOptions {
35
+ KernelTypes : spec .Types ,
36
+ })
37
+ testutils .SkipIfNotSupported (t , err )
62
38
63
- if ret != 0 {
64
- t .Error ("Assertion failed on line" , ret )
39
+ if strings .HasPrefix (progSpec .Name , "err_" ) {
40
+ if err == nil {
41
+ prog .Close ()
42
+ t .Fatal ("Expected an error" )
65
43
}
66
- })
67
- }
68
- })
44
+ t .Log ("Got expected error:" , err )
45
+ return
46
+ }
47
+
48
+ if err != nil {
49
+ t .Fatal ("Load program:" , err )
50
+ }
51
+ defer prog .Close ()
52
+
53
+ ret , _ , err := prog .Test (internal .EmptyBPFContext )
54
+ testutils .SkipIfNotSupported (t , err )
55
+ if err != nil {
56
+ t .Fatal ("Error when running:" , err )
57
+ }
58
+
59
+ if ret != 0 {
60
+ t .Error ("Assertion failed on line" , ret )
61
+ }
62
+ })
63
+ }
69
64
}
70
65
71
66
func TestCORERelocationRead (t * testing.T ) {
72
- testutils .Files (t , testutils .Glob (t , "testdata/relocs_read-*.elf" ), func (t * testing.T , file string ) {
73
- spec , err := ebpf .LoadCollectionSpec (file )
74
- if err != nil {
75
- t .Fatal (err )
76
- }
77
-
78
- if spec .ByteOrder != internal .NativeEndian {
79
- return
80
- }
81
-
82
- targetFile := testutils .NativeFile (t , "testdata/relocs_read_tgt-%s.elf" )
83
- targetSpec , err := btf .LoadSpec (targetFile )
84
- if err != nil {
85
- t .Fatal (err )
86
- }
87
-
88
- for _ , progSpec := range spec .Programs {
89
- t .Run (progSpec .Name , func (t * testing.T ) {
90
- prog , err := ebpf .NewProgramWithOptions (progSpec , ebpf.ProgramOptions {
91
- KernelTypes : targetSpec ,
92
- })
93
- testutils .SkipIfNotSupported (t , err )
94
- if err != nil {
95
- t .Fatal ("Load program:" , err )
96
- }
97
- defer prog .Close ()
98
-
99
- ret , _ , err := prog .Test (internal .EmptyBPFContext )
100
- testutils .SkipIfNotSupported (t , err )
101
- if err != nil {
102
- t .Fatal ("Error when running:" , err )
103
- }
104
-
105
- if ret != 0 {
106
- t .Error ("Assertion failed on line" , ret )
107
- }
67
+ file := testutils .NativeFile (t , "testdata/relocs_read-%s.elf" )
68
+ spec , err := ebpf .LoadCollectionSpec (file )
69
+ if err != nil {
70
+ t .Fatal (err )
71
+ }
72
+
73
+ targetFile := testutils .NativeFile (t , "testdata/relocs_read_tgt-%s.elf" )
74
+ targetSpec , err := btf .LoadSpec (targetFile )
75
+ if err != nil {
76
+ t .Fatal (err )
77
+ }
78
+
79
+ for _ , progSpec := range spec .Programs {
80
+ t .Run (progSpec .Name , func (t * testing.T ) {
81
+ prog , err := ebpf .NewProgramWithOptions (progSpec , ebpf.ProgramOptions {
82
+ KernelTypes : targetSpec ,
108
83
})
109
- }
110
- })
84
+ testutils .SkipIfNotSupported (t , err )
85
+ if err != nil {
86
+ t .Fatal ("Load program:" , err )
87
+ }
88
+ defer prog .Close ()
89
+
90
+ ret , _ , err := prog .Test (internal .EmptyBPFContext )
91
+ testutils .SkipIfNotSupported (t , err )
92
+ if err != nil {
93
+ t .Fatal ("Error when running:" , err )
94
+ }
95
+
96
+ if ret != 0 {
97
+ t .Error ("Assertion failed on line" , ret )
98
+ }
99
+ })
100
+ }
111
101
}
112
102
113
103
func TestLD64IMMReloc (t * testing.T ) {
114
104
testutils .SkipOnOldKernel (t , "5.4" , "vmlinux BTF in sysfs" )
115
105
116
- testutils .Files (t , testutils .Glob (t , "testdata/relocs_enum-*.elf" ), func (t * testing.T , file string ) {
117
- fh , err := os .Open (file )
118
- if err != nil {
119
- t .Fatal (err )
120
- }
121
- defer fh .Close ()
122
-
123
- spec , err := ebpf .LoadCollectionSpecFromReader (fh )
124
- if err != nil {
125
- t .Fatal (err )
126
- }
127
-
128
- if spec .ByteOrder != internal .NativeEndian {
129
- return
130
- }
131
-
132
- coll , err := ebpf .NewCollection (spec )
133
- if err != nil {
134
- t .Fatal (err )
135
- }
136
- defer coll .Close ()
137
- })
106
+ file := testutils .NativeFile (t , "testdata/relocs_enum-%s.elf" )
107
+ fh , err := os .Open (file )
108
+ if err != nil {
109
+ t .Fatal (err )
110
+ }
111
+ defer fh .Close ()
112
+
113
+ spec , err := ebpf .LoadCollectionSpecFromReader (fh )
114
+ if err != nil {
115
+ t .Fatal (err )
116
+ }
117
+
118
+ coll , err := ebpf .NewCollection (spec )
119
+ if err != nil {
120
+ t .Fatal (err )
121
+ }
122
+ defer coll .Close ()
138
123
}
0 commit comments