OLD | NEW |
1 | 1 |
2 #include "SkBitmap.h" | 2 #include "SkBitmap.h" |
3 #include "SkCanvas.h" | 3 #include "SkCanvas.h" |
4 #include "SkColor.h" | 4 #include "SkColor.h" |
5 #include "SkColorPriv.h" | 5 #include "SkColorPriv.h" |
6 #include "SkDevice.h" | 6 #include "SkDevice.h" |
7 #include "SkGraphics.h" | 7 #include "SkGraphics.h" |
8 #include "SkImageDecoder.h" | 8 #include "SkImageDecoder.h" |
9 #include "SkImageEncoder.h" | 9 #include "SkImageEncoder.h" |
10 #include "SkOSFile.h" | 10 #include "SkOSFile.h" |
11 #include "SkPathOpsDebug.h" | 11 #include "SkPathOpsDebug.h" |
12 #include "SkPicture.h" | 12 #include "SkPicture.h" |
13 #include "SkRTConf.h" | 13 #include "SkRTConf.h" |
14 #include "SkTSort.h" | 14 #include "SkTSort.h" |
15 #include "SkStream.h" | 15 #include "SkStream.h" |
16 #include "SkString.h" | 16 #include "SkString.h" |
17 #include "SkTArray.h" | 17 #include "SkTArray.h" |
18 #include "SkTDArray.h" | 18 #include "SkTDArray.h" |
19 #include "SkThreadPool.h" | 19 #include "SkThreadPool.h" |
20 #include "SkTime.h" | 20 #include "SkTime.h" |
21 #include "Test.h" | 21 #include "Test.h" |
22 | 22 |
23 #ifdef SK_BUILD_FOR_WIN | 23 #ifdef SK_BUILD_FOR_WIN |
24 #define PATH_SLASH "\\" | 24 #define PATH_SLASH "\\" |
25 #define IN_DIR "D:\\skp\\slave" | 25 #define IN_DIR "D:\\skp\\slave" |
26 #define OUT_DIR "D:\\skpOut\\1\\" | 26 #define OUT_DIR "D:\\skpOut\\1\\" |
27 #else | 27 #else |
28 #define PATH_SLASH "/" | 28 #define PATH_SLASH "/" |
29 #define IN_DIR "/skp/slave" | 29 #define IN_DIR "/skp/2311328-7fc2228/slave" |
30 #define OUT_DIR "/skpOut/1/" | 30 #define OUT_DIR "/skpOut/2/" |
31 #endif | 31 #endif |
32 | 32 |
33 const struct { | 33 const struct { |
34 int directory; | 34 int directory; |
35 const char* filename; | 35 const char* filename; |
36 } skipOverSept[] = { | 36 } skipOverSept[] = { |
37 {1, "http___elpais_com_.skp"}, | 37 { 9, "http___www_catingueiraonline_com_.skp"}, // infinite loop |
38 {1, "http___namecheap_com_.skp"}, | 38 {13, "http___www_galaxystwo_com_.skp"}, // infinite loop |
39 {1, "http___www_alrakoba_net_.skp"}, | 39 {15, "http___www_giffingtool_com_.skp"}, // joinCoincidence / findT / asser
t |
40 {1, "http___www_briian_com_.skp"}, // triggers assert at line 467 of SkRRec
t.cpp | 40 {15, "http___www_thaienews_blogspot_com_.skp"}, // infinite loop |
41 {1, "http___www_cityads_ru_.skp"}, | 41 {17, "http___www_gruposejaumdivulgador_com_br_.skp"}, // calcCoincidentWindi
ng asserts zeroSpan |
42 {3, "http___www_abeautifulmess_com_.skp"}, // asserts in IntToFixed from Sk
Scan::AntiFilllXRect | 42 {18, "http___www_argus_presse_fr_.skp"}, // can't find winding of remaining
vertical edge |
43 {1, "http___www_dealnews_com_.skp"}, | 43 {21, "http___www_fashionscandal_com_.skp"}, // infinite loop |
44 {1, "http___www_inmotionhosting_com.skp"}, | 44 {21, "http___www_kenlevine_blogspot_com_.skp"}, // infinite loop |
| 45 {25, "http___www_defense_studies_blogspot_com_.skp"}, // infinite loop |
| 46 {27, "http___www_brokeroutpost_com_.skp"}, // suspect infinite loop |
| 47 {28, "http___www_jaimebatistadasilva_blogspot_com_br_.skp"}, // suspect inf
inite loop |
| 48 {28, "http___www_odia_com_br_.skp"}, // !simple->isClosed() |
| 49 {29, "http___www_hubbyscook_com_.skp"}, // joinCoincidence / findT / assert |
| 50 {30, "http___www_spankystokes_com_.skp"}, // suspect infinite loop |
| 51 {32, "http___www_adalbertoday_blogspot_com_br_.skp"}, // suspect infinite l
oop |
| 52 {32, "http___www_galery_annisa_com_.skp"}, // suspect infinite loop |
| 53 {33, "http___www_pindosiya_com_.skp"}, // line quad intersection SkIntersec
tions::assert |
| 54 {36, "http___www_educationalcraft_com_.skp"}, // cubic / cubic near end / a
ssert in SkIntersections::insert (missing skp test) |
| 55 {36, "http___www_shaam_org_.skp"}, // suspect infinite loop |
| 56 {36, "http___www_my_pillow_book_blogspot_gr_.skp"}, // suspect infinite loo
p |
| 57 {39, "http___www_opbeat_com_.skp"}, // suspect infinite loop |
| 58 {40, "http___www_phototransferapp_com_.skp"}, // !simple->isClosed() |
| 59 {41, "http___www_freeismylife_com_.skp"}, // suspect infinite loop |
| 60 {41, "http___www_accordidelmomento_com_.skp"}, // suspect infinite loop |
| 61 {41, "http___www_evolvehq_com_.skp"}, // joinCoincidence / findT / assert |
| 62 {44, "http___www_contextualnewsfeeds_com_.skp"}, // !simple->isClosed() |
| 63 {44, "http___www_cooksnaps_com_.skp"}, // !simple->isClosed() |
| 64 {44, "http___www_helha_be_.skp"}, // !simple->isClosed() |
| 65 {45, "http___www_blondesmakemoney_blogspot_com_.skp"}, // suspect infinite
loop |
| 66 {46, "http___www_cheaphealthygood_blogspot_com_.skp"}, // suspect infinite
loop |
| 67 {47, "http___www_ajitvadakayil_blogspot_in_.skp"}, // suspect infinite loop |
| 68 {49, "http___www_karnivool_com_au_.skp"}, // SkOpAngle::setSector SkASSERT(
fSectorStart >= 0); |
| 69 {49, "http___www_tunero_de_.skp"}, // computeonesumreverse calls markwindin
g with 0 winding |
| 70 {49, "http___www_thaienews_blogspot_sg_.skp"}, // suspect infinite loop |
| 71 {50, "http___www_docgelo_com_.skp"}, // rightAngleWinding (probably same as
argus_presse) |
| 72 {53, "http___www_lojaanabotafogo_com_br_.skp"}, // rrect validate assert |
| 73 {54, "http___www_odecktestanswer2013_blogspot_in_.skp"}, // suspect infinit
e loop |
| 74 {54, "http___www_cleristonsilva_com_br_.skp"}, // suspect infinite loop |
| 75 {56, "http___www_simplysaru_com_.skp"}, // joinCoincidence / findT / assert |
| 76 {57, "http___www_koukfamily_blogspot_gr_.skp"}, // suspect infinite loop |
| 77 {57, "http___www_dinar2010_blogspot_com_.skp"}, // suspect infinite loop |
| 78 {58, "http___www_artblart_com_.skp"}, // rightAngleWinding |
| 79 {59, "http___www_accrispin_blogspot_com_.skp"}, // suspect infinite loop |
| 80 {59, "http___www_vicisitudysordidez_blogspot_com_es_.skp"}, // suspect infi
nite loop |
| 81 {60, "http___www_thehousingbubbleblog_com_.skp"}, // suspect infinite loop |
| 82 {61, "http___www_jessicaslens_wordpress_com_.skp"}, // joinCoincidence / fi
ndT / assert |
| 83 {61, "http___www_partsdata_de_.skp"}, // cubic-cubic intersection reduce ch
eckLinear assert |
| 84 {62, "http___www_blondesmakemoney_blogspot_com_au_.skp"}, // suspect infini
te loop |
| 85 {62, "http___www_intellibriefs_blogspot_in_.skp"}, // suspect infinite loop |
| 86 {63, "http___www_tankerenemy_com_.skp"}, // suspect infinite loop |
| 87 {65, "http___www_kpopexplorer_net_.skp"}, // joinCoincidence / findT / asse
rt |
| 88 {65, "http___www_bestthingsinbeauty_blogspot_com_.skp"}, // suspect infinit
e loop |
| 89 {65, "http___www_wartepop_blogspot_com_br_.skp"}, // !simple->isClosed() |
| 90 {65, "http___www_eolake_blogspot_com_.skp"}, // suspect infinite loop |
| 91 {67, "http___www_cacadordemisterio_blogspot_com_br_.skp"}, // suspect infin
ite loop |
| 92 {69, "http___www_misnotasyapuntes_blogspot_mx_.skp"}, // suspect infinite l
oop |
| 93 {69, "http___www_awalkintheparknyc_blogspot_com_.skp"}, // suspect infinite
loop |
| 94 {71, "http___www_lokado_de_.skp"}, // joinCoincidence / findT / assert |
| 95 {72, "http___www_karlosdesanjuan_blogspot_com_.skp"}, // suspect infinite l
oop |
| 96 {73, "http___www_cyberlawsinindia_blogspot_in_.skp"}, // suspect infinite l
oop |
| 97 {73, "http___www_taxiemmovimento_blogspot_com_br_.skp"}, // suspect infinit
e loop |
| 98 {74, "http___www_giveusliberty1776_blogspot_com_.skp"}, // suspect infinite
loop |
| 99 {75, "http___www_e_cynical_blogspot_gr_.skp"}, // suspect infinite loop |
| 100 {76, "http___www_seopack_blogspot_com_.skp"}, // SkOpAngle::setSector SkASS
ERT(fSectorStart >= 0); |
| 101 {77, "http___www_sunsky_russia_com_.skp"}, // joinCoincidence / findT / ass
ert (no op test, already fixed hopefully) |
| 102 {78, "http___www_bisnisonlineinfo_com_.skp"}, // suspect infinite loop |
| 103 {79, "http___www_danielsgroupcpa_com_.skp"}, // joinCoincidence / findT / a
ssert (no op test, already fixed hopefully) |
| 104 {80, "http___www_clinique_portugal_com_.skp"}, // suspect infinite loop |
| 105 {81, "http___www_europebusines_blogspot_com_.skp"}, // suspect infinite loo
p |
| 106 {82, "http___www_apopsignomi_blogspot_gr_.skp"}, // suspect infinite loop |
| 107 {85, "http___www_ajitvadakayil_blogspot_com_.skp"}, // suspect infinite loo
p |
| 108 {86, "http___www_madhousefamilyreviews_blogspot_co_uk_.skp"}, // suspect in
finite loop |
45 }; | 109 }; |
46 | 110 |
47 size_t skipOverSeptCount = sizeof(skipOverSept) / sizeof(skipOverSept[0]); | 111 size_t skipOverSeptCount = sizeof(skipOverSept) / sizeof(skipOverSept[0]); |
48 | 112 |
49 enum TestStep { | 113 enum TestStep { |
50 kCompareBits, | 114 kCompareBits, |
51 kEncodeFiles, | 115 kEncodeFiles, |
52 }; | 116 }; |
53 | 117 |
54 enum { | 118 enum { |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 } | 466 } |
403 pic = SkPicture::CreateFromStream(&stream, &SkImageDecoder::DecodeMemory
); | 467 pic = SkPicture::CreateFromStream(&stream, &SkImageDecoder::DecodeMemory
); |
404 if (!pic) { | 468 if (!pic) { |
405 SkDebugf("unable to decode %s\n", fFilename); | 469 SkDebugf("unable to decode %s\n", fFilename); |
406 goto finish; | 470 goto finish; |
407 } | 471 } |
408 int width = pic->width(); | 472 int width = pic->width(); |
409 int height = pic->height(); | 473 int height = pic->height(); |
410 SkBitmap oldBitmap, opBitmap; | 474 SkBitmap oldBitmap, opBitmap; |
411 fScale = 1; | 475 fScale = 1; |
| 476 while (width / fScale > 32767 || height / fScale > 32767) { |
| 477 ++fScale; |
| 478 } |
412 do { | 479 do { |
413 int dimX = (width + fScale - 1) / fScale; | 480 int dimX = (width + fScale - 1) / fScale; |
414 int dimY = (height + fScale - 1) / fScale; | 481 int dimY = (height + fScale - 1) / fScale; |
415 if (oldBitmap.allocN32Pixels(dimX, dimY) && | 482 if (oldBitmap.allocN32Pixels(dimX, dimY) && |
416 opBitmap.allocN32Pixels(dimX, dimY)) { | 483 opBitmap.allocN32Pixels(dimX, dimY)) { |
417 break; | 484 break; |
418 } | 485 } |
419 SkDebugf("-%d-", fScale); | 486 SkDebugf("-%d-", fScale); |
420 } while ((fScale *= 2) < 256); | 487 } while (++fScale < 256); |
421 if (fScale >= 256) { | 488 if (fScale >= 256) { |
422 SkDebugf("unable to allocate bitmap for %s (w=%d h=%d)\n", fFilename
, | 489 SkDebugf("unable to allocate bitmap for %s (w=%d h=%d)\n", fFilename
, |
423 width, height); | 490 width, height); |
424 goto finish; | 491 goto finish; |
425 } | 492 } |
426 oldBitmap.eraseColor(SK_ColorWHITE); | 493 oldBitmap.eraseColor(SK_ColorWHITE); |
427 SkCanvas oldCanvas(oldBitmap); | 494 SkCanvas oldCanvas(oldBitmap); |
428 oldCanvas.setAllowSimplifyClip(false); | 495 oldCanvas.setAllowSimplifyClip(false); |
429 opBitmap.eraseColor(SK_ColorWHITE); | 496 opBitmap.eraseColor(SK_ColorWHITE); |
430 SkCanvas opCanvas(opBitmap); | 497 SkCanvas opCanvas(opBitmap); |
(...skipping 20 matching lines...) Expand all Loading... |
451 | 518 |
452 static SkString makeStatusString(int dirNo) { | 519 static SkString makeStatusString(int dirNo) { |
453 SkString statName; | 520 SkString statName; |
454 statName.printf("stats%d.txt", dirNo); | 521 statName.printf("stats%d.txt", dirNo); |
455 SkString statusFile = make_filepath(0, outStatusDir, statName.c_str()); | 522 SkString statusFile = make_filepath(0, outStatusDir, statName.c_str()); |
456 return statusFile; | 523 return statusFile; |
457 } | 524 } |
458 | 525 |
459 class PreParser { | 526 class PreParser { |
460 public: | 527 public: |
461 PreParser(int dirNo) | 528 PreParser(int dirNo, bool threaded) |
462 : fDirNo(dirNo) | 529 : fDirNo(dirNo) |
463 , fIndex(0) { | 530 , fIndex(0) |
| 531 , fThreaded(threaded) { |
464 SkString statusPath = makeStatusString(dirNo); | 532 SkString statusPath = makeStatusString(dirNo); |
465 if (!sk_exists(statusPath.c_str())) { | 533 if (!sk_exists(statusPath.c_str())) { |
466 return; | 534 return; |
467 } | 535 } |
468 SkFILEStream reader; | 536 SkFILEStream reader; |
469 reader.setPath(statusPath.c_str()); | 537 reader.setPath(statusPath.c_str()); |
470 while (fetch(reader, &fResults.push_back())) | 538 while (fetch(reader, &fResults.push_back())) |
471 ; | 539 ; |
472 fResults.pop_back(); | 540 fResults.pop_back(); |
473 } | 541 } |
474 | 542 |
475 bool fetch(SkFILEStream& reader, TestResult* result) { | 543 bool fetch(SkFILEStream& reader, TestResult* result) { |
476 char c; | 544 char c; |
477 int i = 0; | 545 int i = 0; |
478 result->init(fDirNo); | 546 result->init(fDirNo); |
479 result->fPixelError = 0; | 547 result->fPixelError = 0; |
480 result->fTime = 0; | 548 result->fTime = 0; |
481 do { | 549 do { |
482 bool readOne = reader.read(&c, 1) != 0; | 550 bool readOne = reader.read(&c, 1) != 0; |
483 if (!readOne) { | 551 if (!readOne) { |
484 SkASSERT(i == 0); | 552 // SkASSERT(i == 0); // the current text may be incomplete -- i
f so, ignore it |
485 return false; | 553 return false; |
486 } | 554 } |
487 if (c == ' ') { | 555 if (c == ' ') { |
488 result->fFilename[i++] = '\0'; | 556 result->fFilename[i++] = '\0'; |
489 break; | 557 break; |
490 } | 558 } |
491 result->fFilename[i++] = c; | 559 result->fFilename[i++] = c; |
492 SkASSERT(i < kMaxLength); | 560 SkASSERT(i < kMaxLength); |
493 } while (true); | 561 } while (true); |
494 do { | 562 do { |
495 SkAssertResult(reader.read(&c, 1)); | 563 if (!reader.read(&c, 1)) { |
| 564 return false; |
| 565 } |
496 if (c == ' ') { | 566 if (c == ' ') { |
497 break; | 567 break; |
498 } | 568 } |
499 SkASSERT(c >= '0' && c <= '9'); | 569 SkASSERT(c >= '0' && c <= '9'); |
500 result->fPixelError = result->fPixelError * 10 + (c - '0'); | 570 result->fPixelError = result->fPixelError * 10 + (c - '0'); |
501 } while (true); | 571 } while (true); |
502 bool minus = false; | 572 bool minus = false; |
503 do { | 573 do { |
504 SkAssertResult(reader.read(&c, 1)); | 574 if (!reader.read(&c, 1)) { |
| 575 return false; |
| 576 } |
505 if (c == '\n') { | 577 if (c == '\n') { |
506 break; | 578 break; |
507 } | 579 } |
508 if (c == '-') { | 580 if (c == '-') { |
509 minus = true; | 581 minus = true; |
510 continue; | 582 continue; |
511 } | 583 } |
512 SkASSERT(c >= '0' && c <= '9'); | 584 SkASSERT(c >= '0' && c <= '9'); |
513 result->fTime = result->fTime * 10 + (c - '0'); | 585 result->fTime = result->fTime * 10 + (c - '0'); |
514 } while (true); | 586 } while (true); |
515 if (minus) { | 587 if (minus) { |
516 result->fTime = -result->fTime; | 588 result->fTime = -result->fTime; |
517 } | 589 } |
518 return true; | 590 return true; |
519 } | 591 } |
520 | 592 |
521 bool match(const SkString& filename, SkFILEWStream* stream, TestResult* resu
lt) { | 593 bool match(const SkString& filename, SkFILEWStream* stream, TestResult* resu
lt) { |
522 if (fIndex < fResults.count()) { | 594 if (fThreaded) { |
| 595 for (int index = 0; index < fResults.count(); ++index) { |
| 596 const TestResult& test = fResults[index]; |
| 597 if (filename.equals(test.fFilename)) { |
| 598 *result = test; |
| 599 SkString outStr(result->status()); |
| 600 stream->write(outStr.c_str(), outStr.size()); |
| 601 return true; |
| 602 } |
| 603 } |
| 604 } else if (fIndex < fResults.count()) { |
523 *result = fResults[fIndex++]; | 605 *result = fResults[fIndex++]; |
524 SkASSERT(filename.equals(result->fFilename)); | 606 SkASSERT(filename.equals(result->fFilename)); |
525 SkString outStr(result->status()); | 607 SkString outStr(result->status()); |
526 stream->write(outStr.c_str(), outStr.size()); | 608 stream->write(outStr.c_str(), outStr.size()); |
527 return true; | 609 return true; |
528 } | 610 } |
529 return false; | 611 return false; |
530 } | 612 } |
531 | 613 |
532 private: | 614 private: |
533 int fDirNo; | 615 int fDirNo; |
534 int fIndex; | 616 int fIndex; |
535 SkTArray<TestResult, true> fResults; | 617 SkTArray<TestResult, true> fResults; |
| 618 bool fThreaded; |
536 }; | 619 }; |
537 | 620 |
538 static bool doOneDir(TestState* state) { | 621 static bool doOneDir(TestState* state, bool threaded) { |
539 int dirNo = state->fResult.fDirNo; | 622 int dirNo = state->fResult.fDirNo; |
540 skiatest::Reporter* reporter = state->fReporter; | 623 skiatest::Reporter* reporter = state->fReporter; |
541 SkString dirName = make_in_dir_name(dirNo); | 624 SkString dirName = make_in_dir_name(dirNo); |
542 if (!dirName.size()) { | 625 if (!dirName.size()) { |
543 return false; | 626 return false; |
544 } | 627 } |
545 SkOSFile::Iter iter(dirName.c_str(), "skp"); | 628 SkOSFile::Iter iter(dirName.c_str(), "skp"); |
546 SkString filename; | 629 SkString filename; |
547 int testCount = 0; | 630 int testCount = 0; |
548 PreParser preParser(dirNo); | 631 PreParser preParser(dirNo, threaded); |
549 SkFILEWStream statusStream(makeStatusString(dirNo).c_str()); | 632 SkFILEWStream statusStream(makeStatusString(dirNo).c_str()); |
550 while (iter.next(&filename)) { | 633 while (iter.next(&filename)) { |
551 for (size_t index = 0; index < skipOverSeptCount; ++index) { | 634 for (size_t index = 0; index < skipOverSeptCount; ++index) { |
552 if (skipOverSept[index].directory == dirNo | 635 if (skipOverSept[index].directory == dirNo |
553 && strcmp(filename.c_str(), skipOverSept[index].filename) ==
0) { | 636 && strcmp(filename.c_str(), skipOverSept[index].filename) ==
0) { |
554 goto checkEarlyExit; | 637 goto checkEarlyExit; |
555 } | 638 } |
556 } | 639 } |
557 if (preParser.match(filename, &statusStream, &state->fResult)) { | 640 if (preParser.match(filename, &statusStream, &state->fResult)) { |
558 (void) addError(state, state->fResult); | 641 (void) addError(state, state->fResult); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 return; | 708 return; |
626 } | 709 } |
627 SkTArray<TestResult, true> errors; | 710 SkTArray<TestResult, true> errors; |
628 TestState state; | 711 TestState state; |
629 state.init(0, reporter); | 712 state.init(0, reporter); |
630 for (int dirNo = 1; dirNo <= 100; ++dirNo) { | 713 for (int dirNo = 1; dirNo <= 100; ++dirNo) { |
631 if (reporter->verbose()) { | 714 if (reporter->verbose()) { |
632 SkDebugf("dirNo=%d\n", dirNo); | 715 SkDebugf("dirNo=%d\n", dirNo); |
633 } | 716 } |
634 state.fResult.fDirNo = dirNo; | 717 state.fResult.fDirNo = dirNo; |
635 if (!doOneDir(&state)) { | 718 if (!doOneDir(&state, false)) { |
636 break; | 719 break; |
637 } | 720 } |
638 } | 721 } |
639 encodeFound(reporter, state); | 722 encodeFound(reporter, state); |
640 } | 723 } |
641 | 724 |
642 static void testSkpClipMain(TestState* data) { | 725 static void testSkpClipMain(TestState* data) { |
643 (void) doOneDir(data); | 726 (void) doOneDir(data, true); |
644 } | 727 } |
645 | 728 |
646 DEF_TEST(PathOpsSkpClipThreaded, reporter) { | 729 DEF_TEST(PathOpsSkpClipThreaded, reporter) { |
647 if (!initTest()) { | 730 if (!initTest()) { |
648 return; | 731 return; |
649 } | 732 } |
650 int threadCount = reporter->allowThreaded() ? SkThreadPool::kThreadPerCore :
1; | 733 int threadCount = reporter->allowThreaded() ? SkThreadPool::kThreadPerCore :
1; |
651 TestRunner testRunner(reporter, threadCount); | 734 TestRunner testRunner(reporter, threadCount); |
652 for (int dirNo = 1; dirNo <= 100; ++dirNo) { | 735 for (int dirNo = 1; dirNo <= 100; ++dirNo) { |
653 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnable, | 736 *testRunner.fRunnables.append() = SkNEW_ARGS(TestRunnable, |
(...skipping 21 matching lines...) Expand all Loading... |
675 SkAssertResult(make_in_dir_name(dirNo).size()); | 758 SkAssertResult(make_in_dir_name(dirNo).size()); |
676 SkString filename(skipOverSept[testIndex].filename); | 759 SkString filename(skipOverSept[testIndex].filename); |
677 TestResult state; | 760 TestResult state; |
678 state.test(dirNo, filename); | 761 state.test(dirNo, filename); |
679 if (reporter->verbose()) { | 762 if (reporter->verbose()) { |
680 SkDebugf("%s", state.status().c_str()); | 763 SkDebugf("%s", state.status().c_str()); |
681 } | 764 } |
682 state.fTestStep = kEncodeFiles; | 765 state.fTestStep = kEncodeFiles; |
683 state.testOne(); | 766 state.testOne(); |
684 } | 767 } |
OLD | NEW |