more strict checks and reseting state
This commit is contained in:
parent
aa23a842a1
commit
cc47edb850
@ -40,6 +40,7 @@
|
|||||||
//M*/
|
//M*/
|
||||||
|
|
||||||
#include "test_precomp.hpp"
|
#include "test_precomp.hpp"
|
||||||
|
#include "opencv2/ts/ocl_test.hpp"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@ -249,8 +250,13 @@ TEST(UMat, Sync)
|
|||||||
EXPECT_EQ(0, cv::norm(um.getMat(ACCESS_READ), cv::Mat(um.size(), um.type(), 19), NORM_INF));
|
EXPECT_EQ(0, cv::norm(um.getMat(ACCESS_READ), cv::Mat(um.size(), um.type(), 19), NORM_INF));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define EXPECT_MAT_NEAR(m1, m2) ASSERT_EQ(0, cv::norm(m1, m1, cv::NORM_INF))
|
||||||
|
|
||||||
TEST(UMat, setOpenCL)
|
TEST(UMat, setOpenCL)
|
||||||
{
|
{
|
||||||
|
// save the current state
|
||||||
|
bool useOCL = ocl::useOpenCL();
|
||||||
|
|
||||||
Mat m = (Mat_<uchar>(3,3)<<0,1,2,3,4,5,6,7,8);
|
Mat m = (Mat_<uchar>(3,3)<<0,1,2,3,4,5,6,7,8);
|
||||||
|
|
||||||
ocl::setUseOpenCL(true);
|
ocl::setUseOpenCL(true);
|
||||||
@ -264,12 +270,25 @@ TEST(UMat, setOpenCL)
|
|||||||
ocl::setUseOpenCL(true);
|
ocl::setUseOpenCL(true);
|
||||||
countNonZero(um1);
|
countNonZero(um1);
|
||||||
countNonZero(um2);
|
countNonZero(um2);
|
||||||
|
|
||||||
um1.copyTo(um2);
|
um1.copyTo(um2);
|
||||||
|
EXPECT_MAT_NEAR(um1, um2);
|
||||||
|
EXPECT_MAT_NEAR(um1, m);
|
||||||
um2.copyTo(um1);
|
um2.copyTo(um1);
|
||||||
|
EXPECT_MAT_NEAR(um1, m);
|
||||||
|
EXPECT_MAT_NEAR(um1, um2);
|
||||||
|
|
||||||
ocl::setUseOpenCL(false);
|
ocl::setUseOpenCL(false);
|
||||||
countNonZero(um1);
|
countNonZero(um1);
|
||||||
countNonZero(um2);
|
countNonZero(um2);
|
||||||
|
|
||||||
um1.copyTo(um2);
|
um1.copyTo(um2);
|
||||||
|
EXPECT_MAT_NEAR(um1, um2);
|
||||||
|
EXPECT_MAT_NEAR(um1, m);
|
||||||
um2.copyTo(um1);
|
um2.copyTo(um1);
|
||||||
|
EXPECT_MAT_NEAR(um1, um2);
|
||||||
|
EXPECT_MAT_NEAR(um1, m);
|
||||||
|
|
||||||
|
// reset state to the previous one
|
||||||
|
ocl::setUseOpenCL(useOCL);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user