OLD | NEW |
1 | 1 |
2 #include "SkBitmap.h" | 2 #include "SkBitmap.h" |
3 #include "SkCanvas.h" | 3 #include "SkCanvas.h" |
4 #include "SkColor.h" | 4 #include "SkColor.h" |
5 #include "SkColorPriv.h" | 5 #include "SkColorPriv.h" |
6 #include "SkDevice.h" | 6 #include "SkDevice.h" |
7 #include "SkGraphics.h" | 7 #include "SkGraphics.h" |
8 #include "SkImageDecoder.h" | 8 #include "SkImageDecoder.h" |
9 #include "SkImageEncoder.h" | 9 #include "SkImageEncoder.h" |
10 #include "SkOSFile.h" | 10 #include "SkOSFile.h" |
11 #include "SkPathOpsDebug.h" | 11 #include "SkPathOpsDebug.h" |
12 #include "SkPicture.h" | 12 #include "SkPicture.h" |
13 #include "SkRTConf.h" | 13 #include "SkRTConf.h" |
14 #include "SkTSort.h" | 14 #include "SkTSort.h" |
15 #include "SkStream.h" | 15 #include "SkStream.h" |
16 #include "SkString.h" | 16 #include "SkString.h" |
17 #include "SkTArray.h" | 17 #include "SkTArray.h" |
18 #include "SkTDArray.h" | 18 #include "SkTDArray.h" |
19 #include "SkThreadPool.h" | 19 #include "ThreadPool.h" |
20 #include "SkTime.h" | 20 #include "SkTime.h" |
21 #include "Test.h" | 21 #include "Test.h" |
22 | 22 |
23 #ifdef SK_BUILD_FOR_WIN | 23 #ifdef SK_BUILD_FOR_WIN |
24 #define PATH_SLASH "\\" | 24 #define PATH_SLASH "\\" |
25 #define IN_DIR "D:\\skp\\slave" | 25 #define IN_DIR "D:\\skp\\slave" |
26 #define OUT_DIR "D:\\skpOut\\1\\" | 26 #define OUT_DIR "D:\\skpOut\\1\\" |
27 #else | 27 #else |
28 #define PATH_SLASH "/" | 28 #define PATH_SLASH "/" |
29 #define IN_DIR "/skp/2311328-7fc2228/slave" | 29 #define IN_DIR "/skp/2311328-7fc2228/slave" |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 , fReporter(reporter) { | 325 , fReporter(reporter) { |
326 } | 326 } |
327 | 327 |
328 ~TestRunner(); | 328 ~TestRunner(); |
329 void render(); | 329 void render(); |
330 int fNumThreads; | 330 int fNumThreads; |
331 SkTDArray<class TestRunnable*> fRunnables; | 331 SkTDArray<class TestRunnable*> fRunnables; |
332 skiatest::Reporter* fReporter; | 332 skiatest::Reporter* fReporter; |
333 }; | 333 }; |
334 | 334 |
335 class TestRunnable : public SkRunnable { | 335 class TestRunnable : public Runnable { |
336 public: | 336 public: |
337 virtual void run() SK_OVERRIDE { | 337 virtual void run() SK_OVERRIDE { |
338 SkGraphics::SetTLSFontCacheLimit(1 * 1024 * 1024); | 338 SkGraphics::SetTLSFontCacheLimit(1 * 1024 * 1024); |
339 (*fTestFun)(&fState); | 339 (*fTestFun)(&fState); |
340 } | 340 } |
341 | 341 |
342 TestState fState; | 342 TestState fState; |
343 void (*fTestFun)(TestState*); | 343 void (*fTestFun)(TestState*); |
344 }; | 344 }; |
345 | 345 |
(...skipping 24 matching lines...) Expand all Loading... |
370 } | 370 } |
371 }; | 371 }; |
372 | 372 |
373 TestRunner::~TestRunner() { | 373 TestRunner::~TestRunner() { |
374 for (int index = 0; index < fRunnables.count(); index++) { | 374 for (int index = 0; index < fRunnables.count(); index++) { |
375 SkDELETE(fRunnables[index]); | 375 SkDELETE(fRunnables[index]); |
376 } | 376 } |
377 } | 377 } |
378 | 378 |
379 void TestRunner::render() { | 379 void TestRunner::render() { |
380 SkThreadPool pool(fNumThreads); | 380 ThreadPool pool(fNumThreads); |
381 for (int index = 0; index < fRunnables.count(); ++ index) { | 381 for (int index = 0; index < fRunnables.count(); ++ index) { |
382 pool.add(fRunnables[index]); | 382 pool.add(fRunnables[index]); |
383 } | 383 } |
384 } | 384 } |
385 | 385 |
386 //////////////////////////////////////////////// | 386 //////////////////////////////////////////////// |
387 | 387 |
388 static const char outOpDir[] = OUT_DIR "opClip"; | 388 static const char outOpDir[] = OUT_DIR "opClip"; |
389 static const char outOldDir[] = OUT_DIR "oldClip"; | 389 static const char outOldDir[] = OUT_DIR "oldClip"; |
390 static const char outSkpDir[] = OUT_DIR "skpTest"; | 390 static const char outSkpDir[] = OUT_DIR "skpTest"; |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
867 if (slowest.count() > 0) { | 867 if (slowest.count() > 0) { |
868 SkTQSort<SortByTime>(slowest.begin(), slowest.end() - 1); | 868 SkTQSort<SortByTime>(slowest.begin(), slowest.end() - 1); |
869 for (int index = 0; index < slowest.count(); ++index) { | 869 for (int index = 0; index < slowest.count(); ++index) { |
870 const TestResult& result = *slowest[index]; | 870 const TestResult& result = *slowest[index]; |
871 SkDebugf("%d %s time=%d\n", result.fDirNo, result.fFilename,
result.fTime); | 871 SkDebugf("%d %s time=%d\n", result.fDirNo, result.fFilename,
result.fTime); |
872 } | 872 } |
873 } | 873 } |
874 } | 874 } |
875 } | 875 } |
876 | 876 |
877 int threadCount = reporter->allowThreaded() ? SkThreadPool::kThreadPerCore :
1; | 877 int threadCount = reporter->allowThreaded() ? ThreadPool::kThreadPerCore : 1
; |
878 TestRunner testRunner(reporter, threadCount); | 878 TestRunner testRunner(reporter, threadCount); |
879 for (int index = 0; index < state.fPixelWorst.count(); ++index) { | 879 for (int index = 0; index < state.fPixelWorst.count(); ++index) { |
880 const TestResult& result = state.fPixelWorst[index]; | 880 const TestResult& result = state.fPixelWorst[index]; |
881 SkString filename(result.fFilename); | 881 SkString filename(result.fFilename); |
882 if (!filename.endsWith(".skp")) { | 882 if (!filename.endsWith(".skp")) { |
883 filename.append(".skp"); | 883 filename.append(".skp"); |
884 } | 884 } |
885 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnableEncode, | 885 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnableEncode, |
886 (&testSkpClipEncode, result.fDirNo, filename.c_str(), &testRunne
r)); | 886 (&testSkpClipEncode, result.fDirNo, filename.c_str(), &testRunne
r)); |
887 } | 887 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 } | 919 } |
920 | 920 |
921 static void testSkpClipMain(TestState* data) { | 921 static void testSkpClipMain(TestState* data) { |
922 (void) doOneDir(data, true); | 922 (void) doOneDir(data, true); |
923 } | 923 } |
924 | 924 |
925 DEF_TEST(PathOpsSkpClipThreaded, reporter) { | 925 DEF_TEST(PathOpsSkpClipThreaded, reporter) { |
926 if (!initTest()) { | 926 if (!initTest()) { |
927 return; | 927 return; |
928 } | 928 } |
929 int threadCount = reporter->allowThreaded() ? SkThreadPool::kThreadPerCore :
1; | 929 int threadCount = reporter->allowThreaded() ? ThreadPool::kThreadPerCore : 1
; |
930 TestRunner testRunner(reporter, threadCount); | 930 TestRunner testRunner(reporter, threadCount); |
931 const int firstDirNo = 1; | 931 const int firstDirNo = 1; |
932 for (int dirNo = firstDirNo; dirNo <= 100; ++dirNo) { | 932 for (int dirNo = firstDirNo; dirNo <= 100; ++dirNo) { |
933 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnableDir, | 933 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnableDir, |
934 (&testSkpClipMain, dirNo, &testRunner)); | 934 (&testSkpClipMain, dirNo, &testRunner)); |
935 } | 935 } |
936 testRunner.render(); | 936 testRunner.render(); |
937 TestState state; | 937 TestState state; |
938 state.init(0, reporter); | 938 state.init(0, reporter); |
939 for (int dirNo = firstDirNo; dirNo <= 100; ++dirNo) { | 939 for (int dirNo = firstDirNo; dirNo <= 100; ++dirNo) { |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 const int lastDirNo = 100; | 1032 const int lastDirNo = 100; |
1033 if (!initUberTest(firstDirNo, lastDirNo)) { | 1033 if (!initUberTest(firstDirNo, lastDirNo)) { |
1034 return; | 1034 return; |
1035 } | 1035 } |
1036 const int dirCount = lastDirNo - firstDirNo + 1; | 1036 const int dirCount = lastDirNo - firstDirNo + 1; |
1037 SkTDArray<TestResult> tests[dirCount]; | 1037 SkTDArray<TestResult> tests[dirCount]; |
1038 SkTDArray<SortByName*> sorted[dirCount]; | 1038 SkTDArray<SortByName*> sorted[dirCount]; |
1039 if (!buildTests(reporter, firstDirNo, lastDirNo, tests, sorted)) { | 1039 if (!buildTests(reporter, firstDirNo, lastDirNo, tests, sorted)) { |
1040 return; | 1040 return; |
1041 } | 1041 } |
1042 int threadCount = reporter->allowThreaded() ? SkThreadPool::kThreadPerCore :
1; | 1042 int threadCount = reporter->allowThreaded() ? ThreadPool::kThreadPerCore : 1
; |
1043 TestRunner testRunner(reporter, threadCount); | 1043 TestRunner testRunner(reporter, threadCount); |
1044 for (int dirNo = firstDirNo; dirNo <= lastDirNo; ++dirNo) { | 1044 for (int dirNo = firstDirNo; dirNo <= lastDirNo; ++dirNo) { |
1045 SkString dirName = make_in_dir_name(dirNo); | 1045 SkString dirName = make_in_dir_name(dirNo); |
1046 if (!dirName.size()) { | 1046 if (!dirName.size()) { |
1047 continue; | 1047 continue; |
1048 } | 1048 } |
1049 SkOSFile::Iter iter(dirName.c_str(), "skp"); | 1049 SkOSFile::Iter iter(dirName.c_str(), "skp"); |
1050 SkString filename; | 1050 SkString filename; |
1051 while (iter.next(&filename)) { | 1051 while (iter.next(&filename)) { |
1052 int count; | 1052 int count; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1112 SkAssertResult(make_in_dir_name(dirNo).size()); | 1112 SkAssertResult(make_in_dir_name(dirNo).size()); |
1113 SkString filename(skipOverSept[testIndex].filename); | 1113 SkString filename(skipOverSept[testIndex].filename); |
1114 TestResult state; | 1114 TestResult state; |
1115 state.test(dirNo, filename); | 1115 state.test(dirNo, filename); |
1116 if (reporter->verbose()) { | 1116 if (reporter->verbose()) { |
1117 SkDebugf("%s", state.status().c_str()); | 1117 SkDebugf("%s", state.status().c_str()); |
1118 } | 1118 } |
1119 state.fTestStep = kEncodeFiles; | 1119 state.fTestStep = kEncodeFiles; |
1120 state.testOne(); | 1120 state.testOne(); |
1121 } | 1121 } |
OLD | NEW |