Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: tests/Test.cpp

Issue 14447018: Avoid side effects related to skia error callbacks in the testing infrastructure (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: missing include Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 #include "Test.h" 8 #include "Test.h"
9 9
10 #include "SkString.h" 10 #include "SkString.h"
11 #include "SkTArray.h" 11 #include "SkTArray.h"
12 #include "SkTime.h" 12 #include "SkTime.h"
13 #include "SkError.h"
13 14
14 #if SK_SUPPORT_GPU 15 #if SK_SUPPORT_GPU
15 #include "GrContext.h" 16 #include "GrContext.h"
16 #include "gl/SkNativeGLContext.h" 17 #include "gl/SkNativeGLContext.h"
17 #else 18 #else
18 class GrContext; 19 class GrContext;
19 #endif 20 #endif
20 21
21 SK_DEFINE_INST_COUNT(skiatest::Reporter) 22 SK_DEFINE_INST_COUNT(skiatest::Reporter)
22 23
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 fReporter->bumpTestCount(); 86 fReporter->bumpTestCount();
86 } 87 }
87 88
88 private: 89 private:
89 Reporter* fReporter; // Unowned. 90 Reporter* fReporter; // Unowned.
90 SkTArray<SkString> fFailures; 91 SkTArray<SkString> fFailures;
91 }; 92 };
92 } // namespace 93 } // namespace
93 94
94 void Test::run() { 95 void Test::run() {
96 // Clear the Skia error callback before running any test, to ensure that tes ts
97 // don't have unintended side effects when running more than one.
98 SkSetErrorCallback( NULL, NULL );
99
95 // Tell (likely shared) fReporter that this test has started. 100 // Tell (likely shared) fReporter that this test has started.
96 fReporter->startTest(this); 101 fReporter->startTest(this);
97 102
98 const SkMSec start = SkTime::GetMSecs(); 103 const SkMSec start = SkTime::GetMSecs();
99 // Run the test into a LocalReporter so we know if it's passed or failed wit hout interference 104 // Run the test into a LocalReporter so we know if it's passed or failed wit hout interference
100 // from other tests that might share fReporter. 105 // from other tests that might share fReporter.
101 LocalReporter local(fReporter); 106 LocalReporter local(fReporter);
102 this->onRun(&local); 107 this->onRun(&local);
103 fPassed = local.failure_size() == 0; 108 fPassed = local.failure_size() == 0;
104 fElapsed = SkTime::GetMSecs() - start; 109 fElapsed = SkTime::GetMSecs() - start;
105 110
106 // Now tell fReporter about any failures and wrap up. 111 // Now tell fReporter about any failures and wrap up.
107 for (int i = 0; i < local.failure_size(); i++) { 112 for (int i = 0; i < local.failure_size(); i++) {
108 fReporter->report(local.failure(i), Reporter::kFailed); 113 fReporter->report(local.failure(i), Reporter::kFailed);
109 } 114 }
110 fReporter->endTest(this); 115 fReporter->endTest(this);
116
111 } 117 }
112 118
113 /////////////////////////////////////////////////////////////////////////////// 119 ///////////////////////////////////////////////////////////////////////////////
114 120
115 #if SK_SUPPORT_GPU 121 #if SK_SUPPORT_GPU
116 #include "GrContextFactory.h" 122 #include "GrContextFactory.h"
117 GrContextFactory gGrContextFactory; 123 GrContextFactory gGrContextFactory;
118 #endif 124 #endif
119 125
120 GrContextFactory* GpuTest::GetGrContextFactory() { 126 GrContextFactory* GpuTest::GetGrContextFactory() {
121 #if SK_SUPPORT_GPU 127 #if SK_SUPPORT_GPU
122 return &gGrContextFactory; 128 return &gGrContextFactory;
123 #else 129 #else
124 return NULL; 130 return NULL;
125 #endif 131 #endif
126 } 132 }
127 133
128 void GpuTest::DestroyContexts() { 134 void GpuTest::DestroyContexts() {
129 #if SK_SUPPORT_GPU 135 #if SK_SUPPORT_GPU
130 gGrContextFactory.destroyContexts(); 136 gGrContextFactory.destroyContexts();
131 #endif 137 #endif
132 } 138 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698