JayBeams  0.1
Another project to have fun coding.
clfft_error_ut.cpp
Go to the documentation of this file.
1 #include <jb/clfft/error.hpp>
2 
3 #include <boost/test/unit_test.hpp>
4 #include <clFFT.h>
5 
6 /**
7  * @test Verify that jb::opencl::check_error_code works as expected.
8  */
10  BOOST_CHECK_NO_THROW(jb::clfft::check_error_code(CL_SUCCESS, "foo"));
11  BOOST_CHECK_THROW(
12  jb::clfft::check_error_code(CL_DEVICE_NOT_FOUND, "bar"),
14 }
15 
16 /**
17  * @test Ensure all error codes are handled...
18  */
19 BOOST_AUTO_TEST_CASE(clfft_error_to_string) {
20  for (int error = CLFFT_BUGCHECK; error <= CLFFT_ENDSTATUS; ++error) {
21  BOOST_CHECK_NE(
22  jb::clfft::clfft_error::to_string(error), "unknown error code");
23  BOOST_CHECK_MESSAGE(
24  jb::clfft::clfft_error::to_string(error) != "unknown error code",
25  "error code=" << error);
26  }
27  BOOST_CHECK_EQUAL(
28  jb::clfft::clfft_error::to_string(CLFFT_ENDSTATUS + 1),
29  "unknown error code");
30  BOOST_CHECK_NE(
31  jb::clfft::clfft_error::to_string(CL_SUCCESS), "unknown error code");
32  BOOST_CHECK_NE(
33  jb::clfft::clfft_error::to_string(CL_DEVICE_NOT_FOUND),
34  "unknown error code");
35 }
void check_error_code(cl_int err, char const *msg)
Check in an OpenCL error code is really an error and raise an exception if so.
Definition: error.hpp:45
BOOST_AUTO_TEST_CASE(check_error_code)
A run-time clFFT error.
Definition: error.hpp:15
static std::string to_string(cl_int error)
Convert error code to a string.
Definition: error.cpp:13