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

Side by Side Diff: gm/gmmain.cpp

Issue 26650005: gm: if test has no expectations, record its result as no-expectations regardless of ignoreFailure (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 2 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 803 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 if (addToJsonSummary) { 814 if (addToJsonSummary) {
815 add_actual_results_to_json_summary(completeName, actualBitmapAndDige st.fDigest, errors, 815 add_actual_results_to_json_summary(completeName, actualBitmapAndDige st.fDigest, errors,
816 expectations.ignoreFailure()); 816 expectations.ignoreFailure());
817 add_expected_results_to_json_summary(completeName, expectations); 817 add_expected_results_to_json_summary(completeName, expectations);
818 } 818 }
819 819
820 return errors; 820 return errors;
821 } 821 }
822 822
823 /** 823 /**
824 * Add this result to the appropriate JSON collection of actual results, 824 * Add this result to the appropriate JSON collection of actual results (but just ONE),
825 * depending on errors encountered. 825 * depending on errors encountered.
826 */ 826 */
827 void add_actual_results_to_json_summary(const char testName[], 827 void add_actual_results_to_json_summary(const char testName[],
828 const GmResultDigest &actualResultDi gest, 828 const GmResultDigest &actualResultDi gest,
829 ErrorCombination errors, 829 ErrorCombination errors,
830 bool ignoreFailure) { 830 bool ignoreFailure) {
831 Json::Value jsonActualResults = actualResultDigest.asJsonTypeValuePair() ; 831 Json::Value jsonActualResults = actualResultDigest.asJsonTypeValuePair() ;
832 Json::Value *resultCollection = NULL;
833
832 if (errors.isEmpty()) { 834 if (errors.isEmpty()) {
833 this->fJsonActualResults_Succeeded[testName] = jsonActualResults; 835 resultCollection = &this->fJsonActualResults_Succeeded;
834 } else { 836 } else if (errors.includes(kRenderModeMismatch_ErrorType)) {
837 resultCollection = &this->fJsonActualResults_Failed;
838 } else if (errors.includes(kExpectationsMismatch_ErrorType)) {
835 if (ignoreFailure) { 839 if (ignoreFailure) {
836 this->fJsonActualResults_FailureIgnored[testName] = 840 resultCollection = &this->fJsonActualResults_FailureIgnored;
837 jsonActualResults;
838 } else { 841 } else {
839 if (errors.includes(kMissingExpectations_ErrorType)) { 842 resultCollection = &this->fJsonActualResults_Failed;
840 // TODO: What about the case where there IS an
841 // expected image hash digest, but that gm test
842 // doesn't actually run? For now, those cases
843 // will always be ignored, because gm only looks
844 // at expectations that correspond to gm tests
845 // that were actually run.
846 //
847 // Once we have the ability to express
848 // expectations as a JSON file, we should fix this
849 // (and add a test case for which an expectation
850 // is given but the test is never run).
851 this->fJsonActualResults_NoComparison[testName] =
852 jsonActualResults;
853 }
854 if (errors.includes(kExpectationsMismatch_ErrorType) ||
855 errors.includes(kRenderModeMismatch_ErrorType)) {
856 this->fJsonActualResults_Failed[testName] = jsonActualResult s;
857 }
858 } 843 }
844 } else if (errors.includes(kMissingExpectations_ErrorType)) {
845 // TODO: What about the case where there IS an expected
846 // image hash digest, but that gm test doesn't actually
847 // run? For now, those cases will always be ignored,
848 // because gm only looks at expectations that correspond
849 // to gm tests that were actually run.
850 //
851 // Once we have the ability to express expectations as a
852 // JSON file, we should fix this (and add a test case for
853 // which an expectation is given but the test is never
854 // run).
855 resultCollection = &this->fJsonActualResults_NoComparison;
856 }
857
858 // If none of the above cases match, we don't add it to ANY tally of act ual results.
859 if (resultCollection) {
860 (*resultCollection)[testName] = jsonActualResults;
859 } 861 }
860 } 862 }
861 863
862 /** 864 /**
863 * Add this test to the JSON collection of expected results. 865 * Add this test to the JSON collection of expected results.
864 */ 866 */
865 void add_expected_results_to_json_summary(const char testName[], 867 void add_expected_results_to_json_summary(const char testName[],
866 Expectations expectations) { 868 Expectations expectations) {
867 this->fJsonExpectedResults[testName] = expectations.asJsonValue(); 869 this->fJsonExpectedResults[testName] = expectations.asJsonValue();
868 } 870 }
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after
2296 if (FLAGS_forceBWtext) { 2298 if (FLAGS_forceBWtext) {
2297 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); 2299 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref();
2298 } 2300 }
2299 } 2301 }
2300 2302
2301 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) 2303 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
2302 int main(int argc, char * const argv[]) { 2304 int main(int argc, char * const argv[]) {
2303 return tool_main(argc, (char**) argv); 2305 return tool_main(argc, (char**) argv);
2304 } 2306 }
2305 #endif 2307 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698