diff options
-rw-r--r-- | dm/DM.cpp | 112 | ||||
-rw-r--r-- | dm/DMJsonWriter.cpp | 22 | ||||
-rw-r--r-- | dm/DMJsonWriter.h | 1 | ||||
-rw-r--r-- | tools/dm_flags.json | 228 | ||||
-rwxr-xr-x | tools/dm_flags.py | 59 |
5 files changed, 318 insertions, 104 deletions
@@ -25,10 +25,10 @@ #include "Test.h" #include "Timer.h" -DEFINE_string(src, "tests gm skp image subset codec scanline", "Source types to test."); +DEFINE_string(src, "tests gm skp image", "Source types to test."); DEFINE_bool(nameByHash, false, "If true, write to FLAGS_writePath[0]/<hash>.png instead of " - "to FLAGS_writePath[0]/<config>/<sourceType>/<name>.png"); + "to FLAGS_writePath[0]/<config>/<sourceType>/<sourceOptions>/<name>.png"); DEFINE_bool2(pathOpsExtended, x, false, "Run extended pathOps tests."); DEFINE_string(matrix, "1 0 0 1", "2x2 scale+skew matrix to apply or upright when using " @@ -36,9 +36,9 @@ DEFINE_string(matrix, "1 0 0 1", DEFINE_bool(gpu_threading, false, "Allow GPU work to run on multiple threads?"); DEFINE_string(blacklist, "", - "Space-separated config/src/name triples to blacklist. '_' matches anything. E.g. \n" - "'--blacklist gpu skp _' will blacklist all SKPs drawn into the gpu config.\n" - "'--blacklist gpu skp _ 8888 gm aarects' will also blacklist the aarects GM on 8888."); + "Space-separated config/src/srcOptions/name quadruples to blacklist. '_' matches anything. E.g. \n" + "'--blacklist gpu skp _ _' will blacklist all SKPs drawn into the gpu config.\n" + "'--blacklist gpu skp _ _ 8888 gm _ aarects' will also blacklist the aarects GM on 8888."); DEFINE_string2(readPath, r, "", "If set check for equality with golden results in this directory."); @@ -62,9 +62,10 @@ SK_DECLARE_STATIC_MUTEX(gRunningMutex); static SkTArray<SkString> gRunning; static void done(double ms, - ImplicitString config, ImplicitString src, ImplicitString name, - ImplicitString note, ImplicitString log) { - SkString id = SkStringPrintf("%s %s %s", config.c_str(), src.c_str(), name.c_str()); + ImplicitString config, ImplicitString src, ImplicitString srcOptions, + ImplicitString name, ImplicitString note, ImplicitString log) { + SkString id = SkStringPrintf("%s %s %s %s", config.c_str(), src.c_str(), + srcOptions.c_str(), name.c_str()); { SkAutoMutexAcquire lock(gRunningMutex); for (int i = 0; i < gRunning.count(); i++) { @@ -95,8 +96,10 @@ static void done(double ms, } } -static void start(ImplicitString config, ImplicitString src, ImplicitString name) { - SkString id = SkStringPrintf("%s %s %s", config.c_str(), src.c_str(), name.c_str()); +static void start(ImplicitString config, ImplicitString src, + ImplicitString srcOptions, ImplicitString name) { + SkString id = SkStringPrintf("%s %s %s %s", config.c_str(), src.c_str(), + srcOptions.c_str(), name.c_str()); SkAutoMutexAcquire lock(gRunningMutex); gRunning.push_back(id); } @@ -105,10 +108,12 @@ static void start(ImplicitString config, ImplicitString src, ImplicitString name struct Gold : public SkString { Gold() : SkString("") {} - Gold(ImplicitString sink, ImplicitString src, ImplicitString name, ImplicitString md5) + Gold(ImplicitString sink, ImplicitString src, ImplicitString srcOptions, + ImplicitString name, ImplicitString md5) : SkString("") { this->append(sink); this->append(src); + this->append(srcOptions); this->append(name); this->append(md5); } @@ -117,7 +122,7 @@ struct Gold : public SkString { static SkTHashSet<Gold, Gold::Hash> gGold; static void add_gold(JsonWriter::BitmapResult r) { - gGold.add(Gold(r.config, r.sourceType, r.name, r.md5)); + gGold.add(Gold(r.config, r.sourceType, r.sourceOptions, r.name, r.md5)); } static void gather_gold() { @@ -133,20 +138,24 @@ static void gather_gold() { /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ template <typename T> -struct Tagged : public SkAutoTDelete<T> { const char* tag; }; +struct Tagged : public SkAutoTDelete<T> { + const char* tag; + const char* options; +}; static const bool kMemcpyOK = true; static SkTArray<Tagged<Src>, kMemcpyOK> gSrcs; static SkTArray<Tagged<Sink>, kMemcpyOK> gSinks; -static void push_src(const char* tag, Src* s) { +static void push_src(const char* tag, const char* options, Src* s) { SkAutoTDelete<Src> src(s); if (FLAGS_src.contains(tag) && !SkCommandLineFlags::ShouldSkip(FLAGS_match, src->name().c_str())) { Tagged<Src>& s = gSrcs.push_back(); s.reset(src.detach()); s.tag = tag; + s.options = options; } } @@ -168,17 +177,17 @@ static bool codec_supported(const char* ext) { static void gather_srcs() { for (const skiagm::GMRegistry* r = skiagm::GMRegistry::Head(); r; r = r->next()) { - push_src("gm", new GMSrc(r->factory())); + push_src("gm", "", new GMSrc(r->factory())); } for (int i = 0; i < FLAGS_skps.count(); i++) { const char* path = FLAGS_skps[i]; if (sk_isdir(path)) { SkOSFile::Iter it(path, "skp"); for (SkString file; it.next(&file); ) { - push_src("skp", new SKPSrc(SkOSPath::Join(path, file.c_str()))); + push_src("skp", "", new SKPSrc(SkOSPath::Join(path, file.c_str()))); } } else { - push_src("skp", new SKPSrc(path)); + push_src("skp", "", new SKPSrc(path)); } } static const char* const exts[] = { @@ -192,20 +201,20 @@ static void gather_srcs() { SkOSFile::Iter it(flag, exts[j]); for (SkString file; it.next(&file); ) { SkString path = SkOSPath::Join(flag, file.c_str()); - push_src("image", new ImageSrc(path)); // Decode entire image. - push_src("subset", new ImageSrc(path, 2)); // Decode into 2 x 2 subsets + push_src("image", "decode", new ImageSrc(path)); // Decode entire image + push_src("image", "subset", new ImageSrc(path, 2)); // Decode into 2x2 subsets if (codec_supported(exts[j])) { - push_src("codec", new CodecSrc(path, CodecSrc::kNormal_Mode)); - push_src("scanline", new CodecSrc(path, CodecSrc::kScanline_Mode)); + push_src("image", "codec", new CodecSrc(path, CodecSrc::kNormal_Mode)); + push_src("image", "scanline", new CodecSrc(path, CodecSrc::kScanline_Mode)); } } } } else if (sk_exists(flag)) { // assume that FLAGS_images[i] is a valid image if it is a file. - push_src("image", new ImageSrc(flag)); // Decode entire image. - push_src("subset", new ImageSrc(flag, 2)); // Decode into 2 x 2 subsets - push_src("codec", new CodecSrc(flag, CodecSrc::kNormal_Mode)); - push_src("scanline", new CodecSrc(flag, CodecSrc::kScanline_Mode)); + push_src("image", "decode", new ImageSrc(flag)); // Decode entire image. + push_src("image", "subset", new ImageSrc(flag, 2)); // Decode into 2 x 2 subsets + push_src("image", "codec", new CodecSrc(flag, CodecSrc::kNormal_Mode)); + push_src("image", "scanline", new CodecSrc(flag, CodecSrc::kScanline_Mode)); } } } @@ -342,13 +351,16 @@ static bool match(const char* needle, const char* haystack) { return 0 == strcmp("_", needle) || NULL != strstr(haystack, needle); } -static ImplicitString is_blacklisted(const char* sink, const char* src, const char* name) { - for (int i = 0; i < FLAGS_blacklist.count() - 2; i += 3) { +static ImplicitString is_blacklisted(const char* sink, const char* src, + const char* srcOptions, const char* name) { + for (int i = 0; i < FLAGS_blacklist.count() - 2; i += 4) { if (match(FLAGS_blacklist[i+0], sink) && - match(FLAGS_blacklist[i+1], src) && - match(FLAGS_blacklist[i+2], name)) { - return SkStringPrintf("%s %s %s", - FLAGS_blacklist[i+0], FLAGS_blacklist[i+1], FLAGS_blacklist[i+2]); + match(FLAGS_blacklist[i+1], src) && + match(FLAGS_blacklist[i+2], srcOptions) && + match(FLAGS_blacklist[i+3], name)) { + return SkStringPrintf("%s %s %s %s", + FLAGS_blacklist[i+0], FLAGS_blacklist[i+1], + FLAGS_blacklist[i+2], FLAGS_blacklist[i+3]); } } return ""; @@ -364,7 +376,8 @@ struct Task { static void Run(Task* task) { SkString name = task->src->name(); SkString note; - SkString whyBlacklisted = is_blacklisted(task->sink.tag, task->src.tag, name.c_str()); + SkString whyBlacklisted = is_blacklisted(task->sink.tag, task->src.tag, + task->src.options, name.c_str()); if (!whyBlacklisted.isEmpty()) { note.appendf(" (--blacklist %s)", whyBlacklisted.c_str()); } @@ -374,20 +387,22 @@ struct Task { if (!FLAGS_dryRun && whyBlacklisted.isEmpty()) { SkBitmap bitmap; SkDynamicMemoryWStream stream; - start(task->sink.tag, task->src.tag, name.c_str()); + start(task->sink.tag, task->src.tag, task->src.options, name.c_str()); Error err = task->sink->draw(*task->src, &bitmap, &stream, &log); if (!err.isEmpty()) { timer.end(); if (err.isFatal()) { - fail(SkStringPrintf("%s %s %s: %s", + fail(SkStringPrintf("%s %s %s %s: %s", task->sink.tag, task->src.tag, + task->src.options, name.c_str(), err.c_str())); } else { note.appendf(" (skipped: %s)", err.c_str()); } - done(timer.fWall, task->sink.tag, task->src.tag, name, note, log); + done(timer.fWall, task->sink.tag, task->src.tag, task->src.options, + name, note, log); return; } SkAutoTDelete<SkStreamAsset> data(stream.detachAsStream()); @@ -409,11 +424,13 @@ struct Task { } if (!FLAGS_readPath.isEmpty() && - !gGold.contains(Gold(task->sink.tag, task->src.tag, name, md5))) { - fail(SkStringPrintf("%s not found for %s %s %s in %s", + !gGold.contains(Gold(task->sink.tag, task->src.tag, + task->src.options, name, md5))) { + fail(SkStringPrintf("%s not found for %s %s %s %s in %s", md5.c_str(), task->sink.tag, task->src.tag, + task->src.options, name.c_str(), FLAGS_readPath[0])); } @@ -429,7 +446,7 @@ struct Task { } } timer.end(); - done(timer.fWall, task->sink.tag, task->src.tag, name, note, log); + done(timer.fWall, task->sink.tag, task->src.tag, task->src.options, name, note, log); } static void WriteToDisk(const Task& task, @@ -438,11 +455,12 @@ struct Task { SkStream* data, size_t len, const SkBitmap* bitmap) { JsonWriter::BitmapResult result; - result.name = task.src->name(); - result.config = task.sink.tag; - result.sourceType = task.src.tag; - result.ext = ext; - result.md5 = md5; + result.name = task.src->name(); + result.config = task.sink.tag; + result.sourceType = task.src.tag; + result.sourceOptions = task.src.options; + result.ext = ext; + result.md5 = md5; JsonWriter::AddBitmapResult(result); const char* dir = FLAGS_writePath[0]; @@ -464,6 +482,10 @@ struct Task { sk_mkdir(path.c_str()); path = SkOSPath::Join(path.c_str(), task.src.tag); sk_mkdir(path.c_str()); + if (strcmp(task.src.options, "") != 0) { + path = SkOSPath::Join(path.c_str(), task.src.options); + sk_mkdir(path.c_str()); + } path = SkOSPath::Join(path.c_str(), task.src->name().c_str()); path.append("."); path.append(ext); @@ -546,12 +568,12 @@ static void run_test(skiatest::Test* test) { WallTimer timer; timer.start(); if (!FLAGS_dryRun) { - start("unit", "test", test->name); + start("unit", "test", "", test->name); GrContextFactory factory; test->proc(&reporter, &factory); } timer.end(); - done(timer.fWall, "unit", "test", test->name, "", ""); + done(timer.fWall, "unit", "test", "", test->name, "", ""); } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ diff --git a/dm/DMJsonWriter.cpp b/dm/DMJsonWriter.cpp index c017dde5b5..c8334c5cce 100644 --- a/dm/DMJsonWriter.cpp +++ b/dm/DMJsonWriter.cpp @@ -52,11 +52,12 @@ void JsonWriter::DumpJson() { SkAutoMutexAcquire lock(&gBitmapResultLock); for (int i = 0; i < gBitmapResults.count(); i++) { Json::Value result; - result["key"]["name"] = gBitmapResults[i].name.c_str(); - result["key"]["config"] = gBitmapResults[i].config.c_str(); - result["key"]["source_type"] = gBitmapResults[i].sourceType.c_str(); - result["options"]["ext"] = gBitmapResults[i].ext.c_str(); - result["md5"] = gBitmapResults[i].md5.c_str(); + result["key"]["name"] = gBitmapResults[i].name.c_str(); + result["key"]["config"] = gBitmapResults[i].config.c_str(); + result["key"]["source_type"] = gBitmapResults[i].sourceType.c_str(); + result["key"]["source_options"] = gBitmapResults[i].sourceOptions.c_str(); + result["options"]["ext"] = gBitmapResults[i].ext.c_str(); + result["md5"] = gBitmapResults[i].md5.c_str(); root["results"].append(result); } @@ -104,11 +105,12 @@ bool JsonWriter::ReadJson(const char* path, void(*callback)(BitmapResult)) { BitmapResult br; for (unsigned i = 0; i < results.size(); i++) { const Json::Value& r = results[i]; - br.name = r["key"]["name"].asCString(); - br.config = r["key"]["config"].asCString(); - br.sourceType = r["key"]["source_type"].asCString(); - br.ext = r["options"]["ext"].asCString(); - br.md5 = r["md5"].asCString(); + br.name = r["key"]["name"].asCString(); + br.config = r["key"]["config"].asCString(); + br.sourceType = r["key"]["source_type"].asCString(); + br.sourceOptions = r["key"]["source_options"].asCString(); + br.ext = r["options"]["ext"].asCString(); + br.md5 = r["md5"].asCString(); callback(br); } return true; diff --git a/dm/DMJsonWriter.h b/dm/DMJsonWriter.h index 593484688b..67c9cf6a1a 100644 --- a/dm/DMJsonWriter.h +++ b/dm/DMJsonWriter.h @@ -26,6 +26,7 @@ public: SkString name; // E.g. "ninepatch-stretch", "desk_gws.skp" SkString config; // "gpu", "8888", "serialize", "pipe" SkString sourceType; // "gm", "skp", "image" + SkString sourceOptions; // "image", "codec", "subset", "scanline" SkString md5; // In ASCII, so 32 bytes long. SkString ext; // Extension of file we wrote: "png", "pdf", ... }; diff --git a/tools/dm_flags.json b/tools/dm_flags.json index b44afffcf4..5cd621cea7 100644 --- a/tools/dm_flags.json +++ b/tools/dm_flags.json @@ -13,74 +13,98 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "gpu", "skp", "_", - "gpu", - "image", - "_", - "gpu", - "subset", "_", "msaa", "skp", "_", + "_", + "gpu", + "image", + "decode", + "_", "msaa", "image", + "decode", "_", "gpu", + "image", + "subset", + "_", + "msaa", + "image", "subset", "_", "--match", @@ -102,74 +126,98 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "gpu", "skp", "_", - "gpu", - "image", - "_", - "gpu", - "subset", "_", "msaa", "skp", "_", + "_", + "gpu", + "image", + "decode", + "_", "msaa", "image", + "decode", "_", "gpu", + "image", + "subset", + "_", + "msaa", + "image", "subset", "_", "--match", @@ -184,74 +232,98 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "gpu", "skp", "_", - "gpu", - "image", - "_", - "gpu", - "subset", "_", "msaa", "skp", "_", + "_", + "gpu", + "image", + "decode", + "_", "msaa", "image", + "decode", "_", "gpu", + "image", + "subset", + "_", + "msaa", + "image", "subset", "_", "--match", @@ -269,74 +341,98 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "gpu", "skp", "_", - "gpu", - "image", - "_", - "gpu", - "subset", "_", "msaa", "skp", "_", + "_", + "gpu", + "image", + "decode", + "_", "msaa", "image", + "decode", "_", "gpu", + "image", + "subset", + "_", + "msaa", + "image", "subset", "_", "--match", @@ -359,57 +455,75 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "--match", "~Math" @@ -429,70 +543,96 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "pdf", "_", + "_", ".webp", "pdf", "gm", + "_", "fontmgr_iter", "pdf", "_", + "_", "PANO_20121023_214540.jpg", "pdf", "skp", + "_", "tabl_worldjournal.skp", + "pdf", + "skp", + "_", + "desk_baidu.skp", "--match", "~Threaded" ], @@ -511,70 +651,96 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "pdf", "_", + "_", ".webp", "pdf", "gm", + "_", "fontmgr_iter", "pdf", "_", + "_", "PANO_20121023_214540.jpg", "pdf", "skp", + "_", "tabl_worldjournal.skp", + "pdf", + "skp", + "_", + "desk_baidu.skp", "--match", "~Threaded" ], @@ -594,69 +760,91 @@ "--blacklist", "gpu", "_", + "_", "PANO_20121023_214540.jpg", "msaa", "_", + "_", "PANO_20121023_214540.jpg", "_", "image", + "decode", "pal8os2v2.bmp", "_", "image", + "decode", "pal8v4.bmp", "_", "image", + "decode", "pal8v5.bmp", "_", "image", + "decode", "rgb16-565.bmp", "_", "image", + "decode", "rgb16-565pal.bmp", "_", "image", + "decode", "rgb32-111110.bmp", "_", "image", + "decode", "rgb32bf.bmp", "_", "image", + "decode", "rgba32.bmp", "_", "image", + "decode", "rgba32abf.bmp", "_", "image", + "decode", "rgb24largepal.bmp", "_", "image", + "decode", "pal8os2v2-16.bmp", "_", "image", + "decode", "pal8oversizepal.bmp", "_", + "image", "subset", "rgb24largepal.bmp", "_", + "image", "subset", "pal8os2v2-16.bmp", "_", + "image", "subset", "pal8oversizepal.bmp", "_", "image", + "decode", "Hopstarter-Mac-Folders-Apple.ico", "_", "image", + "decode", "_", "_", + "image", "subset", "_", "msaa16", "gm", + "_", "colorwheelnative", "pdf", "gm", + "_", "fontmgr_iter_factory" ] }
\ No newline at end of file diff --git a/tools/dm_flags.py b/tools/dm_flags.py index f34245e96d..bcf666a7f4 100755 --- a/tools/dm_flags.py +++ b/tools/dm_flags.py @@ -55,55 +55,56 @@ def get_args(bot): blacklist = [] # This image is too large to be a texture for many GPUs. - blacklist.extend('gpu _ PANO_20121023_214540.jpg'.split(' ')) - blacklist.extend('msaa _ PANO_20121023_214540.jpg'.split(' ')) + blacklist.extend('gpu _ _ PANO_20121023_214540.jpg'.split(' ')) + blacklist.extend('msaa _ _ PANO_20121023_214540.jpg'.split(' ')) # Several of the newest version bmps fail on SkImageDecoder - blacklist.extend('_ image pal8os2v2.bmp'.split(' ')) - blacklist.extend('_ image pal8v4.bmp'.split(' ')) - blacklist.extend('_ image pal8v5.bmp'.split(' ')) - blacklist.extend('_ image rgb16-565.bmp'.split(' ')) - blacklist.extend('_ image rgb16-565pal.bmp'.split(' ')) - blacklist.extend('_ image rgb32-111110.bmp'.split(' ')) - blacklist.extend('_ image rgb32bf.bmp'.split(' ')) - blacklist.extend('_ image rgba32.bmp'.split(' ')) - blacklist.extend('_ image rgba32abf.bmp'.split(' ')) - blacklist.extend('_ image rgb24largepal.bmp'.split(' ')) - blacklist.extend('_ image pal8os2v2-16.bmp'.split(' ')) - blacklist.extend('_ image pal8oversizepal.bmp'.split(' ')) - blacklist.extend('_ subset rgb24largepal.bmp'.split(' ')) - blacklist.extend('_ subset pal8os2v2-16.bmp'.split(' ')) - blacklist.extend('_ subset pal8oversizepal.bmp'.split(' ')) + blacklist.extend('_ image decode pal8os2v2.bmp'.split(' ')) + blacklist.extend('_ image decode pal8v4.bmp'.split(' ')) + blacklist.extend('_ image decode pal8v5.bmp'.split(' ')) + blacklist.extend('_ image decode rgb16-565.bmp'.split(' ')) + blacklist.extend('_ image decode rgb16-565pal.bmp'.split(' ')) + blacklist.extend('_ image decode rgb32-111110.bmp'.split(' ')) + blacklist.extend('_ image decode rgb32bf.bmp'.split(' ')) + blacklist.extend('_ image decode rgba32.bmp'.split(' ')) + blacklist.extend('_ image decode rgba32abf.bmp'.split(' ')) + blacklist.extend('_ image decode rgb24largepal.bmp'.split(' ')) + blacklist.extend('_ image decode pal8os2v2-16.bmp'.split(' ')) + blacklist.extend('_ image decode pal8oversizepal.bmp'.split(' ')) + blacklist.extend('_ image subset rgb24largepal.bmp'.split(' ')) + blacklist.extend('_ image subset pal8os2v2-16.bmp'.split(' ')) + blacklist.extend('_ image subset pal8oversizepal.bmp'.split(' ')) # New ico files that fail on SkImageDecoder - blacklist.extend('_ image Hopstarter-Mac-Folders-Apple.ico'.split(' ')) + blacklist.extend('_ image decode Hopstarter-Mac-Folders-Apple.ico'.split(' ')) # Leon doesn't care about this, so why run it? if 'Win' in bot: - blacklist.extend('_ image _'.split(' ')) - blacklist.extend('_ subset _'.split(' ')) + blacklist.extend('_ image decode _'.split(' ')) + blacklist.extend('_ image subset _'.split(' ')) # Certain gm's on win7 gpu and pdf are never finishing and keeping the test # running forever if 'Win7' in bot: - blacklist.extend('msaa16 gm colorwheelnative'.split(' ')) - blacklist.extend('pdf gm fontmgr_iter_factory'.split(' ')) + blacklist.extend('msaa16 gm _ colorwheelnative'.split(' ')) + blacklist.extend('pdf gm _ fontmgr_iter_factory'.split(' ')) # Drawing SKPs or images into GPU canvases is a New Thing. # It seems like we're running out of RAM on some Android bots, so start off # with a very wide blacklist disabling all these tests on all Android bots. if 'Android' in bot: # skia:3255 - blacklist.extend('gpu skp _ gpu image _ gpu subset _'.split(' ')) - blacklist.extend('msaa skp _ msaa image _ gpu subset _'.split(' ')) + blacklist.extend('gpu skp _ _ msaa skp _ _'.split(' ')) + blacklist.extend('gpu image decode _ msaa image decode _'.split(' ')) + blacklist.extend('gpu image subset _ msaa image subset _'.split(' ')) if 'Valgrind' in bot: # PDF + .webp -> jumps depending on uninitialized memory. skia:3505 - blacklist.extend('pdf _ .webp'.split(' ')) + blacklist.extend('pdf _ _ .webp'.split(' ')) # These take 18+ hours to run. - blacklist.extend('pdf gm fontmgr_iter'.split(' ')) - blacklist.extend('pdf _ PANO_20121023_214540.jpg'.split(' ')) - blacklist.extend('pdf skp tabl_worldjournal.skp'.split(' ')) - blacklist.extend('pdf skp desk_baidu.skp'.split(' ')) + blacklist.extend('pdf gm _ fontmgr_iter'.split(' ')) + blacklist.extend('pdf _ _ PANO_20121023_214540.jpg'.split(' ')) + blacklist.extend('pdf skp _ tabl_worldjournal.skp'.split(' ')) + blacklist.extend('pdf skp _ desk_baidu.skp'.split(' ')) if blacklist: args.append('--blacklist') |