diff --git a/projects/hipblaslt/tensilelite/client/include/ResultComparison.hpp b/projects/hipblaslt/tensilelite/client/include/ResultComparison.hpp index 837a5bba59f6..86f91cc27f54 100644 --- a/projects/hipblaslt/tensilelite/client/include/ResultComparison.hpp +++ b/projects/hipblaslt/tensilelite/client/include/ResultComparison.hpp @@ -123,10 +123,11 @@ namespace TensileLite void report() { - if(m_errors && m_printReport) + if(m_errors) { - std::cout << "Found " << m_errors << " incorrect values in " << m_values - << " total values compared." << std::endl; + if(m_printReport) + std::cout << "Found " << m_errors << " incorrect values in " << m_values + << " total values compared." << std::endl; m_failed = true; } m_errors = 0; @@ -188,10 +189,11 @@ namespace TensileLite void report() { - if(m_errors && m_printReport) + if(m_errors) { - std::cout << "Found " << m_errors << " incorrect values in " << m_values - << " total values compared." << std::endl; + if(m_printReport) + std::cout << "Found " << m_errors << " incorrect values in " << m_values + << " total values compared." << std::endl; m_failed = true; } } diff --git a/projects/hipblaslt/tensilelite/tests/ResultComparison_test.cpp b/projects/hipblaslt/tensilelite/tests/ResultComparison_test.cpp index 08ac7a365e06..d0b35cfc0b13 100644 --- a/projects/hipblaslt/tensilelite/tests/ResultComparison_test.cpp +++ b/projects/hipblaslt/tensilelite/tests/ResultComparison_test.cpp @@ -228,3 +228,24 @@ TYPED_TEST(ResultComparisonTest, PrintMaxZero_SameOutput) EXPECT_EQ(oldOutput, newOutput); EXPECT_EQ(oldOutput, ""); } + +// Test: mismatches present but printMax=0 — both comparators should still fail. +TYPED_TEST(ResultComparisonTest, PrintMaxZero_MismatchStillFails) +{ + using T = typename TestFixture::TypeParam; + auto ref = makeVec({1, 2, 3}); + auto res = makeVec({1, 9, 3}); + + PointwiseComparison slow(false, 0, false, -1.0); + FastPointwiseComparison fast(false, -1.0); + for(size_t i = 0; i < ref.size(); i++) + { + slow(ref[i], res[i], i, i); + fast(ref[i], res[i], i, i); + } + slow.report(); + fast.report(); + + EXPECT_TRUE(slow.error()); + EXPECT_TRUE(fast.error()); +}