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;