path ops work in progress

fix bugs in tests on 32 bit release

Most changes revolve around pinning computed t values
very close to zero and one.

git-svn-id: http://skia.googlecode.com/svn/trunk@8745 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index ec8afb0..9b27fce 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -44,7 +44,7 @@
 static bool gPathStrAssert = true;
 
 #if FORCE_RELEASE
-static bool gRunTestsInOneThread = false;
+static bool gRunTestsInOneThread = true;
 #else
 static bool gRunTestsInOneThread = true;
 #endif
@@ -167,6 +167,35 @@
     showPath(scaled, str);
 }
 
+#if DEBUG_SHOW_TEST_NAME
+static char hexorator(int x) {
+    if (x < 10) {
+        return x + '0';
+    }
+    x -= 10;
+    SkASSERT(x < 26);
+    return x + 'A';
+}
+#endif
+
+void ShowTestName(PathOpsThreadState* state, int a, int b, int c, int d) {
+#if DEBUG_SHOW_TEST_NAME
+    state->fSerialNo[0] = hexorator(state->fA);
+    state->fSerialNo[1] = hexorator(state->fB);
+    state->fSerialNo[2] = hexorator(state->fC);
+    state->fSerialNo[3] = hexorator(state->fD);
+    state->fSerialNo[4] = hexorator(a);
+    state->fSerialNo[5] = hexorator(b);
+    state->fSerialNo[6] = hexorator(c);
+    state->fSerialNo[7] = hexorator(d);
+    state->fSerialNo[8] = '\0';
+    SkDebugf("%s\n", state->fSerialNo);
+    if (strcmp(state->fSerialNo, state->fKey) == 0) {
+        SkDebugf("%s\n", state->fPathStr);
+    }
+#endif
+}
+
 const int bitWidth = 64;
 const int bitHeight = 64;
 
@@ -434,6 +463,9 @@
 }
 
 bool testSimplify(skiatest::Reporter* reporter, const SkPath& path) {
+#if FORCE_RELEASE == 0
+    showPathData(path);
+#endif
     SkPath out;
     Simplify(path, &out);
     SkBitmap bitmap;