aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/testing
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-07-25 10:14:24 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-07-25 10:23:11 -0700
commit0584b943f4eca8a5761480ebb524c930aa808f0d (patch)
treea3a2a611af1c6089add18f3c7e8e10bb60363ca9 /tensorflow/contrib/lite/testing
parent67b9e8eafd826d3f430eb7f6780e815fcac5859e (diff)
An ErrorReporter to be used in tests.
PiperOrigin-RevId: 206012444
Diffstat (limited to 'tensorflow/contrib/lite/testing')
-rw-r--r--tensorflow/contrib/lite/testing/BUILD4
-rw-r--r--tensorflow/contrib/lite/testing/util.h31
2 files changed, 35 insertions, 0 deletions
diff --git a/tensorflow/contrib/lite/testing/BUILD b/tensorflow/contrib/lite/testing/BUILD
index 6c7f494e9b..8a2705950d 100644
--- a/tensorflow/contrib/lite/testing/BUILD
+++ b/tensorflow/contrib/lite/testing/BUILD
@@ -210,6 +210,10 @@ cc_library(
cc_library(
name = "util",
hdrs = ["util.h"],
+ deps = [
+ "//tensorflow/contrib/lite:framework",
+ "//tensorflow/contrib/lite:string",
+ ],
)
cc_test(
diff --git a/tensorflow/contrib/lite/testing/util.h b/tensorflow/contrib/lite/testing/util.h
index 6d20aec141..8aa639157b 100644
--- a/tensorflow/contrib/lite/testing/util.h
+++ b/tensorflow/contrib/lite/testing/util.h
@@ -15,8 +15,39 @@ limitations under the License.
#ifndef TENSORFLOW_CONTRIB_LITE_TESTING_UTIL_H_
#define TENSORFLOW_CONTRIB_LITE_TESTING_UTIL_H_
+#include <cstdio>
+
+#include "tensorflow/contrib/lite/error_reporter.h"
+#include "tensorflow/contrib/lite/string.h"
+
namespace tflite {
+// An ErrorReporter that collects error message in a string, in addition
+// to printing to stderr.
+class TestErrorReporter : public ErrorReporter {
+ public:
+ int Report(const char* format, va_list args) override {
+ char buffer[1024];
+ int size = vsnprintf(buffer, sizeof(buffer), format, args);
+ fprintf(stderr, "%s", buffer);
+ error_messages_ += buffer;
+ num_calls_++;
+ return size;
+ }
+
+ void Reset() {
+ num_calls_ = 0;
+ error_messages_.clear();
+ }
+
+ int num_calls() const { return num_calls_; }
+ const string& error_messages() const { return error_messages_; }
+
+ private:
+ int num_calls_ = 0;
+ string error_messages_;
+};
+
inline void LogToStderr() {
#ifdef PLATFORM_GOOGLE
FLAGS_logtostderr = true;