]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf test: Be tolerant of missing json metric none value
authorIan Rogers <irogers@google.com>
Wed, 12 Nov 2025 19:53:08 +0000 (11:53 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Mon, 17 Nov 2025 07:24:00 +0000 (23:24 -0800)
print_metric_only_json and print_metric_end in stat-display.c may
create a metric value of "none" which fails validation as isfloat. Add
a helper to properly validate metric numeric values.

Signed-off-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/tests/shell/lib/perf_json_output_lint.py

index 1369baaa0361bd20e71b0992eef6463499f16270..dafbde56cc76fec6a927bc1eb1416aa1912d2d21 100644 (file)
@@ -43,6 +43,9 @@ def isint(num):
 def is_counter_value(num):
   return isfloat(num) or num == '<not counted>' or num == '<not supported>'
 
+def is_metric_value(num):
+  return isfloat(num) or num == 'none'
+
 def check_json_output(expected_items):
   checks = {
       'counters': lambda x: isfloat(x),
@@ -57,7 +60,7 @@ def check_json_output(expected_items):
       'event-runtime': lambda x: isfloat(x),
       'interval': lambda x: isfloat(x),
       'metric-unit': lambda x: True,
-      'metric-value': lambda x: isfloat(x),
+      'metric-value': lambda x: is_metric_value(x),
       'metric-threshold': lambda x: x in ['unknown', 'good', 'less good', 'nearly bad', 'bad'],
       'metricgroup': lambda x: True,
       'node': lambda x: True,