diff --git a/modules/core/test/test_mat.cpp b/modules/core/test/test_mat.cpp index 2344df28a5f3deb2309a969c0dcacdc576ebe56d..e2de3249b68260231305c6d16a828b7d708d7e94 100644 --- a/modules/core/test/test_mat.cpp +++ b/modules/core/test/test_mat.cpp @@ -1472,3 +1472,14 @@ TEST(Core_Mat_vector, copyTo_roi_row) EXPECT_EQ(4, (int)dst2[3]); EXPECT_EQ(5, (int)dst2[4]); } + +TEST(Mat, regression_5991) +{ + int sz[] = {2,3,2}; + Mat mat(3, sz, CV_32F, Scalar(1)); + ASSERT_NO_THROW(mat.convertTo(mat, CV_8U)); + EXPECT_EQ(sz[0], mat.size[0]); + EXPECT_EQ(sz[1], mat.size[1]); + EXPECT_EQ(sz[2], mat.size[2]); + EXPECT_EQ(0, cvtest::norm(mat, Mat(3, sz, CV_8U, Scalar(1)), NORM_INF)); +} diff --git a/modules/core/test/test_umat.cpp b/modules/core/test/test_umat.cpp index a8641d098089e3310ffe5fb48f811691568b0cc3..09c59b60d24772d87131983c68bc7bae6478b9c6 100644 --- a/modules/core/test/test_umat.cpp +++ b/modules/core/test/test_umat.cpp @@ -1343,4 +1343,15 @@ TEST(UMat, testWrongLifetime_Mat) } } +TEST(UMat, DISABLED_regression_5991) +{ + int sz[] = {2,3,2}; + UMat mat(3, sz, CV_32F, Scalar(1)); + ASSERT_NO_THROW(mat.convertTo(mat, CV_8U)); + EXPECT_EQ(sz[0], mat.size[0]); + EXPECT_EQ(sz[1], mat.size[1]); + EXPECT_EQ(sz[2], mat.size[2]); + EXPECT_EQ(0, cvtest::norm(mat.getMat(ACCESS_READ), Mat(3, sz, CV_8U, Scalar(1)), NORM_INF)); +} + } } // namespace cvtest::ocl