jenkins-promote-staging-trunk-libmemcached-9
[m6w6/libmemcached] / libtest / vchar.cc
index 779cfbba065cf810f6b7b403803ecfd1c76c2cc0..0020999794dcca1f38a4571ce92944ee8bcbc686 100644 (file)
@@ -19,6 +19,7 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <config.h>
 #include <libtest/common.h>
 
 namespace libtest {
@@ -41,6 +42,38 @@ static std::string printer(const char *str, size_t length)
   return buf.str();
 }
 
+namespace vchar {
+
+int compare(libtest::vchar_t& arg, const char *str, size_t length)
+{
+  if (arg.size() == length and (memcmp(&arg[0], str, length) == 0))
+  {
+    return 0;
+  }
+  else if (arg.size() > length)
+  {
+    return 1;
+  }
+
+  return -1;
+}
+
+void make(libtest::vchar_t& arg)
+{
+  size_t length= rand() % 1024;
+  make(arg, length);
+}
+
+void make(libtest::vchar_t& arg, size_t length)
+{
+  for (uint32_t x= 0; x < length; x++)
+  {
+    arg.push_back(char(x % 127));
+  }
+}
+
+} // namespace vchar
+
 void make_vector(libtest::vchar_t& arg, const char *str, size_t length)
 {
   arg.resize(length);