Chromium Code Reviews| Index: tests/skia_test.cpp |
| =================================================================== |
| --- tests/skia_test.cpp (revision 8610) |
| +++ tests/skia_test.cpp (working copy) |
| @@ -1,10 +1,11 @@ |
| - |
| /* |
| * Copyright 2011 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| + |
| +#include "../tools/flags/SkCommandLineFlags.h" |
|
scroggo
2013/04/11 16:28:01
You should be able to remove the full path if you
|
| #include "SkGraphics.h" |
| #include "Test.h" |
| #include "SkOSFile.h" |
| @@ -121,64 +122,34 @@ |
| return gResourcePath; |
| } |
| +DEFINE_string2(matchStr, m, NULL, "substring of test name to run."); |
| +DEFINE_string2(tmpDir, t, NULL, "tmp directory for tests to use."); |
| +DEFINE_string2(resourcePath, i, NULL, "directory for test resources."); |
| +DEFINE_bool2(extendedTest, x, false, "run extended tests for pathOps."); |
| +DEFINE_bool2(verbose, v, false, "enable verbose output."); |
| + |
| int tool_main(int argc, char** argv); |
| int tool_main(int argc, char** argv) { |
| + SkCommandLineFlags::SetUsage(""); |
| + SkCommandLineFlags::Parse(argc, argv); |
| + |
| + if (!FLAGS_tmpDir.isEmpty()) { |
| + make_canonical_dir_path(FLAGS_tmpDir[0], &gTmpDir); |
| + } |
| + if (!FLAGS_resourcePath.isEmpty()) { |
| + make_canonical_dir_path(FLAGS_resourcePath[0], &gResourcePath); |
| + } |
| + |
| #if SK_ENABLE_INST_COUNT |
| gPrintInstCount = true; |
| #endif |
| - bool allowExtendedTest = false; |
| - bool verboseOutput = false; |
| SkGraphics::Init(); |
| - const char* matchStr = NULL; |
| - |
| - char* const* stop = argv + argc; |
| - for (++argv; argv < stop; ++argv) { |
| - if (0 == strcmp(*argv, "--match") || 0 == strcmp(*argv, "-m")) { |
| - ++argv; |
| - if (argv < stop && **argv) { |
| - matchStr = *argv; |
| - } else { |
| - SkDebugf("no following argument to --match\n"); |
| - return -1; |
| - } |
| - } else if (0 == strcmp(*argv, "--tmpDir") || 0 == strcmp(*argv, "-t")) { |
| - ++argv; |
| - if (argv < stop && **argv) { |
| - make_canonical_dir_path(*argv, &gTmpDir); |
| - } else { |
| - SkDebugf("no following argument to --tmpDir\n"); |
| - return -1; |
| - } |
| - } else if (0 == strcmp(*argv, "--resourcePath") || 0 == strcmp(*argv, "-i")) { |
| - argv++; |
| - if (argv < stop && **argv) { |
| - make_canonical_dir_path(*argv, &gResourcePath); |
| - } |
| - } else if (0 == strcmp(*argv, "--extendedTest") || 0 == strcmp(*argv, "-x")) { |
| - allowExtendedTest = true; |
| - } else if (0 == strcmp(*argv, "--verbose") || 0 == strcmp(*argv, "-v")) { |
| - verboseOutput = true; |
| - } else { |
| - if (0 != strcmp(*argv, "--help") && 0 != strcmp(*argv, "-h") |
| - && 0 != strcmp(*argv, "-?")) { |
| - SkDebugf("Unknown option %s. ", *argv); |
| - } |
| - SkDebugf("Skia UnitTests options are:\n"); |
| - SkDebugf(" -m --match [test-name-substring]\n"); |
| - SkDebugf(" -t --tmpDir [dir]\n"); |
| - SkDebugf(" -i --resourcePath [dir]\n"); |
| - SkDebugf(" -x --extendedTest\n"); |
| - SkDebugf(" -v --verbose\n"); |
| - return 1; |
| - } |
| - } |
| - |
| { |
| SkString header("Skia UnitTests:"); |
| - if (matchStr) { |
| - header.appendf(" --match %s", matchStr); |
| + if (!FLAGS_matchStr.isEmpty()) { |
| + header.appendf(" --match %s", FLAGS_matchStr[0]); |
| } |
| if (!gTmpDir.isEmpty()) { |
| header.appendf(" --tmpDir %s", gTmpDir.c_str()); |
| @@ -199,7 +170,7 @@ |
| SkDebugf("%s\n", header.c_str()); |
| } |
| - DebugfReporter reporter(allowExtendedTest); |
| + DebugfReporter reporter(FLAGS_extendedTest); |
| Iter iter(&reporter); |
| Test* test; |
| @@ -209,7 +180,7 @@ |
| int skipCount = 0; |
| while ((test = iter.next()) != NULL) { |
| reporter.setIndexOfTotal(index, count); |
| - if (NULL != matchStr && !strstr(test->getName(), matchStr)) { |
| + if (!FLAGS_matchStr.isEmpty() && !strstr(test->getName(), FLAGS_matchStr[0])) { |
| ++skipCount; |
| } else { |
| if (!test->run()) { |
| @@ -223,7 +194,7 @@ |
| SkDebugf("Finished %d tests, %d failures, %d skipped.\n", |
| count, failCount, skipCount); |
| int testCount = reporter.countTests(); |
| - if (verboseOutput && testCount > 0) { |
| + if (FLAGS_verbose && testCount > 0) { |
| SkDebugf("Ran %d Internal tests.\n", testCount); |
| } |
| #if SK_SUPPORT_GPU |