| Index: gm/gmmain.cpp
|
| diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
|
| index de9e1a15a0566934abfcfc21be23863916b0a93c..52e7332b64da25e453369ae95c851b77595a3bf8 100644
|
| --- a/gm/gmmain.cpp
|
| +++ b/gm/gmmain.cpp
|
| @@ -1421,6 +1421,7 @@ static SkString pdfRasterizerUsage() {
|
| DEFINE_string(config, "", configUsage().c_str());
|
| DEFINE_string(pdfRasterizers, "default", pdfRasterizerUsage().c_str());
|
| DEFINE_bool(deferred, false, "Exercise the deferred rendering test pass.");
|
| +DEFINE_bool(dryRun, false, "Don't actually run the tests, just print what would have been done.");
|
| DEFINE_string(excludeConfig, "", "Space delimited list of configs to skip.");
|
| DEFINE_bool(forceBWtext, false, "Disable text anti-aliasing.");
|
| #if SK_SUPPORT_GPU
|
| @@ -2237,6 +2238,10 @@ int tool_main(int argc, char** argv) {
|
| GrContextFactory* grFactory = NULL;
|
| #endif
|
|
|
| + if (FLAGS_dryRun) {
|
| + SkDebugf( "Doing a dry run; no tests will actually be executed.\n");
|
| + }
|
| +
|
| if (!parse_flags_modulo(&moduloRemainder, &moduloDivisor) ||
|
| !parse_flags_ignore_error_types(&gmmain.fIgnorableErrorTypes) ||
|
| !parse_flags_ignore_tests(gmmain.fIgnorableTestNames) ||
|
| @@ -2275,26 +2280,27 @@ int tool_main(int argc, char** argv) {
|
| int gmIndex = -1;
|
| SkString moduloStr;
|
|
|
| - // If we will be writing out files, prepare subdirectories.
|
| - if (FLAGS_writePath.count() == 1) {
|
| - if (!prepare_subdirectories(FLAGS_writePath[0], gmmain.fUseFileHierarchy,
|
| - configs, pdfRasterizers)) {
|
| - return -1;
|
| + if (!FLAGS_dryRun) {
|
| + // If we will be writing out files, prepare subdirectories.
|
| + if (FLAGS_writePath.count() == 1) {
|
| + if (!prepare_subdirectories(FLAGS_writePath[0], gmmain.fUseFileHierarchy,
|
| + configs, pdfRasterizers)) {
|
| + return -1;
|
| + }
|
| }
|
| - }
|
| - if (NULL != gmmain.fMismatchPath) {
|
| - if (!prepare_subdirectories(gmmain.fMismatchPath, gmmain.fUseFileHierarchy,
|
| - configs, pdfRasterizers)) {
|
| - return -1;
|
| + if (NULL != gmmain.fMismatchPath) {
|
| + if (!prepare_subdirectories(gmmain.fMismatchPath, gmmain.fUseFileHierarchy,
|
| + configs, pdfRasterizers)) {
|
| + return -1;
|
| + }
|
| }
|
| - }
|
| - if (NULL != gmmain.fMissingExpectationsPath) {
|
| - if (!prepare_subdirectories(gmmain.fMissingExpectationsPath, gmmain.fUseFileHierarchy,
|
| - configs, pdfRasterizers)) {
|
| - return -1;
|
| + if (NULL != gmmain.fMissingExpectationsPath) {
|
| + if (!prepare_subdirectories(gmmain.fMissingExpectationsPath, gmmain.fUseFileHierarchy,
|
| + configs, pdfRasterizers)) {
|
| + return -1;
|
| + }
|
| }
|
| }
|
| -
|
| Iter iter;
|
| GM* gm;
|
| while ((gm = iter.next()) != NULL) {
|
| @@ -2326,10 +2332,13 @@ int tool_main(int argc, char** argv) {
|
| SkISize size = gm->getISize();
|
| SkDebugf("%sdrawing... %s [%d %d]\n", moduloStr.c_str(), shortName,
|
| size.width(), size.height());
|
| -
|
| - run_multiple_configs(gmmain, gm, configs, pdfRasterizers, tileGridReplayScales, grFactory);
|
| + if (!FLAGS_dryRun)
|
| + run_multiple_configs(gmmain, gm, configs, pdfRasterizers, tileGridReplayScales, grFactory);
|
| }
|
|
|
| + if (FLAGS_dryRun)
|
| + return 0;
|
| +
|
| SkTArray<SkString> modes;
|
| gmmain.GetRenderModesEncountered(modes);
|
| int modeCount = modes.count();
|
|
|