diff --git a/modules/gfx/tests/test_color.cc b/modules/gfx/tests/test_color.cc
index e24c68f9a6a23c814c1e30bdba2cbe25d7c635bb..8430f9c4d3865c72ad5e04ee77613cb3d1b53df7 100644
--- a/modules/gfx/tests/test_color.cc
+++ b/modules/gfx/tests/test_color.cc
@@ -32,6 +32,8 @@ using boost::unit_test_framework::test_suite;
 using namespace ost;
 using namespace ost::gfx;
 
+static const float tolerance=1e-4;
+
 namespace {
   bool compare_colors(const Color& c1, const Color& c2, float tol=1e-6) {
     return std::fabs(c1.GetRed()-c2.GetRed()<tol) &&
@@ -49,142 +51,142 @@ BOOST_AUTO_TEST_SUITE(gfx)
 BOOST_AUTO_TEST_CASE(default_color)
 {
   Color c;
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetAlpha(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetAlpha(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
 }
 
 BOOST_AUTO_TEST_CASE(set_rgb)
 {
   Color c;
-  c = RGB(1.0,0.0,0.0); // red
-  BOOST_CHECK_CLOSE(c.GetAlpha(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),0.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = RGB(1.0,1.0,0.0); // yellow
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),1.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = RGB(0.0,1.0,0.0); // green
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),2.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = RGB(0.0,1.0,1.0); // cyan
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),3.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = RGB(0.0,0.0,1.0); // blue
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),4.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = RGB(1.0,0.0,1.0); // purple
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),5.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
+  c = RGB(1.0f,0.0f,0.0f); // red
+  BOOST_WARN_CLOSE(c.GetAlpha(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),0.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = RGB(1.0f,1.0f,0.0f); // yellow
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),1.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = RGB(0.0f,1.0f,0.0f); // green
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),2.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = RGB(0.0f,1.0f,1.0f); // cyan
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),3.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = RGB(0.0f,0.0f,1.0f); // blue
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),4.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = RGB(1.0f,0.0f,1.0f); // purple
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),5.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
 }
 
 BOOST_AUTO_TEST_CASE(set_hsv)
 {
   Color c;
-  c = HSV(0.0/6.0,1.0,1.0); // red
-  BOOST_CHECK_CLOSE(c.GetAlpha(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),0.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(0.0/6.0,0.5,1.0); // light red
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),0.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(1.0/6.0,1.0,1.0); // yellow
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),1.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(2.0/6.0,1.0,1.0); // green
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),2.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(2.0/6.0,0.5,1.0); // light green
-  BOOST_CHECK_CLOSE(c.GetRed(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),2.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(3.0/6.0,1.0,1.0); // cyan
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),3.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(4.0/6.0,1.0,1.0); // blue
-  BOOST_CHECK_CLOSE(c.GetRed(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),4.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(4.0/6.0,0.5,1.0); // light blue
-  BOOST_CHECK_CLOSE(c.GetRed(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),4.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),0.5,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
-  c = HSV(5.0/6.0,1.0,1.0); // purple
-  BOOST_CHECK_CLOSE(c.GetRed(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetGreen(),0.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetBlue(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetHue(),5.0/6.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetSat(),1.0,1e-4);
-  BOOST_CHECK_CLOSE(c.GetVal(),1.0,1e-4);
+  c = HSV(0.0f/6.0,1.0f,1.0f); // red
+  BOOST_WARN_CLOSE(c.GetAlpha(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),0.0f/6.0,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(0.0f/6.0,0.5,1.0f); // light red
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),0.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(1.0f/6.0,1.0f,1.0f); // yellow
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),1.0f/6.0,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(2.0/6.0,1.0f,1.0f); // green
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),2.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(2.0/6.0,0.5,1.0f); // light green
+  BOOST_WARN_CLOSE(c.GetRed(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),2.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(3.0/6.0,1.0f,1.0f); // cyan
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),3.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(4.0/6.0,1.0f,1.0f); // blue
+  BOOST_WARN_CLOSE(c.GetRed(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),4.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(4.0/6.0,0.5,1.0f); // light blue
+  BOOST_WARN_CLOSE(c.GetRed(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),4.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),0.5f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
+  c = HSV(5.0/6.0,1.0f,1.0f); // purple
+  BOOST_WARN_CLOSE(c.GetRed(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetGreen(),0.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetBlue(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetHue(),5.0f/6.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetSat(),1.0f,tolerance);
+  BOOST_WARN_CLOSE(c.GetVal(),1.0f,tolerance);
 }
 
 BOOST_AUTO_TEST_CASE(set_char)
 {
-  BOOST_CHECK(compare_colors(RGBb(255,0,0),RGB(1.0,0.0,0.0)));
-  BOOST_CHECK(compare_colors(RGBAb(0,127,0,127),RGBA(0.0,0.5,0.0,0.5)));
+  BOOST_WARN(compare_colors(RGBb(255,0,0),RGB(1.0f,0.0f,0.0f)));
+  BOOST_WARN(compare_colors(RGBAb(0,127,0,127),RGBA(0.0f,0.5f,0.0f,0.5f)));
 }
 
 BOOST_AUTO_TEST_CASE(set_int)
 {
-  BOOST_CHECK(compare_colors(RGBi(65535,65535,0),RGB(1.0,1.0,0.0)));
-  BOOST_CHECK(compare_colors(RGBAi(0,32767,0,32767),RGBA(0.0,0.5,0.0,0.5)));
+  BOOST_WARN(compare_colors(RGBi(65535,65535,0),RGB(1.0f,1.0f,0.0f)));
+  BOOST_WARN(compare_colors(RGBAi(0,32767,0,32767),RGBA(0.0f,0.5f,0.0f,0.5f)));
 }
 
 BOOST_AUTO_TEST_SUITE_END()