COMPMID-617 Add window validation to CLDirectConvolutionLayer

Change-Id: Ia642dc68de6a0afe697bbce392e7ee955fa8944b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/111460
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: BSG Visual Compute Jenkins server to access repositories on http://mpd-gerrit.cambridge.arm.com <bsgcomp@arm.com>
diff --git a/tests/validation/CL/DirectConvolutionLayer.cpp b/tests/validation/CL/DirectConvolutionLayer.cpp
index 4b747d6..e2e1b6a 100644
--- a/tests/validation/CL/DirectConvolutionLayer.cpp
+++ b/tests/validation/CL/DirectConvolutionLayer.cpp
@@ -92,7 +92,8 @@
                                                        TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), // Invalid biases size
                                                        TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), // Invalid biases dimensions
                                                        TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), // Invalid output size
-                                                       TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0),
+                                                       TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), // Window shrink
+                                                       TensorInfo(TensorShape(32U, 16U, 2U), 1, DataType::F32, 0),
                                                      }),
                framework::dataset::make("WeightsInfo",{ TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F16, 0),
                                                         TensorInfo(TensorShape(3U, 3U, 3U, 4U), 1, DataType::F32, 0),
@@ -104,6 +105,7 @@
                                                         TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0),
                                                         TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0),
                                                         TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0),
+                                                        TensorInfo(TensorShape(1U, 1U, 2U, 4U), 1, DataType::F32, 0),
                                                      })),
                framework::dataset::make("BiasesInfo",{ TensorInfo(TensorShape(4U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(4U), 1, DataType::F32, 0),
@@ -115,6 +117,7 @@
                                                        TensorInfo(TensorShape(4U, 2U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(4U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(4U), 1, DataType::F32, 0),
+                                                       TensorInfo(TensorShape(4U), 1, DataType::F32, 0),
                                                      })),
                framework::dataset::make("OutputInfo",{ TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0),
@@ -126,6 +129,7 @@
                                                        TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(26U, 11U, 4U), 1, DataType::F32, 0),
                                                        TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0),
+                                                       TensorInfo(TensorShape(32U, 16U, 4U), 1, DataType::F32, 0),
                                                      })),
                framework::dataset::make("ConvInfo",  { PadStrideInfo(1, 1, 0, 0),
                                                        PadStrideInfo(1, 1, 0, 0),
@@ -137,11 +141,12 @@
                                                        PadStrideInfo(1, 1, 0, 0),
                                                        PadStrideInfo(1, 1, 0, 0),
                                                        PadStrideInfo(1, 1, 0, 0),
+                                                       PadStrideInfo(1, 1, 0, 0),
                                                       })),
-               framework::dataset::make("Expected", { true, true, true, true, true, true, true, true, true, false })),
+               framework::dataset::make("Expected", { true, true, true, true, true, true, true, true, true, true, false })),
                input_info, weights_info, biases_info, output_info, conv_info, expected)
 {
-    bool is_error = bool(CLDirectConvolutionLayer::validate(&input_info, &weights_info, &biases_info, &output_info, conv_info));
+    bool is_error = bool(CLDirectConvolutionLayer::validate(&input_info.clone()->set_is_resizable(false), &weights_info.clone()->set_is_resizable(false), &biases_info.clone()->set_is_resizable(false), &output_info.clone()->set_is_resizable(false), conv_info));
     ARM_COMPUTE_EXPECT(is_error == expected, framework::LogLevel::ERRORS);
 }
 // clang-format on