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 |