@@ -246,7 +246,7 @@ TEST(ewlayer_onednn, multiple_input_tensors) {
246246 EXPECT_THROW ({ layer.run (in, out); }, std::runtime_error);
247247}
248248
249- TEST (ewlayer_onednn, unsupported_tensor_dimensionality ) {
249+ TEST (ewlayer_onednn, unsupported_tensor_dimensionality1 ) {
250250 EwLayerOneDnn layer (" relu" );
251251
252252 Shape shape_6d ({2 , 3 , 4 , 5 , 6 , 7 });
@@ -536,3 +536,46 @@ TEST(ewlayer_onednn, all_functions_int) {
536536 }
537537 }
538538}
539+
540+ TEST (ewlayer_onednn, unsupported_tensor_dimensionality) {
541+ EwLayerOneDnn layer (" relu" );
542+ Shape shape6d ({2 , 2 , 2 , 2 , 2 , 2 });
543+ std::vector<float > data6d (64 , 1 .0f );
544+ Tensor input = make_tensor (data6d, shape6d);
545+ Tensor output;
546+ std::vector<Tensor> in{input};
547+ std::vector<Tensor> out{output};
548+
549+ EXPECT_THROW (layer.run (in, out), std::invalid_argument);
550+
551+ try {
552+ layer.run (in, out);
553+ FAIL () << " Expected std::invalid_argument exception" ;
554+ } catch (const std::invalid_argument& e) {
555+ EXPECT_NE (std::string (e.what ()).find (" Unsupported tensor dimensionality" ),
556+ std::string::npos);
557+ EXPECT_NE (std::string (e.what ()).find (" 6" ), std::string::npos);
558+ }
559+ }
560+
561+ TEST (ewlayer_onednn, unsupported_function_algorithm) {
562+ EwLayerOneDnn layer (" relu" );
563+ EwLayerOneDnn invalid_layer (" invalid_func_123" , 1 .0f , 0 .0f );
564+
565+ Tensor input = make_tensor<float >({1 .0F });
566+ Tensor output;
567+ std::vector<Tensor> in{input};
568+ std::vector<Tensor> out{output};
569+
570+ EXPECT_THROW (invalid_layer.run (in, out), std::invalid_argument);
571+
572+ try {
573+ invalid_layer.run (in, out);
574+ FAIL () << " Expected std::invalid_argument" ;
575+ } catch (const std::invalid_argument& e) {
576+ EXPECT_NE (std::string (e.what ()).find (" Unsupported function for oneDNN" ),
577+ std::string::npos);
578+ EXPECT_NE (std::string (e.what ()).find (" invalid_func_123" ),
579+ std::string::npos);
580+ }
581+ }
0 commit comments