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

Unified Diff: gm/gmmain.cpp

Issue 12825005: gm self-test: make sure we report failures in individual rendering modes (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: gm/gmmain.cpp
===================================================================
--- gm/gmmain.cpp (revision 8160)
+++ gm/gmmain.cpp (working copy)
@@ -194,6 +194,7 @@
// Set default values of member variables, which tool_main()
// may override.
fUseFileHierarchy = false;
+ fSimulatePipePlaybackFailure = false;
borenet 2013/03/14 18:48:21 I'm not sure I like the technique of baking test c
epoger 2013/03/14 18:57:12 It rubs me the wrong way too, but I couldn't think
borenet 2013/03/14 19:02:21 Yeah, I guess there's not a good way to force this
rmistry 2013/03/14 19:47:34 Sorry, I may have been able to help for Java or Py
epoger 2013/03/14 22:36:26 I'd rather not require a compile-time flag, becaus
borenet 2013/03/15 20:15:53 Fair enough.
fMismatchPath = NULL;
}
@@ -261,8 +262,9 @@
return;
}
- FailRec& rec = fFailedTests.push_back(make_name(
- name.c_str(), renderModeDescriptor));
+ SkString completeName = name;
+ completeName.append(renderModeDescriptor);
epoger 2013/03/14 17:22:19 fixing a minor discrepancy revealed by this test
+ FailRec& rec = fFailedTests.push_back(completeName);
rec.fIsPixelError =
(kEmptyErrorBitfield != (errorType & kImageMismatch_ErrorBitmask));
}
@@ -905,7 +907,9 @@
SkGPipeWriter writer;
SkCanvas* pipeCanvas = writer.startRecording(
&pipeController, gPipeWritingFlagCombos[i].flags);
- invokeGM(gm, pipeCanvas, false, false);
+ if (!this->fSimulatePipePlaybackFailure) {
+ invokeGM(gm, pipeCanvas, false, false);
+ }
complete_bitmap(&bitmap);
writer.endRecording();
SkString string("-pipe");
@@ -951,6 +955,7 @@
//
bool fUseFileHierarchy;
+ bool fSimulatePipePlaybackFailure;
const char* fMismatchPath;
@@ -1054,6 +1059,7 @@
" [--resourcePath|-i <path>]: directory that stores image resources\n"
" [--nortree]: Do not exercise the R-Tree variant of SkPicture\n"
" [--noserialize]: do not exercise SkPicture serialization & deserialization\n"
+" [--simulatePipePlaybackFailure]: simulate a rendering failure in pipe mode only\n"
" [--tiledPipe]: Exercise tiled SkGPipe replay\n"
" [--notileGrid]: Do not exercise the tile grid variant of SkPicture\n"
" [--tileGridReplayScales <scales>]: Comma separated list of floating-point scale\n"
@@ -1320,6 +1326,8 @@
doSerialize = true;
} else if (strcmp(*argv, "--noserialize") == 0) {
doSerialize = false;
+ } else if (strcmp(*argv, "--simulatePipePlaybackFailure") == 0) {
+ gmmain.fSimulatePipePlaybackFailure = true;
} else if (strcmp(*argv, "--tiledPipe") == 0) {
doTiledPipe = true;
} else if (!strcmp(*argv, "--verbose") || !strcmp(*argv, "-v")) {

Powered by Google App Engine
This is Rietveld 408576698