17f0b6df72
Share command flags between dm and unit tests. Also, allow dm's core to be included by itself and iOSShell. Command line flags that are the same (or nearly the same) in DM and in skia_tests have been moved to common_flags. Authors, please check to see that the shared common flag is correct for the tool. For iOS, the 'tool_main' entry point has a wrapper to allow multiple tools to be statically linked in the iOSShell. Since SkCommandLineFlags::Parse can only be called once, these calls are disabled in the IOS build. Since the iOS app directory is dynamically assigned a name, use '@' to select it. (This is the same convention chosen by the Mobile Harness iOS file system utilities.) Move the heart of dm.gyp into dm.gypi so that it can be included by itself and iOSShell.gyp. Add tools/flags/SkCommonFlags.* to define and declare common command line flags. Add support for dm to iOSShell. BUG=skia: R=scroggo@google.com, mtklein@google.com, jvanverth@google.com, bsalomon@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/389653004
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
#include "DMReporter.h"
|
|
|
|
#include "SkDynamicAnnotations.h"
|
|
#include "SkCommonFlags.h"
|
|
#include "OverwriteLine.h"
|
|
|
|
namespace DM {
|
|
|
|
void Reporter::printStatus(SkString name, SkMSec timeMs) const {
|
|
if (FLAGS_quiet) {
|
|
return;
|
|
}
|
|
|
|
// It's okay if these are a little off---they're just for show---so we can read unprotectedly.
|
|
const int32_t failed = SK_ANNOTATE_UNPROTECTED_READ(fFailed);
|
|
const int32_t pending = SK_ANNOTATE_UNPROTECTED_READ(fPending) - 1;
|
|
|
|
SkString status;
|
|
status.printf("%s%d tasks left", FLAGS_verbose ? "\n" : kSkOverwriteLine, pending);
|
|
if (failed > 0) {
|
|
status.appendf(", %d failed", failed);
|
|
}
|
|
if (FLAGS_verbose) {
|
|
status.appendf("\t%5dms %s", timeMs, name.c_str());
|
|
}
|
|
SkDebugf("%s", status.c_str());
|
|
}
|
|
|
|
void Reporter::fail(SkString msg) {
|
|
sk_atomic_inc(&fFailed);
|
|
|
|
SkAutoMutexAcquire writer(&fMutex);
|
|
fFailures.push_back(msg);
|
|
}
|
|
|
|
void Reporter::getFailures(SkTArray<SkString>* failures) const {
|
|
SkAutoMutexAcquire reader(&fMutex);
|
|
*failures = fFailures;
|
|
}
|
|
|
|
} // namespace DM
|