Merge working tree with build tree.
[m6w6/libmemcached] / tests / runner.h
index 82e69fda4016e1cd7ecaef85d1521796835fe7be..6c7eaaff91c07017466362891592ff909cf146ea 100644 (file)
@@ -38,6 +38,8 @@
 
 #pragma once
 
+#include "tests/libmemcached-1.0/generate.h"
+
 class LibmemcachedRunner : public libtest::Runner {
 public:
   test_return_t run(test_callback_fn* func, void *object)
@@ -45,6 +47,20 @@ public:
     return _runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object);
   }
 
+  test_return_t flush(void* arg)
+  {
+    return flush((libmemcached_test_container_st*)arg);
+  }
+
+  test_return_t flush(libmemcached_test_container_st *container)
+  {
+    test_true(container->memc);
+    memcached_flush(container->memc, 0);
+    memcached_quit(container->memc);
+
+    return TEST_SUCCESS;
+  }
+
   test_return_t pre(test_callback_fn* func, void *object)
   {
     return _pre_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object);
@@ -82,6 +98,8 @@ private:
 
   test_return_t _pre_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container)
   {
+    test_compare(true, check());
+
     if (func)
     {
       return func(container->parent);
@@ -92,6 +110,9 @@ private:
 
   test_return_t _post_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container)
   {
+    test_compare(true, check());
+    cleanup_pairs(NULL);
+
     if (func)
     {
       return func(container->parent);