perf tests: Support 'Parse and process metrics' test for hybrid
authorJin Yao <yao.jin@linux.intel.com>
Tue, 27 Apr 2021 07:01:35 +0000 (15:01 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 29 Apr 2021 13:31:00 +0000 (10:31 -0300)
Some events are not supported. Only pick up some cases for hybrid.

  # ./perf test 68
  68: Parse and process metrics                                       : Ok

Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Reviewed-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210427070139.25256-23-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/parse-metric.c

index 4968c41..4f6f490 100644 (file)
@@ -11,6 +11,7 @@
 #include "debug.h"
 #include "expr.h"
 #include "stat.h"
 #include "debug.h"
 #include "expr.h"
 #include "stat.h"
+#include "pmu.h"
 
 static struct pmu_event pme_test[] = {
 {
 
 static struct pmu_event pme_test[] = {
 {
@@ -372,10 +373,13 @@ int test__parse_metric(struct test *test __maybe_unused, int subtest __maybe_unu
 {
        TEST_ASSERT_VAL("IPC failed", test_ipc() == 0);
        TEST_ASSERT_VAL("frontend failed", test_frontend() == 0);
 {
        TEST_ASSERT_VAL("IPC failed", test_ipc() == 0);
        TEST_ASSERT_VAL("frontend failed", test_frontend() == 0);
-       TEST_ASSERT_VAL("cache_miss_cycles failed", test_cache_miss_cycles() == 0);
        TEST_ASSERT_VAL("DCache_L2 failed", test_dcache_l2() == 0);
        TEST_ASSERT_VAL("recursion fail failed", test_recursion_fail() == 0);
        TEST_ASSERT_VAL("DCache_L2 failed", test_dcache_l2() == 0);
        TEST_ASSERT_VAL("recursion fail failed", test_recursion_fail() == 0);
-       TEST_ASSERT_VAL("test metric group", test_metric_group() == 0);
        TEST_ASSERT_VAL("Memory bandwidth", test_memory_bandwidth() == 0);
        TEST_ASSERT_VAL("Memory bandwidth", test_memory_bandwidth() == 0);
+
+       if (!perf_pmu__has_hybrid()) {
+               TEST_ASSERT_VAL("cache_miss_cycles failed", test_cache_miss_cycles() == 0);
+               TEST_ASSERT_VAL("test metric group", test_metric_group() == 0);
+       }
        return 0;
 }
        return 0;
 }