aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/PathOpsExtendedTest.h
diff options
context:
space:
mode:
authorGravatar caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-04-10 15:55:37 +0000
committerGravatar caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-04-10 15:55:37 +0000
commit66089e4ec4f1702caf2154780471417872862148 (patch)
treee078d7a335a396cc325f2d2f55723315307eb07d /tests/PathOpsExtendedTest.h
parent51dbabee67ea1285e1115e535d26944d4da99be5 (diff)
Make parallel unit testing work on windows
Review URL: https://codereview.chromium.org/14072002 git-svn-id: http://skia.googlecode.com/svn/trunk@8594 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/PathOpsExtendedTest.h')
-rw-r--r--tests/PathOpsExtendedTest.h74
1 files changed, 9 insertions, 65 deletions
diff --git a/tests/PathOpsExtendedTest.h b/tests/PathOpsExtendedTest.h
index 59fb92d5b6..5267409c6d 100644
--- a/tests/PathOpsExtendedTest.h
+++ b/tests/PathOpsExtendedTest.h
@@ -7,45 +7,21 @@
#ifndef PathOpsExtendedTest_DEFINED
#define PathOpsExtendedTest_DEFINED
-#include "Test.h"
-#include "SkPathOpsTypes.h"
#include "SkBitmap.h"
#include "SkPath.h"
+#include "SkPathOpsTypes.h"
#include "SkStream.h"
-
-#ifdef SK_BUILD_FOR_WIN
-#define HARD_CODE_PTHREAD 0
-#else
-#define HARD_CODE_PTHREAD 1
-#endif
-
-#if HARD_CODE_PTHREAD
-#include <pthread.h>
-#else
#include "SkThread.h"
-#include "../../src/utils/SkThreadUtils.h"
-#endif
-
-#if HARD_CODE_PTHREAD
-typedef void* (*ThreadFunction)(void*);
-#define THREAD_TYPE void*
-#define THREAD_RETURN return NULL;
-#else
-typedef void (*ThreadFunction)(void*);
-#define THREAD_TYPE void
-#define THREAD_RETURN
-#endif
+#include "SkThreadUtils.h"
+#include "Test.h"
-struct State4;
+struct PathOpsThreadState;
struct TestDesc {
void (*fun)(skiatest::Reporter*);
const char* str;
};
-extern bool gShowTestProgress;
-extern bool gAllowExtendedTest;
-
//extern int comparePaths(const SkPath& one, const SkPath& two);
extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap);
extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, bool drawPaths);
@@ -55,45 +31,13 @@ extern void showPath(const SkPath& path);
extern void showPathData(const SkPath& path);
extern bool testPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp );
-extern bool testSimplify(SkPath& path, bool useXor, SkPath& out,
- State4& state, const char* pathStr);
+extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
+ const char* pathStr);
extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path);
-struct State4 {
- State4();
-#if HARD_CODE_PTHREAD
- static pthread_mutex_t addQueue;
- static pthread_cond_t checkQueue;
- pthread_cond_t initialized;
- pthread_t threadID;
-#else
- SkThread* thread;
-#endif
- static State4* queue;
- int index;
- bool done;
- bool last;
- int a;
- int b;
- int c;
- int d; // sometimes 1 if abc_is_a_triangle
- int testsRun;
- char filename[256];
- skiatest::Reporter* reporter;
- SkBitmap bitmap;
- mutable SkDynamicMemoryWStream ramStream;
-};
-
-void createThread(State4* statePtr, void* (*test)(void* ));
-int dispatchTest4(ThreadFunction testFun, int a, int b, int c, int d);
-void initializeTests(skiatest::Reporter* reporter, const char* testName, size_t testNameSize);
-void outputProgress(const State4& state, const char* pathStr, SkPath::FillType );
-void outputProgress(const State4& state, const char* pathStr, SkPathOp op);
-void outputToStream(const State4& state, const char* pathStr, const char* pathPrefix,
- const char* nameSuffix,
- const char* testFunction, SkWStream& outFile);
-bool runNextTestSet(State4& state);
-int waitForCompletion();
+int initializeTests(const char* testName);
+void outputProgress(char* ramStr, const char* pathStr, SkPath::FillType );
+void outputProgress(char* ramStr, const char* pathStr, SkPathOp op);
void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count,
void (*firstTest)(skiatest::Reporter* ),