| Index: tools/lua/lua_pictures.cpp
|
| diff --git a/tools/lua/lua_pictures.cpp b/tools/lua/lua_pictures.cpp
|
| index 106948a8d3449e2867feeca8de1f8da9230e3c78..02b9a57fb4701c66c36fd1b21beffd3b8c04d089 100644
|
| --- a/tools/lua/lua_pictures.cpp
|
| +++ b/tools/lua/lua_pictures.cpp
|
| @@ -33,6 +33,10 @@ static const char gSummarizeFunc[] = "sk_scrape_summarize";
|
| // PictureRenderingFlags.cpp
|
| extern bool lazy_decode_bitmap(const void* buffer, size_t size, SkBitmap*);
|
|
|
| +// Example usage for the modulo flag:
|
| +// for i in {0..5}; do lua_pictures --skpPath SKP_PATH -l YOUR_SCRIPT --modulo $i 6 &; done
|
| +DEFINE_string(modulo, "", "[--modulo <remainder> <divisor>]: only run tests for which "
|
| + "testIndex %% divisor == remainder.");
|
| DEFINE_string2(skpPath, r, "", "Read this .skp file or .skp files from this dir");
|
| DEFINE_string2(luaFile, l, "", "File containing lua script to run");
|
| DEFINE_string2(headCode, s, "", "Optional lua code to call at beginning");
|
| @@ -115,6 +119,19 @@ int tool_main(int argc, char** argv) {
|
| L.runCode(FLAGS_headCode[0]);
|
| }
|
|
|
| + int moduloRemainder = -1;
|
| + int moduloDivisor = -1;
|
| + SkString moduloStr;
|
| +
|
| + if (FLAGS_modulo.count() == 2) {
|
| + moduloRemainder = atoi(FLAGS_modulo[0]);
|
| + moduloDivisor = atoi(FLAGS_modulo[1]);
|
| + if (moduloRemainder < 0 || moduloDivisor <= 0 || moduloRemainder >= moduloDivisor) {
|
| + SkDebugf("invalid modulo values.\n");
|
| + return -1;
|
| + }
|
| + }
|
| +
|
| for (int i = 0; i < FLAGS_skpPath.count(); i ++) {
|
| SkTArray<SkString> paths;
|
| if (sk_isdir(FLAGS_skpPath[i])) {
|
| @@ -131,8 +148,14 @@ int tool_main(int argc, char** argv) {
|
| }
|
|
|
| for (int i = 0; i < paths.count(); i++) {
|
| + if (moduloRemainder >= 0) {
|
| + if ((i % moduloDivisor) != moduloRemainder) {
|
| + continue;
|
| + }
|
| + moduloStr.printf("[%d.%d] ", i, moduloDivisor);
|
| + }
|
| const char* path = paths[i].c_str();
|
| - SkDebugf("scraping %s\n", path);
|
| + SkDebugf("scraping %s %s\n", path, moduloStr.c_str());
|
|
|
| SkAutoTUnref<SkPicture> pic(load_picture(path));
|
| if (pic.get()) {
|
|
|