Skip to content

Commit f124aba

Browse files
committed
libcontainer/intelrdt: refactor tests
Signed-off-by: Markus Lehtonen <[email protected]>
1 parent 112d6de commit f124aba

File tree

1 file changed

+55
-85
lines changed

1 file changed

+55
-85
lines changed

libcontainer/intelrdt/intelrdt_test.go

Lines changed: 55 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -3,97 +3,67 @@ package intelrdt
33
import (
44
"os"
55
"path/filepath"
6+
"reflect"
67
"strings"
78
"testing"
8-
)
9-
10-
func TestIntelRdtSetL3CacheSchema(t *testing.T) {
11-
helper := NewIntelRdtTestUtil(t)
12-
13-
const (
14-
l3CacheSchemaBefore = "L3:0=f;1=f0"
15-
l3CacheSchemeAfter = "L3:0=f0;1=f"
16-
)
17-
18-
helper.writeFileContents(map[string]string{
19-
"schemata": l3CacheSchemaBefore + "\n",
20-
})
21-
22-
helper.config.IntelRdt.L3CacheSchema = l3CacheSchemeAfter
23-
intelrdt := newManager(helper.config, "", helper.IntelRdtPath)
24-
if err := intelrdt.Set(helper.config); err != nil {
25-
t.Fatal(err)
26-
}
27-
28-
tmpStrings, err := getIntelRdtParamString(helper.IntelRdtPath, "schemata")
29-
if err != nil {
30-
t.Fatalf("Failed to parse file 'schemata' - %s", err)
31-
}
32-
values := strings.Split(tmpStrings, "\n")
33-
value := values[0]
34-
35-
if value != l3CacheSchemeAfter {
36-
t.Fatal("Got the wrong value, set 'schemata' failed.")
37-
}
38-
}
39-
40-
func TestIntelRdtSetMemBwSchema(t *testing.T) {
41-
helper := NewIntelRdtTestUtil(t)
42-
43-
const (
44-
memBwSchemaBefore = "MB:0=20;1=70"
45-
memBwSchemeAfter = "MB:0=70;1=20"
46-
)
47-
48-
helper.writeFileContents(map[string]string{
49-
"schemata": memBwSchemaBefore + "\n",
50-
})
519

52-
helper.config.IntelRdt.MemBwSchema = memBwSchemeAfter
53-
intelrdt := newManager(helper.config, "", helper.IntelRdtPath)
54-
if err := intelrdt.Set(helper.config); err != nil {
55-
t.Fatal(err)
56-
}
57-
58-
tmpStrings, err := getIntelRdtParamString(helper.IntelRdtPath, "schemata")
59-
if err != nil {
60-
t.Fatalf("Failed to parse file 'schemata' - %s", err)
61-
}
62-
values := strings.Split(tmpStrings, "\n")
63-
value := values[0]
64-
65-
if value != memBwSchemeAfter {
66-
t.Fatal("Got the wrong value, set 'schemata' failed.")
67-
}
68-
}
69-
70-
func TestIntelRdtSetMemBwScSchema(t *testing.T) {
71-
helper := NewIntelRdtTestUtil(t)
72-
73-
const (
74-
memBwScSchemaBefore = "MB:0=5000;1=7000"
75-
memBwScSchemeAfter = "MB:0=9000;1=4000"
76-
)
77-
78-
helper.writeFileContents(map[string]string{
79-
"schemata": memBwScSchemaBefore + "\n",
80-
})
81-
82-
helper.config.IntelRdt.MemBwSchema = memBwScSchemeAfter
83-
intelrdt := newManager(helper.config, "", helper.IntelRdtPath)
84-
if err := intelrdt.Set(helper.config); err != nil {
85-
t.Fatal(err)
86-
}
10+
"github.com/opencontainers/runc/libcontainer/configs"
11+
)
8712

88-
tmpStrings, err := getIntelRdtParamString(helper.IntelRdtPath, "schemata")
89-
if err != nil {
90-
t.Fatalf("Failed to parse file 'schemata' - %s", err)
13+
func TestIntelRdtSet(t *testing.T) {
14+
tcs := []struct {
15+
name string
16+
config *configs.IntelRdt
17+
schemataAfter []string
18+
}{
19+
{
20+
name: "L3",
21+
config: &configs.IntelRdt{
22+
L3CacheSchema: "L3:0=f0;1=f",
23+
},
24+
schemataAfter: []string{"L3:0=f0;1=f"},
25+
},
26+
{
27+
name: "MemBw",
28+
config: &configs.IntelRdt{
29+
MemBwSchema: "MB:0=70;1=20",
30+
},
31+
schemataAfter: []string{"MB:0=70;1=20"},
32+
},
33+
{
34+
name: "MemBwSc",
35+
config: &configs.IntelRdt{
36+
MemBwSchema: "MB:0=9000;1=4000",
37+
},
38+
schemataAfter: []string{"MB:0=9000;1=4000"},
39+
},
9140
}
92-
values := strings.Split(tmpStrings, "\n")
93-
value := values[0]
9441

95-
if value != memBwScSchemeAfter {
96-
t.Fatal("Got the wrong value, set 'schemata' failed.")
42+
for _, tc := range tcs {
43+
t.Run(tc.name, func(t *testing.T) {
44+
helper := NewIntelRdtTestUtil(t)
45+
helper.config.IntelRdt = tc.config
46+
47+
helper.writeFileContents(map[string]string{
48+
/* Common initial value for all test cases */
49+
"schemata": "MB:0=100\nL3:0=ffff\nL2:0=ffffffff\n",
50+
})
51+
52+
intelrdt := newManager(helper.config, "", helper.IntelRdtPath)
53+
if err := intelrdt.Set(helper.config); err != nil {
54+
t.Fatal(err)
55+
}
56+
57+
tmpStrings, err := getIntelRdtParamString(helper.IntelRdtPath, "schemata")
58+
if err != nil {
59+
t.Fatalf("Failed to parse file 'schemata' - %s", err)
60+
}
61+
values := strings.Split(tmpStrings, "\n")
62+
63+
if !reflect.DeepEqual(values, tc.schemataAfter) {
64+
t.Fatalf("Got the wrong value, expected %v, got %v", tc.schemataAfter, values)
65+
}
66+
})
9767
}
9868
}
9969

0 commit comments

Comments
 (0)