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

Unified Diff: tools/image_expectations.h

Issue 1416913003: Clean up some dead code. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: kill dump-record Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/flatten.cpp ('k') | tools/image_expectations.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/image_expectations.h
diff --git a/tools/image_expectations.h b/tools/image_expectations.h
deleted file mode 100644
index a72d7a2c4673433dcb8cb8553ab9161e350761b0..0000000000000000000000000000000000000000
--- a/tools/image_expectations.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright 2014 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef image_expectations_DEFINED
-#define image_expectations_DEFINED
-
-#include "SkBitmap.h"
-#include "SkJSONCPP.h"
-#include "SkOSFile.h"
-
-namespace sk_tools {
-
- /**
- * The digest of an image (either an image we have generated locally, or an image expectation).
- *
- * Currently, this is always a uint64_t hash digest of an SkBitmap.
- */
- class ImageDigest {
- public:
- /**
- * Create an ImageDigest of a bitmap.
- *
- * Computes the hash of the bitmap lazily, since that is an expensive operation.
- *
- * @param bitmap image to get the digest of
- */
- explicit ImageDigest(const SkBitmap &bitmap);
-
- /**
- * Create an ImageDigest using a hashType/hashValue pair.
- *
- * @param hashType the algorithm used to generate the hash; for now, only
- * kJsonValue_Image_ChecksumAlgorithm_Bitmap64bitMD5 is allowed.
- * @param hashValue the value generated by the hash algorithm for a particular image.
- */
- explicit ImageDigest(const SkString &hashType, uint64_t hashValue);
-
- /**
- * Returns true iff this and other ImageDigest represent identical images.
- */
- bool equals(ImageDigest &other);
-
- /**
- * Returns the hash digest type as an SkString.
- *
- * For now, this always returns kJsonValue_Image_ChecksumAlgorithm_Bitmap64bitMD5 .
- */
- SkString getHashType();
-
- /**
- * Returns the hash digest value as a uint64_t.
- *
- * Since the hash is computed lazily, this may take some time, and it may modify
- * some fields on this object.
- */
- uint64_t getHashValue();
-
- private:
- const SkBitmap fBitmap;
- uint64_t fHashValue;
- bool fComputedHashValue;
- };
-
- /**
- * Container that holds a reference to an SkBitmap and its ImageDigest.
- */
- class BitmapAndDigest {
- public:
- explicit BitmapAndDigest(const SkBitmap &bitmap);
-
- const SkBitmap *getBitmapPtr() const;
-
- /**
- * Returns a pointer to the ImageDigest.
- *
- * Since the hash is computed lazily within the ImageDigest object, we cannot mandate
- * that it be held const.
- */
- ImageDigest *getImageDigestPtr();
- private:
- const SkBitmap fBitmap;
- ImageDigest fImageDigest;
- };
-
- /**
- * Expected test result: expected image (if any), and whether we want to ignore failures on
- * this test or not.
- *
- * This is just an ImageDigest (or lack thereof, if there is no expectation) and a boolean
- * telling us whether to ignore failures.
- */
- class Expectation {
- public:
- /**
- * No expectation at all.
- */
- explicit Expectation(bool ignoreFailure=kDefaultIgnoreFailure);
-
- /**
- * Expect an image, passed as hashType/hashValue.
- */
- explicit Expectation(const SkString &hashType, uint64_t hashValue,
- bool ignoreFailure=kDefaultIgnoreFailure);
-
- /**
- * Expect an image, passed as a bitmap.
- */
- explicit Expectation(const SkBitmap& bitmap,
- bool ignoreFailure=kDefaultIgnoreFailure);
-
- /**
- * Returns true iff we want to ignore failed expectations.
- */
- bool ignoreFailure() const;
-
- /**
- * Returns true iff there are no allowed results.
- */
- bool empty() const;
-
- /**
- * Returns true iff we are expecting a particular image, and imageDigest matches it.
- *
- * If empty() returns true, this will return false.
- *
- * If this expectation DOES contain an image, and imageDigest doesn't match it,
- * this method will return false regardless of what ignoreFailure() would return.
- * (The caller can check that separately.)
- */
- bool matches(ImageDigest &imageDigest);
-
- private:
- static const bool kDefaultIgnoreFailure = false;
-
- const bool fIsEmpty;
- const bool fIgnoreFailure;
- ImageDigest fImageDigest; // cannot be const, because it computes its hash lazily
- };
-
- /**
- * Collects ImageDigests of actually rendered images, perhaps comparing to expectations.
- */
- class ImageResultsAndExpectations {
- public:
- /**
- * Adds expectations from a JSON file, returning true if successful.
- *
- * If the file exists but is empty, it succeeds, and there will be no expectations.
- * If the file does not exist, this will fail.
- *
- * Reasoning:
- * Generating expectations the first time can be a tricky chicken-and-egg
- * proposition. "I need actual results to turn into expectations... but the only
- * way to get actual results is to run the tool, and the tool won't run without
- * expectations!"
- * We could make the tool run even if there is no expectations file at all, but it's
- * better for the tool to fail if the expectations file is not found--that will tell us
- * quickly if files are not being copied around as they should be.
- * Creating an empty file is an easy way to break the chicken-and-egg cycle and generate
- * the first real expectations.
- */
- bool readExpectationsFile(const char *jsonPath);
-
- /**
- * Adds this image to the summary of results.
- *
- * @param sourceName name of the source file that generated this result
- * @param fileName relative path to the image output file on local disk
- * @param digest description of the image's contents
- * @param tileNumber if not nullptr, pointer to tile number
- */
- void add(const char *sourceName, const char *fileName, ImageDigest &digest,
- const int *tileNumber=nullptr);
-
- /**
- * Adds a key/value pair to the descriptions dict within the summary of results.
- *
- * @param key key within the descriptions dict
- * @param value value to associate with that key
- */
- void addDescription(const char *key, const char *value);
-
- /**
- * Adds the image base Google Storage URL to the summary of results.
- *
- * @param imageBaseGSUrl the image base Google Storage URL
- */
- void setImageBaseGSUrl(const char *imageBaseGSUrl);
-
- /**
- * Returns the Expectation for this test.
- *
- * @param sourceName name of the source file that generated this result
- * @param tileNumber if not nullptr, pointer to tile number
- *
- * TODO(stephana): To make this work for GMs, we will need to add parameters for
- * config, and maybe renderMode/builder?
- */
- Expectation getExpectation(const char *sourceName, const int *tileNumber=nullptr);
-
- /**
- * Writes the summary (as constructed so far) to a file.
- *
- * @param filename path to write the summary to
- */
- void writeToFile(const char *filename) const;
-
- private:
-
- /**
- * Read the file contents from filePtr and parse them into jsonRoot.
- *
- * It is up to the caller to close filePtr after this is done.
- *
- * Returns true if successful.
- */
- static bool Parse(SkFILE* filePtr, Json::Value *jsonRoot);
-
- Json::Value fActualResults;
- Json::Value fDescriptions;
- Json::Value fExpectedJsonRoot;
- Json::Value fExpectedResults;
- Json::Value fImageBaseGSUrl;
- };
-
-} // namespace sk_tools
-
-#endif // image_expectations_DEFINED
« no previous file with comments | « tools/flatten.cpp ('k') | tools/image_expectations.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698