HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
unittest.h File Reference
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <iostream>
#include <OpenImageIO/strutil.h>
#include <OpenImageIO/sysutil.h>
+ Include dependency graph for unittest.h:

Go to the source code of this file.

Classes

class  pvt::UnitTestFailureCounter
 

Namespaces

 simd
 
 pvt
 

Macros

#define OIIO_CHECK_ASSERT(x)
 
#define OIIO_CHECK_EQUAL(x, y)
 
#define OIIO_CHECK_EQUAL_THRESH(x, y, eps)
 
#define OIIO_CHECK_EQUAL_APPROX(x, y)
 
#define OIIO_CHECK_NE(x, y)
 
#define OIIO_CHECK_LT(x, y)
 
#define OIIO_CHECK_GT(x, y)
 
#define OIIO_CHECK_LE(x, y)
 
#define OIIO_CHECK_GE(x, y)
 
#define OIIO_CHECK_SIMD_EQUAL(x, y)
 
#define OIIO_CHECK_SIMD_EQUAL_THRESH(x, y, eps)
 

Functions

float simd::abs (float x)
 
float simd::max (float x, float y)
 
template<typename X , typename Y >
bool pvt::equal_approx (const X &x, const Y &y)
 
template<typename T >
OIIO_NAMESPACE_END std::ostream & operator<< (std::ostream &out, const std::vector< T > &v)
 

Macro Definition Documentation

#define OIIO_CHECK_ASSERT (   x)
Value:
((x) ? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< "\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
void
Definition: png.h:1083

OIIO_CHECK_* macros checks if the conditions is met, and if not, prints an error message indicating the module and line where the error occurred, but does NOT abort. This is helpful for unit tests where we do not want one failure.

Definition at line 124 of file unittest.h.

#define OIIO_CHECK_EQUAL (   x,
  y 
)
Value:
(((x) == (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " == " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 133 of file unittest.h.

#define OIIO_CHECK_EQUAL_APPROX (   x,
  y 
)
Value:
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " == " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) << "'" \
<< ", diff was " << ((x) - (y)) << "\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
void
Definition: png.h:1083
bool equal_approx(const X &x, const Y &y)
Definition: unittest.h:95

Definition at line 157 of file unittest.h.

#define OIIO_CHECK_EQUAL_THRESH (   x,
  y,
  eps 
)
Value:
((std::abs((x) - (y)) <= eps) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " == " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) << "'" \
<< ", diff was " << std::abs((x) - (y)) << "\n"), \
(void)++unit_test_failures))
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T abs(T a)
Definition: ImathFun.h:55
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
void
Definition: png.h:1083

Definition at line 145 of file unittest.h.

#define OIIO_CHECK_GE (   x,
  y 
)
Value:
(((x) >= (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " >= " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 217 of file unittest.h.

#define OIIO_CHECK_GT (   x,
  y 
)
Value:
(((x) > (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " > " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 193 of file unittest.h.

#define OIIO_CHECK_LE (   x,
  y 
)
Value:
(((x) <= (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " <= " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 205 of file unittest.h.

#define OIIO_CHECK_LT (   x,
  y 
)
Value:
(((x) < (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " < " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 181 of file unittest.h.

#define OIIO_CHECK_NE (   x,
  y 
)
Value:
(((x) != (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " != " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252

Definition at line 169 of file unittest.h.

#define OIIO_CHECK_SIMD_EQUAL (   x,
  y 
)
Value:
(all((x) == (y)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " == " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
void
Definition: png.h:1083
bool all(const vbool4 &v)
Definition: simd.h:3371

Definition at line 231 of file unittest.h.

#define OIIO_CHECK_SIMD_EQUAL_THRESH (   x,
  y,
  eps 
)
Value:
(all(abs((x) - (y)) < (eps)) \
? ((void)0) \
: ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold") \
<< __FILE__ << ":" << __LINE__ << ":\n" \
<< "FAILED: " \
<< OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \
<< " == " << #y << "\n" \
<< "\tvalues were '" << (x) << "' and '" << (y) \
<< "'\n"), \
(void)++unit_test_failures))
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T abs(T a)
Definition: ImathFun.h:55
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
void
Definition: png.h:1083
bool all(const vbool4 &v)
Definition: simd.h:3371

Definition at line 243 of file unittest.h.

Function Documentation

template<typename T >
OIIO_NAMESPACE_END std::ostream& operator<< ( std::ostream &  out,
const std::vector< T > &  v 
)
inline

Definition at line 110 of file unittest.h.