You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// parseAndPresentResults parses the stderr output from the config command and presents
406
+
// successes and errors in the same order as the config flags were specified
407
+
// example: "configuration update complete: set gov to powersave, set c1-demotion to disable, set tdp to 350, set c6 to enable, set epb to 0, set core-max to 3.2, set cores to 86, set elc to default, failed to set pref-l2hw to enable, set pref-dcuhw to enable, set pref-llc to disable, set pref-aop to enable, set pref-l2adj to enable, set uncore-max-compute to 2.2, failed to set llc to 336, set pref-dcunp to enable, set pref-homeless to enable, set pref-amp to enable, set pref-dcuip to enable, set pref-llcpp to enable, set uncore-max-io to 2.5, set uncore-min-compute to 0.8, set uncore-min-io to 0.8"
expectedOutput []string// lines we expect to see in output
203
+
}{
204
+
{
205
+
name: "Example from function header comment",
206
+
stderrOutput: "configuration update complete: set gov to powersave, set c1-demotion to disable, set tdp to 350, set c6 to enable, set epb to 0, set core-max to 3.2, set cores to 86, set elc to default, failed to set pref-l2hw to enable, set pref-dcuhw to enable, set pref-llc to disable, set pref-aop to enable, set pref-l2adj to enable, set uncore-max-compute to 2.2, failed to set llc to 336, set pref-dcunp to enable, set pref-homeless to enable, set pref-amp to enable, set pref-dcuip to enable, set pref-llcpp to enable, set uncore-max-io to 2.5, set uncore-min-compute to 0.8, set uncore-min-io to 0.8",
207
+
flagValues: []flagValue{
208
+
{flagName: "cores", value: "86"},
209
+
{flagName: "llc", value: "336"},
210
+
{flagName: "tdp", value: "350"},
211
+
{flagName: "core-max", value: "3.2"},
212
+
{flagName: "uncore-max-compute", value: "2.2"},
213
+
{flagName: "uncore-min-compute", value: "0.8"},
214
+
{flagName: "uncore-max-io", value: "2.5"},
215
+
{flagName: "uncore-min-io", value: "0.8"},
216
+
{flagName: "epb", value: "0"},
217
+
{flagName: "gov", value: "powersave"},
218
+
{flagName: "elc", value: "default"},
219
+
{flagName: "pref-l2hw", value: "enable"},
220
+
{flagName: "pref-l2adj", value: "enable"},
221
+
{flagName: "pref-dcuhw", value: "enable"},
222
+
{flagName: "pref-dcuip", value: "enable"},
223
+
{flagName: "pref-dcunp", value: "enable"},
224
+
{flagName: "pref-amp", value: "enable"},
225
+
{flagName: "pref-llcpp", value: "enable"},
226
+
{flagName: "pref-aop", value: "enable"},
227
+
{flagName: "pref-homeless", value: "enable"},
228
+
{flagName: "pref-llc", value: "disable"},
229
+
{flagName: "c6", value: "enable"},
230
+
{flagName: "c1-demotion", value: "disable"},
231
+
},
232
+
expectedOutput: []string{
233
+
"✓ Set cores to 86",
234
+
"✗ Failed to set llc to 336",
235
+
"✓ Set tdp to 350",
236
+
"✓ Set core-max to 3.2",
237
+
"✓ Set uncore-max-compute to 2.2",
238
+
"✓ Set uncore-min-compute to 0.8",
239
+
"✓ Set uncore-max-io to 2.5",
240
+
"✓ Set uncore-min-io to 0.8",
241
+
"✓ Set epb to 0",
242
+
"✓ Set gov to powersave",
243
+
"✓ Set elc to default",
244
+
"✗ Failed to set pref-l2hw to enable",
245
+
"✓ Set pref-l2adj to enable",
246
+
"✓ Set pref-dcuhw to enable",
247
+
"✓ Set pref-dcuip to enable",
248
+
"✓ Set pref-dcunp to enable",
249
+
"✓ Set pref-amp to enable",
250
+
"✓ Set pref-llcpp to enable",
251
+
"✓ Set pref-aop to enable",
252
+
"✓ Set pref-homeless to enable",
253
+
"✓ Set pref-llc to disable",
254
+
"✓ Set c6 to enable",
255
+
"✓ Set c1-demotion to disable",
256
+
},
257
+
},
258
+
{
259
+
name: "Empty stderr output",
260
+
stderrOutput: "",
261
+
flagValues: []flagValue{
262
+
{flagName: "cores", value: "86"},
263
+
},
264
+
expectedOutput: []string{}, // nothing should be printed
265
+
},
266
+
{
267
+
name: "Mixed success and error messages on separate lines",
268
+
stderrOutput: "gnr ⣾ preparing target\n"+
269
+
"gnr ⣽ configuration update complete: set cores to 86, failed to set llc to 336, set tdp to 350\n",
270
+
flagValues: []flagValue{
271
+
{flagName: "cores", value: "86"},
272
+
{flagName: "llc", value: "336"},
273
+
{flagName: "tdp", value: "350"},
274
+
},
275
+
expectedOutput: []string{
276
+
"✓ Set cores to 86",
277
+
"✗ Failed to set llc to 336",
278
+
"✓ Set tdp to 350",
279
+
},
280
+
},
281
+
{
282
+
name: "Flag name with multiple hyphens",
283
+
stderrOutput: "set uncore-max-compute to 2.2, set uncore-min-io to 0.8",
284
+
flagValues: []flagValue{
285
+
{flagName: "uncore-max-compute", value: "2.2"},
286
+
{flagName: "uncore-min-io", value: "0.8"},
287
+
},
288
+
expectedOutput: []string{
289
+
"✓ Set uncore-max-compute to 2.2",
290
+
"✓ Set uncore-min-io to 0.8",
291
+
},
292
+
},
293
+
{
294
+
name: "No matching flags in output",
295
+
stderrOutput: "some other message without flag updates",
296
+
flagValues: []flagValue{
297
+
{flagName: "cores", value: "86"},
298
+
},
299
+
expectedOutput: []string{
300
+
"? cores: status unknown",
301
+
},
302
+
},
303
+
{
304
+
name: "Flag with underscore and numbers",
305
+
stderrOutput: "set pref_test123 to enable, failed to set flag_456 to disable",
0 commit comments