Skip to content

Commit e98951a

Browse files
committed
add testcase
1 parent d2393dc commit e98951a

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/conversion.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,20 @@ void ConvertToBooleanCPULayerTest::generate_inputs(const std::vector<ov::Shape>&
282282
inputs.insert({funcInputs[0].get_node_shared_ptr(), tensor});
283283
}
284284

285+
void ConvertI32ToU8CPULayerTest::validate_out_prc() const {
286+
if (inPrc != ov::element::i32 || outPrc != ov::element::u8)
287+
FAIL() << "ConvertI32ToU8CPULayerTest supports only i32->u8 conversion.";
288+
}
289+
290+
void ConvertI32ToU8CPULayerTest::generate_inputs(const std::vector<ov::Shape>& targetInputStaticShapes) {
291+
inputs.clear();
292+
const auto& funcInputs = function->inputs();
293+
const auto& funcInput = funcInputs[0];
294+
ov::Tensor tensor(funcInput.get_element_type(), targetInputStaticShapes[0]);
295+
std::fill_n(tensor.data<int32_t>(), tensor.get_size(), -1);
296+
inputs.insert({funcInput.get_node_shared_ptr(), tensor});
297+
}
298+
285299
TEST_P(ConvertCPULayerTest, CompareWithRefs) {
286300
run();
287301
CheckPluginRelatedResults(compiledModel, std::set<std::string>{"Convert", "Subgraph"});
@@ -295,6 +309,11 @@ TEST_P(ConvertToBooleanCPULayerTest, CompareWithRefs) {
295309
CheckPluginRelatedResults(compiledModel, std::set<std::string>{});
296310
}
297311

312+
TEST_P(ConvertI32ToU8CPULayerTest, CompareWithRefs) {
313+
run();
314+
CheckPluginRelatedResults(compiledModel, std::set<std::string>{"Convert", "Subgraph"});
315+
}
316+
298317
namespace Conversion {
299318

300319
const std::vector<InputShape>& inShapes_4D_static() {

src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/conversion.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ class ConvertToBooleanCPULayerTest : public ConvertCPULayerTest {
4343
void validate_out_prc() const override;
4444
};
4545

46+
class ConvertI32ToU8CPULayerTest : public ConvertCPULayerTest {
47+
protected:
48+
void generate_inputs(const std::vector<ov::Shape>& targetInputStaticShapes) override;
49+
void validate_out_prc() const override;
50+
};
51+
4652
namespace Conversion {
4753
const std::vector<InputShape>& inShapes_4D_static();
4854
const std::vector<InputShape>& inShapes_4D_dynamic();

src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/instances/x64/conversion.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,15 @@ INSTANTIATE_TEST_SUITE_P(smoke_ConvertCPULayerTest_BOOL_Dynamic, ConvertToBoolea
6767
::testing::Values(CPUSpecificParams({nchw}, {nchw}, {}, {}))),
6868
ConvertToBooleanCPULayerTest::getTestCaseName);
6969

70+
INSTANTIATE_TEST_SUITE_P(smoke_ConvertCPULayerTest_I32ToU8_Static, ConvertI32ToU8CPULayerTest,
71+
::testing::Combine(
72+
::testing::ValuesIn(inShapes_4D_static()),
73+
::testing::Values(ov::element::i32),
74+
::testing::Values(ov::element::u8),
75+
::testing::Values(ov::test::SpecialValue::none),
76+
::testing::Values(CPUSpecificParams({nchw}, {nchw}, {}, {}))),
77+
ConvertI32ToU8CPULayerTest::getTestCaseName);
78+
7079
} // namespace
7180
} // namespace Conversion
7281
} // namespace test

0 commit comments

Comments
 (0)