Index: /trunk/psLib/test/pstap/src/pstap.h
===================================================================
--- /trunk/psLib/test/pstap/src/pstap.h	(revision 12389)
+++ /trunk/psLib/test/pstap/src/pstap.h	(revision 12390)
@@ -1,2 +1,4 @@
+#include <math.h>
+
 #include <pslib.h>
 
@@ -22,7 +24,12 @@
 
 // use to test the value of a float
-# define ok_float(VALUE, EXPECT, ...)\
+# define ok_float(VALUE, EXPECT, ...) \
 { \
-    bool status = (fabsf(VALUE - EXPECT) < FLT_EPSILON); \
+    bool status = false; \
+    if (isnan(EXPECT)) { \
+        status = isnan(VALUE); \
+    } else { \
+        status = (fabsf(VALUE - EXPECT) < FLT_EPSILON); \
+    } \
     ok(status, __VA_ARGS__); \
     if (!status) { \
@@ -36,5 +43,10 @@
 # define ok_float_tol(VALUE,EXPECT,TOL,...)\
 { \
-    bool status = (fabsf((VALUE) - (EXPECT)) < (TOL)); \
+    bool status = false; \
+    if (isnan(EXPECT)) { \
+        status = isnan(VALUE); \
+    } else { \
+        status = (fabsf((VALUE) - (EXPECT)) < (TOL)); \
+    } \
     ok(status, __VA_ARGS__); \
     if (!status) { \
@@ -47,5 +59,10 @@
 # define ok_double(VALUE,EXPECT,...)\
 { \
-    bool status = (fabs(VALUE - EXPECT) < DBL_EPSILON); \
+    bool status = false; \
+    if (isnan(EXPECT)) { \
+        status = isnan(VALUE); \
+    } else { \
+        status = (fabs(VALUE - EXPECT) < DBL_EPSILON); \
+    } \
     ok(status, __VA_ARGS__); \
     if (!status) { \
@@ -55,19 +72,13 @@
 }
 
-// use to test the value of a float
-# define ok_float_tol(VALUE,EXPECT,TOL, ...)\
-{ \
-    bool status = (fabsf((VALUE) - (EXPECT)) < (TOL)); \
-    ok(status, __VA_ARGS__); \
-    if (!status) { \
-        diag("         got: '%f'", VALUE); \
-        diag("    expected: '%f' +/- %f", EXPECT, TOL); \
-    } \
-}
-
 // use to test the value of a double
 # define ok_double_tol(VALUE,EXPECT,TOL, ...)\
 { \
-    bool status = (fabs((VALUE) - (EXPECT)) < (TOL)); \
+    bool status = false; \
+    if (isnan(EXPECT)) { \
+        status = isnan(VALUE); \
+    } else { \
+        status = (fabs((VALUE) - (EXPECT)) < (TOL)); \
+    } \
     ok(status, __VA_ARGS__); \
     if (!status) { \
