File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,34 @@ import (
2222{ { end } }
2323{ {- end } }
2424
25+ { {- if or .Maps (or .Variables .Programs) } }
26+ // Constant names for all maps, variables, and programs as defined in the ELF file.
27+ //
28+ // They can be passed to ebpf.CollectionSpec and ebpf.Collection map fields.
29+ const (
30+ { {- if .Maps } }
31+ // { { .Name } } map names.
32+ { {- range $name , $id := .Maps } }
33+ { { $.Name } }MapName{ { $id } } = "{ { $name } }"
34+ { {- end } }
35+ { {- end } }
36+
37+ { {- if .Variables } }
38+ // { { .Name } } variable names.
39+ { {- range $name , $id := .Variables } }
40+ { { $.Name } }VariableName{ { $id } } = "{ { $name } }"
41+ { {- end } }
42+ { {- end } }
43+
44+ { {- if .Programs } }
45+ // { { .Name } } program names.
46+ { {- range $name , $id := .Programs } }
47+ { { $.Name } }ProgramName{ { $id } } = "{ { $name } }"
48+ { {- end } }
49+ { {- end } }
50+ )
51+ { {- end } }
52+
2553// { { .Name.Load } } returns the embedded CollectionSpec for { { .Name } }.
2654func { { .Name.Load } }() (*ebpf.CollectionSpec, error) {
2755 reader := bytes.NewReader({{ .Name.Bytes } })
Original file line number Diff line number Diff line change @@ -95,7 +95,7 @@ func TestCustomIdentifier(t *testing.T) {
9595 qt .Assert (t , qt .StringContains (buf .String (), "DO_THING" ))
9696}
9797
98- func TestObjects (t * testing.T ) {
98+ func TestObjectsAndConstants (t * testing.T ) {
9999 var buf bytes.Buffer
100100 args := GenerateArgs {
101101 Package : "foo" ,
@@ -117,6 +117,10 @@ func TestObjects(t *testing.T) {
117117 qt .Assert (t , qt .StringContains (str , "Map1 *ebpf.Map `ebpf:\" map1\" `" ))
118118 qt .Assert (t , qt .StringContains (str , "Var1 *ebpf.Variable `ebpf:\" var_1\" `" ))
119119 qt .Assert (t , qt .StringContains (str , "ProgFoo1 *ebpf.Program `ebpf:\" prog_foo_1\" `" ))
120+
121+ qt .Assert (t , qt .StringContains (str , "barMapNameMap1 = \" map1\" " ))
122+ qt .Assert (t , qt .StringContains (str , "barVariableNameVar1 = \" var_1\" " ))
123+ qt .Assert (t , qt .StringContains (str , "barProgramNameProgFoo1 = \" prog_foo_1\" " ))
120124}
121125
122126func TestGenerateStructTypes (t * testing.T ) {
You can’t perform that action at this time.
0 commit comments