Metrics ULT for Metric Groups activate, deactivate & WaitForReports functions.

Resolves: LOCI-2190

Signed-off-by: vinod krishna <vinod.krishna@intel.com>
This commit is contained in:
vinod krishna
2021-04-06 23:50:38 +05:30
committed by Compute-Runtime-Automation
parent f30fb9126a
commit 7b974f0ecb
2 changed files with 86 additions and 0 deletions

View File

@ -209,5 +209,10 @@ struct Mock<MetricGroup> : public MetricGroup {
MOCK_METHOD(ze_result_t, closeIoStream, (), (override));
};
struct MetricGroupImpTest : public MetricGroupImp {
using MetricGroupImp::pReferenceConcurrentGroup;
using MetricGroupImp::pReferenceMetricSet;
};
} // namespace ult
} // namespace L0

View File

@ -2311,5 +2311,86 @@ getListOfInfoTypes() {
INSTANTIATE_TEST_CASE_P(parameterizedMetricEnumerationTestInformationTypes,
MetricEnumerationTestInformationTypes,
::testing::ValuesIn(getListOfInfoTypes()));
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsTrue) {
// Metrics Discovery:: metric set.
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceMetricSet = &metricsSet;
EXPECT_CALL(metricsSet, Activate())
.WillRepeatedly(Return(MetricsDiscovery::CC_OK));
EXPECT_EQ(metricGroup.activate(), true);
}
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsFalse) {
// Metrics Discovery:: metric set.
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceMetricSet = &metricsSet;
EXPECT_CALL(metricsSet, Activate())
.WillRepeatedly(Return(MetricsDiscovery::CC_ERROR_GENERAL));
EXPECT_EQ(metricGroup.activate(), false);
}
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsTrue) {
// Metrics Discovery:: metric set.
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceMetricSet = &metricsSet;
EXPECT_CALL(metricsSet, Deactivate())
.WillRepeatedly(Return(MetricsDiscovery::CC_OK));
EXPECT_EQ(metricGroup.deactivate(), true);
}
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsFalse) {
// Metrics Discovery:: metric set.
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceMetricSet = &metricsSet;
EXPECT_CALL(metricsSet, Deactivate())
.WillRepeatedly(Return(MetricsDiscovery::CC_ERROR_GENERAL));
EXPECT_EQ(metricGroup.deactivate(), false);
}
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsSuccess) {
// Metrics Discovery:: metric group.
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
EXPECT_CALL(concurrentGroup, WaitForReports(_))
.WillRepeatedly(Return(MetricsDiscovery::TCompletionCode::CC_OK));
uint32_t timeout = 1;
EXPECT_EQ(metricGroup.waitForReports(timeout), ZE_RESULT_SUCCESS);
}
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsNotReady) {
// Metrics Discovery:: metric group.
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
MetricGroupImpTest metricGroup;
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
EXPECT_CALL(concurrentGroup, WaitForReports(_))
.WillRepeatedly(Return(MetricsDiscovery::TCompletionCode::CC_ERROR_GENERAL));
uint32_t timeout = 1;
EXPECT_EQ(metricGroup.waitForReports(timeout), ZE_RESULT_NOT_READY);
}
} // namespace ult
} // namespace L0