Metrics ULT Conditional coverage of metric_enumeration_imp.cpp
Resolves: LOCI-2220 Signed-off-by: vinod krishna <vinod.krishna@intel.com>
This commit is contained in:
parent
e3dae53d25
commit
66f0dc5564
|
@ -210,6 +210,7 @@ struct Mock<MetricGroup> : public MetricGroup {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MetricGroupImpTest : public MetricGroupImp {
|
struct MetricGroupImpTest : public MetricGroupImp {
|
||||||
|
using MetricGroupImp::copyValue;
|
||||||
using MetricGroupImp::pReferenceConcurrentGroup;
|
using MetricGroupImp::pReferenceConcurrentGroup;
|
||||||
using MetricGroupImp::pReferenceMetricSet;
|
using MetricGroupImp::pReferenceMetricSet;
|
||||||
};
|
};
|
||||||
|
|
|
@ -38,7 +38,7 @@ TEST_F(MetricEnumerationTest, givenIncorrectMetricsDiscoveryDeviceWhenZetGetMetr
|
||||||
EXPECT_EQ(metricGroupCount, 0u);
|
EXPECT_EQ(metricGroupCount, 0u);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenCorrectMetricDiscoverywhenLoadMetricsDiscoveryIsCalledThenReturnsSuccess) {
|
TEST_F(MetricEnumerationTest, givenCorrectMetricDiscoveryWhenLoadMetricsDiscoveryIsCalledThenReturnsSuccess) {
|
||||||
|
|
||||||
EXPECT_CALL(*mockMetricEnumeration, loadMetricsDiscovery())
|
EXPECT_CALL(*mockMetricEnumeration, loadMetricsDiscovery())
|
||||||
.Times(1);
|
.Times(1);
|
||||||
|
@ -46,7 +46,7 @@ TEST_F(MetricEnumerationTest, givenCorrectMetricDiscoverywhenLoadMetricsDiscover
|
||||||
EXPECT_EQ(mockMetricEnumeration->loadMetricsDiscovery(), ZE_RESULT_SUCCESS);
|
EXPECT_EQ(mockMetricEnumeration->loadMetricsDiscovery(), ZE_RESULT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenIncorrectMetricDiscoverywhenLoadMetricsDiscoveryIsCalledThenReturnsFail) {
|
TEST_F(MetricEnumerationTest, givenIncorrectMetricDiscoveryWhenLoadMetricsDiscoveryIsCalledThenReturnsFail) {
|
||||||
|
|
||||||
mockMetricEnumeration->hMetricsDiscovery = nullptr;
|
mockMetricEnumeration->hMetricsDiscovery = nullptr;
|
||||||
mockMetricEnumeration->openAdapterGroup = nullptr;
|
mockMetricEnumeration->openAdapterGroup = nullptr;
|
||||||
|
@ -54,6 +54,15 @@ TEST_F(MetricEnumerationTest, givenIncorrectMetricDiscoverywhenLoadMetricsDiscov
|
||||||
EXPECT_EQ(mockMetricEnumeration->baseLoadMetricsDiscovery(), ZE_RESULT_ERROR_NOT_AVAILABLE);
|
EXPECT_EQ(mockMetricEnumeration->baseLoadMetricsDiscovery(), ZE_RESULT_ERROR_NOT_AVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenIncorrectMetricDiscoveryWhenMetricGroupGetIsCalledThenReturnsErrorUnknown) {
|
||||||
|
|
||||||
|
mockMetricEnumeration->hMetricsDiscovery = nullptr;
|
||||||
|
mockMetricEnumeration->openAdapterGroup = nullptr;
|
||||||
|
|
||||||
|
uint32_t metricGroupCount = 0;
|
||||||
|
EXPECT_EQ(zetMetricGroupGet(device->toHandle(), &metricGroupCount, nullptr), ZE_RESULT_ERROR_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenIncorrectMetricsDiscoveryInterfaceVersionWhenZetGetMetricGroupIsCalledThenReturnsFail) {
|
TEST_F(MetricEnumerationTest, givenIncorrectMetricsDiscoveryInterfaceVersionWhenZetGetMetricGroupIsCalledThenReturnsFail) {
|
||||||
|
|
||||||
metricsDeviceParams.Version.MajorNumber = 0;
|
metricsDeviceParams.Version.MajorNumber = 0;
|
||||||
|
@ -2314,7 +2323,6 @@ INSTANTIATE_TEST_CASE_P(parameterizedMetricEnumerationTestInformationTypes,
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsTrue) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsTrue) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric set.
|
|
||||||
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2327,7 +2335,6 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsT
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsFalse) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsFalse) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric set.
|
|
||||||
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2340,7 +2347,6 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenActivateIsCalledActivateReturnsF
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsTrue) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsTrue) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric set.
|
|
||||||
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2353,7 +2359,6 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateRetu
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsFalse) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateReturnsFalse) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric set.
|
|
||||||
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2366,7 +2371,6 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenDeactivateIsCalledDeactivateRetu
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsSuccess) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsSuccess) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric group.
|
|
||||||
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2380,7 +2384,6 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForRep
|
||||||
|
|
||||||
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsNotReady) {
|
TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForReportsReturnsNotReady) {
|
||||||
|
|
||||||
// Metrics Discovery:: metric group.
|
|
||||||
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
MetricGroupImpTest metricGroup;
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
@ -2392,5 +2395,121 @@ TEST_F(MetricEnumerationTest, givenMetricSetWhenWaitForReportsIsCalledWaitForRep
|
||||||
EXPECT_EQ(metricGroup.waitForReports(timeout), ZE_RESULT_NOT_READY);
|
EXPECT_EQ(metricGroup.waitForReports(timeout), ZE_RESULT_NOT_READY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenTimeAndBufferSizeWhenOpenIoStreamReturnsErrorThenTheMetricGroupOpenIoStreamReturnsErrorUnknown) {
|
||||||
|
|
||||||
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
|
||||||
|
EXPECT_CALL(concurrentGroup, OpenIoStream(_, _, _, _))
|
||||||
|
.WillRepeatedly(Return(MetricsDiscovery::CC_ERROR_GENERAL));
|
||||||
|
|
||||||
|
uint32_t timerPeriodNs = 1;
|
||||||
|
uint32_t oaBufferSize = 100;
|
||||||
|
|
||||||
|
EXPECT_EQ(metricGroup.openIoStream(timerPeriodNs, oaBufferSize), ZE_RESULT_ERROR_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenReportCountAndReportDataWhenReadIoStreamReturnsOkTheMetricGroupReadIoStreamReturnsSuccess) {
|
||||||
|
|
||||||
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
|
||||||
|
EXPECT_CALL(concurrentGroup, ReadIoStream(_, _, _))
|
||||||
|
.WillOnce(Return(MetricsDiscovery::CC_OK));
|
||||||
|
|
||||||
|
uint32_t reportCount = 1;
|
||||||
|
uint8_t reportData = 0;
|
||||||
|
|
||||||
|
EXPECT_EQ(metricGroup.readIoStream(reportCount, reportData), ZE_RESULT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenReportCountAndReportDataWhenReadIoStreamReturnsPendingTheMetricGroupReadIoStreamReturnsSuccess) {
|
||||||
|
|
||||||
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
|
||||||
|
EXPECT_CALL(concurrentGroup, ReadIoStream(_, _, _))
|
||||||
|
.WillOnce(Return(MetricsDiscovery::CC_READ_PENDING));
|
||||||
|
|
||||||
|
uint32_t reportCount = 1;
|
||||||
|
uint8_t reportData = 0;
|
||||||
|
|
||||||
|
EXPECT_EQ(metricGroup.readIoStream(reportCount, reportData), ZE_RESULT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenReportCountAndReportDataWhenReadIoStreamReturnsErrorThenMetrigGroupReadIoStreamReturnsError) {
|
||||||
|
|
||||||
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
|
||||||
|
EXPECT_CALL(concurrentGroup, ReadIoStream(_, _, _))
|
||||||
|
.WillOnce(Return(MetricsDiscovery::CC_ERROR_GENERAL));
|
||||||
|
|
||||||
|
uint32_t reportCount = 1;
|
||||||
|
uint8_t reportData = 0;
|
||||||
|
|
||||||
|
EXPECT_EQ(metricGroup.readIoStream(reportCount, reportData), ZE_RESULT_ERROR_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenTimeAndBufferSizeWhenCloseIoStreamIsCalledCloseAndFailThenIoStreamReturnsErrorUnknown) {
|
||||||
|
|
||||||
|
Mock<MetricsDiscovery::IConcurrentGroup_1_5> concurrentGroup;
|
||||||
|
MetricGroupImpTest metricGroup;
|
||||||
|
|
||||||
|
metricGroup.pReferenceConcurrentGroup = &concurrentGroup;
|
||||||
|
EXPECT_CALL(concurrentGroup, CloseIoStream())
|
||||||
|
.WillRepeatedly(Return(MetricsDiscovery::CC_ERROR_GENERAL));
|
||||||
|
|
||||||
|
EXPECT_EQ(metricGroup.closeIoStream(), ZE_RESULT_ERROR_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MetricEnumerationTest, givenTTypedValueWhenCopyValueIsCalledReturnsFilledZetTypedValue) {
|
||||||
|
|
||||||
|
MetricsDiscovery::TTypedValue_1_0 source = {};
|
||||||
|
zet_typed_value_t destination = {};
|
||||||
|
MetricGroupImpTest metricGroup = {};
|
||||||
|
|
||||||
|
for (int vType = MetricsDiscovery::VALUE_TYPE_UINT32;
|
||||||
|
vType < MetricsDiscovery::VALUE_TYPE_LAST; vType++) {
|
||||||
|
source.ValueType = static_cast<MetricsDiscovery::TValueType>(vType);
|
||||||
|
if (vType != MetricsDiscovery::VALUE_TYPE_BOOL)
|
||||||
|
source.ValueUInt64 = 0xFF;
|
||||||
|
else
|
||||||
|
source.ValueBool = true;
|
||||||
|
|
||||||
|
metricGroup.copyValue(const_cast<MetricsDiscovery::TTypedValue_1_0 &>(source), destination);
|
||||||
|
switch (vType) {
|
||||||
|
case MetricsDiscovery::VALUE_TYPE_UINT32:
|
||||||
|
EXPECT_EQ(destination.type, ZET_VALUE_TYPE_UINT32);
|
||||||
|
EXPECT_EQ(destination.value.ui32, source.ValueUInt32);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MetricsDiscovery::VALUE_TYPE_UINT64:
|
||||||
|
EXPECT_EQ(destination.type, ZET_VALUE_TYPE_UINT64);
|
||||||
|
EXPECT_EQ(destination.value.ui64, source.ValueUInt64);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MetricsDiscovery::VALUE_TYPE_FLOAT:
|
||||||
|
EXPECT_EQ(destination.type, ZET_VALUE_TYPE_FLOAT32);
|
||||||
|
EXPECT_EQ(destination.value.fp32, source.ValueFloat);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MetricsDiscovery::VALUE_TYPE_BOOL:
|
||||||
|
EXPECT_EQ(destination.type, ZET_VALUE_TYPE_BOOL8);
|
||||||
|
EXPECT_EQ(destination.value.b8, source.ValueBool);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
EXPECT_EQ(destination.type, ZET_VALUE_TYPE_UINT64);
|
||||||
|
EXPECT_EQ(destination.value.ui64, static_cast<uint64_t>(0));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ult
|
} // namespace ult
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
Loading…
Reference in New Issue