Update to support new warnings.
[m6w6/libmemcached] / libtest / collection.h
index 044acf036b4db7c6fca3d5494f5f6992117c1ab5..bc879e3091d79f94592613b6c049c6c5f859b2f6 100644 (file)
 
 #pragma once
 
+#include <libtest/formatter.hpp>
+
+#include <libtest/timer.hpp>
+
+namespace { class Framework; }
+
+
 /**
   A structure which describes a collection of test cases.
 */
@@ -46,4 +53,56 @@ struct collection_st {
   struct test_st *tests;
 };
 
+namespace libtest {
+
+class Collection {
+public:
+  Collection(libtest::Framework*, collection_st*);
+
+  test_return_t exec();
+
+  const char* name()
+  {
+    return _name.c_str();
+  }
+
+  uint32_t success()
+  {
+    return _success;
+  }
+
+  uint32_t skipped()
+  {
+    return _skipped;
+  }
+
+  uint32_t failed()
+  {
+    return _failed;
+  }
+
+  uint32_t total()
+  {
+    return _total;
+  }
+
+  libtest::Formatter* formatter()
+  {
+    return &_formatter;
+  }
+
+private:
+  std::string _name;
+  test_callback_fn *_pre;
+  test_callback_fn *_post;
+  struct test_st *_tests;
+  libtest::Framework* _frame;
+  uint32_t _success;
+  uint32_t _skipped;
+  uint32_t _failed;
+  uint32_t _total;
+  libtest::Timer _timer;
+  libtest::Formatter _formatter;
+};
 
+} // namespace libtest