Skip to content

Commit 25abdd0

Browse files
committed
add test
Signed-off-by: Harper, Jason M <[email protected]>
1 parent 0aaa997 commit 25abdd0

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

cmd/config/restore_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,60 @@ C6: Disabled --c6 <enable|disable>
7070
assert.Equal(t, "tdp", flagValues[2].flagName)
7171
}
7272

73+
func TestParseConfigFileMissingValues(t *testing.T) {
74+
// create a temporary config file
75+
content := `Configuration
76+
=============
77+
Cores per Socket: 4 --cores <N>
78+
L3 Cache: 105M --llc <MB>
79+
Package Power / TDP: --tdp <Watts>
80+
Core SSE Frequency: 1-24/3.8, 25-30/3.7, 31-34/3.6, 35-38/3.5, 39-44/3.3, 45-48/3.2 --core-max <GHz>
81+
Uncore Max Frequency: --uncore-max <GHz>
82+
Uncore Min Frequency: --uncore-min <GHz>
83+
Energy Performance Bias: --epb <0-15>
84+
Energy Performance Preference: --epp <0-255>
85+
Scaling Governor: --gov <performance|powersave>
86+
L2 HW prefetcher: Enabled --pref-l2hw <enable|disable>
87+
L2 Adj prefetcher: Enabled --pref-l2adj <enable|disable>
88+
DCU HW prefetcher: Enabled --pref-dcuhw <enable|disable>
89+
DCU IP prefetcher: Enabled --pref-dcuip <enable|disable>
90+
DCU NP prefetcher: Enabled --pref-dcunp <enable|disable>
91+
AMP prefetcher: Enabled --pref-amp <enable|disable>
92+
C6: Enabled --c6 <enable|disable>
93+
C1 Demotion: Disabled --c1-demotion <enable|disable>
94+
`
95+
96+
tmpFile, err := os.CreateTemp("", "config_test_*.txt")
97+
require.NoError(t, err)
98+
defer os.Remove(tmpFile.Name())
99+
100+
_, err = tmpFile.WriteString(content)
101+
require.NoError(t, err)
102+
tmpFile.Close()
103+
104+
// parse the file
105+
flagValues, err := parseConfigFile(tmpFile.Name())
106+
require.NoError(t, err)
107+
108+
// convert slice to map for easier testing
109+
valueMap := make(map[string]string)
110+
for _, fv := range flagValues {
111+
valueMap[fv.flagName] = fv.value
112+
}
113+
114+
// verify expected values
115+
assert.Equal(t, "4", valueMap["cores"])
116+
assert.Equal(t, "105", valueMap["llc"])
117+
assert.Equal(t, "", valueMap["tdp"])
118+
// verify core-max with buckets is converted to core-sse-freq-buckets
119+
assert.Equal(t, "1-24/3.8, 25-30/3.7, 31-34/3.6, 35-38/3.5, 39-44/3.3, 45-48/3.2", valueMap["core-sse-freq-buckets"])
120+
assert.Equal(t, "", valueMap["uncore-max"])
121+
assert.Equal(t, "", valueMap["uncore-min"])
122+
assert.Equal(t, "", valueMap["gov"])
123+
assert.Equal(t, "enable", valueMap["pref-l2hw"])
124+
assert.Equal(t, "enable", valueMap["c6"])
125+
}
126+
73127
func TestConvertValue(t *testing.T) {
74128
tests := []struct {
75129
name string

0 commit comments

Comments
 (0)