Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: gm/gmmain.cpp

Issue 15014011: GM: include filename extension (.png) of each output file in JSON summary (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: slight_cleanup Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 /* 8 /*
9 * Code for the "gm" (Golden Master) rendering comparison tool. 9 * Code for the "gm" (Golden Master) rendering comparison tool.
10 * 10 *
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 ErrorCombination write_reference_image(const ConfigData& gRec, const char wr itePath [], 600 ErrorCombination write_reference_image(const ConfigData& gRec, const char wr itePath [],
601 const char renderModeDescriptor [], c onst SkString& name, 601 const char renderModeDescriptor [], c onst SkString& name,
602 SkBitmap& bitmap, SkDynamicMemoryWStr eam* document) { 602 SkBitmap& bitmap, SkDynamicMemoryWStr eam* document) {
603 SkString path; 603 SkString path;
604 bool success = false; 604 bool success = false;
605 if (gRec.fBackend == kRaster_Backend || 605 if (gRec.fBackend == kRaster_Backend ||
606 gRec.fBackend == kGPU_Backend || 606 gRec.fBackend == kGPU_Backend ||
607 (gRec.fBackend == kPDF_Backend && CAN_IMAGE_PDF)) { 607 (gRec.fBackend == kPDF_Backend && CAN_IMAGE_PDF)) {
608 608
609 path = make_filename(writePath, renderModeDescriptor, name.c_str(), 609 path = make_filename(writePath, renderModeDescriptor, name.c_str(),
610 "png"); 610 kPNG_FileExtension);
611 success = write_bitmap(path, bitmap); 611 success = write_bitmap(path, bitmap);
612 } 612 }
613 if (kPDF_Backend == gRec.fBackend) { 613 if (kPDF_Backend == gRec.fBackend) {
614 path = make_filename(writePath, renderModeDescriptor, name.c_str(), 614 path = make_filename(writePath, renderModeDescriptor, name.c_str(),
615 "pdf"); 615 "pdf");
616 success = write_document(path, *document); 616 success = write_document(path, *document);
617 } 617 }
618 if (kXPS_Backend == gRec.fBackend) { 618 if (kXPS_Backend == gRec.fBackend) {
619 path = make_filename(writePath, renderModeDescriptor, name.c_str(), 619 path = make_filename(writePath, renderModeDescriptor, name.c_str(),
620 "xps"); 620 "xps");
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 bool addToJsonSummary) { 720 bool addToJsonSummary) {
721 ErrorCombination errors; 721 ErrorCombination errors;
722 SkHashDigest actualBitmapHash; 722 SkHashDigest actualBitmapHash;
723 // TODO(epoger): Better handling for error returned by ComputeDigest()? 723 // TODO(epoger): Better handling for error returned by ComputeDigest()?
724 // For now, we just report a digest of 0 in error cases, like before. 724 // For now, we just report a digest of 0 in error cases, like before.
725 if (!SkBitmapHasher::ComputeDigest(actualBitmap, &actualBitmapHash)) { 725 if (!SkBitmapHasher::ComputeDigest(actualBitmap, &actualBitmapHash)) {
726 actualBitmapHash = 0; 726 actualBitmapHash = 0;
727 } 727 }
728 SkString completeNameString = baseNameString; 728 SkString completeNameString = baseNameString;
729 completeNameString.append(renderModeDescriptor); 729 completeNameString.append(renderModeDescriptor);
730 completeNameString.append(".");
731 completeNameString.append(kPNG_FileExtension);
730 const char* completeName = completeNameString.c_str(); 732 const char* completeName = completeNameString.c_str();
731 733
732 if (expectations.empty()) { 734 if (expectations.empty()) {
733 errors.add(kMissingExpectations_ErrorType); 735 errors.add(kMissingExpectations_ErrorType);
734 } else if (!expectations.match(actualBitmapHash)) { 736 } else if (!expectations.match(actualBitmapHash)) {
735 addToJsonSummary = true; 737 addToJsonSummary = true;
736 // The error mode we record depends on whether this was running 738 // The error mode we record depends on whether this was running
737 // in a non-standard renderMode. 739 // in a non-standard renderMode.
738 if ('\0' == *renderModeDescriptor) { 740 if ('\0' == *renderModeDescriptor) {
739 errors.add(kExpectationsMismatch_ErrorType); 741 errors.add(kExpectationsMismatch_ErrorType);
740 } else { 742 } else {
741 errors.add(kRenderModeMismatch_ErrorType); 743 errors.add(kRenderModeMismatch_ErrorType);
742 } 744 }
743 745
744 // Write out the "actuals" for any mismatches, if we have 746 // Write out the "actuals" for any mismatches, if we have
745 // been directed to do so. 747 // been directed to do so.
746 if (fMismatchPath) { 748 if (fMismatchPath) {
747 SkString path = 749 SkString path =
748 make_filename(fMismatchPath, renderModeDescriptor, 750 make_filename(fMismatchPath, renderModeDescriptor,
749 baseNameString.c_str(), "png"); 751 baseNameString.c_str(), kPNG_FileExtension);
750 write_bitmap(path, actualBitmap); 752 write_bitmap(path, actualBitmap);
751 } 753 }
752 754
753 // If we have access to a single expected bitmap, log more 755 // If we have access to a single expected bitmap, log more
754 // detail about the mismatch. 756 // detail about the mismatch.
755 const SkBitmap *expectedBitmapPtr = expectations.asBitmap(); 757 const SkBitmap *expectedBitmapPtr = expectations.asBitmap();
756 if (NULL != expectedBitmapPtr) { 758 if (NULL != expectedBitmapPtr) {
757 report_bitmap_diffs(*expectedBitmapPtr, actualBitmap, completeNa me); 759 report_bitmap_diffs(*expectedBitmapPtr, actualBitmap, completeNa me);
758 } 760 }
759 } 761 }
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
858 name, "", true)); 860 name, "", true));
859 } else { 861 } else {
860 // If we are running without expectations, we still want to 862 // If we are running without expectations, we still want to
861 // record the actual results. 863 // record the actual results.
862 SkHashDigest actualBitmapHash; 864 SkHashDigest actualBitmapHash;
863 // TODO(epoger): Better handling for error returned by ComputeDigest ()? 865 // TODO(epoger): Better handling for error returned by ComputeDigest ()?
864 // For now, we just report a digest of 0 in error cases, like before . 866 // For now, we just report a digest of 0 in error cases, like before .
865 if (!SkBitmapHasher::ComputeDigest(actualBitmap, &actualBitmapHash)) { 867 if (!SkBitmapHasher::ComputeDigest(actualBitmap, &actualBitmapHash)) {
866 actualBitmapHash = 0; 868 actualBitmapHash = 0;
867 } 869 }
868 add_actual_results_to_json_summary(name.c_str(), actualBitmapHash, 870 SkString nameWithExtension(name);
871 nameWithExtension.append(".");
872 nameWithExtension.append(kPNG_FileExtension);
873 add_actual_results_to_json_summary(nameWithExtension.c_str(), actual BitmapHash,
869 ErrorCombination(kMissingExpectat ions_ErrorType), 874 ErrorCombination(kMissingExpectat ions_ErrorType),
870 false); 875 false);
871 RecordTestResults(ErrorCombination(kMissingExpectations_ErrorType), name, ""); 876 RecordTestResults(ErrorCombination(kMissingExpectations_ErrorType), name, "");
872 } 877 }
873 878
874 // TODO: Consider moving this into compare_to_expectations(), 879 // TODO: Consider moving this into compare_to_expectations(),
875 // similar to fMismatchPath... for now, we don't do that, because 880 // similar to fMismatchPath... for now, we don't do that, because
876 // we don't want to write out the actual bitmaps for all 881 // we don't want to write out the actual bitmaps for all
877 // renderModes of all tests! That would be a lot of files. 882 // renderModes of all tests! That would be a lot of files.
878 if (writePath && (gRec.fFlags & kWrite_ConfigFlag)) { 883 if (writePath && (gRec.fFlags & kWrite_ConfigFlag)) {
(...skipping 1129 matching lines...) Expand 10 before | Expand all | Expand 10 after
2008 if (FLAGS_forceBWtext) { 2013 if (FLAGS_forceBWtext) {
2009 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); 2014 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref();
2010 } 2015 }
2011 } 2016 }
2012 2017
2013 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) 2018 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
2014 int main(int argc, char * const argv[]) { 2019 int main(int argc, char * const argv[]) {
2015 return tool_main(argc, (char**) argv); 2020 return tool_main(argc, (char**) argv);
2016 } 2021 }
2017 #endif 2022 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698