[PATCH v4 3/6] KVM: selftests: Print detailed info in PMU event filter asserts

From: Sean Christopherson
Date: Fri Apr 07 2023 - 19:33:15 EST


From: Aaron Lewis <aaronlewis@xxxxxxxxxx>

Provide the actual vs. expected count in the PMU event filter test's
asserts instead of relying on pr_info() to provide the context, e.g. so
that all information needed to triage a failure is readily available even
if the environment in which the test is run captures only the assert
itself.

Signed-off-by: Aaron Lewis <aaronlewis@xxxxxxxxxx>
[sean: rewrite changelog]
Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
.../selftests/kvm/x86_64/pmu_event_filter_test.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c b/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
index 9b53e02a0565..ef07aaca2168 100644
--- a/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
+++ b/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
@@ -246,18 +246,17 @@ static struct kvm_pmu_event_filter *remove_event(struct kvm_pmu_event_filter *f,

#define ASSERT_PMC_COUNTING_INSTRUCTIONS(count) \
do { \
- if (count != NUM_BRANCHES) \
+ if (count && count != NUM_BRANCHES) \
pr_info("%s: Branch instructions retired = %lu (expected %u)\n", \
__func__, count, NUM_BRANCHES); \
- TEST_ASSERT(count, "Allowed PMU event is not counting."); \
+ TEST_ASSERT(count, "%s: Branch instructions retired = %lu (expected > 0)", \
+ __func__, count); \
} while (0)

#define ASSERT_PMC_NOT_COUNTING_INSTRUCTIONS(count) \
do { \
- if (count) \
- pr_info("%s: Branch instructions retired = %lu (expected 0)\n", \
- __func__, count); \
- TEST_ASSERT(!count, "Disallowed PMU Event is counting"); \
+ TEST_ASSERT(!count, "%s: Branch instructions retired = %lu (expected 0)", \
+ __func__, count); \
} while (0)

static void test_without_filter(struct kvm_vcpu *vcpu)
--
2.40.0.577.gac1e443424-goog