Merge branch 'catch' into v1.x
[m6w6/libmemcached] / src / bin / memcapable.cc
index 6ae0aeea1ee56bd4cea07e4d5313ef293c998a09..33d9348518490ec44300435038bafa505cfc4b51 100644 (file)
@@ -212,7 +212,7 @@ static ssize_t timeout_io_op(memcached_socket_t fd, short direction, void *buf,
     ret= recv(fd, buf, len, 0);
   }
 
-  if (ret == SOCKET_ERROR && get_socket_errno() == EWOULDBLOCK) 
+  if (ret == SOCKET_ERROR && get_socket_errno() == EWOULDBLOCK)
   {
     struct pollfd fds;
     memset(&fds, 0, sizeof(struct pollfd));
@@ -1262,13 +1262,15 @@ static enum test_return receive_error_response(void)
 
 static enum test_return test_ascii_quit(void)
 {
-  /* Verify that quit handles unknown options */
-  execute(send_string("quit foo bar\r\n"));
-  execute(receive_error_response());
+  if (!v16x_or_greater) {
+    /* Verify that quit handles unknown options */
+    execute(send_string("quit foo bar\r\n"));
+    execute(receive_error_response());
 
-  /* quit doesn't support noreply */
-  execute(send_string("quit noreply\r\n"));
-  execute(receive_error_response());
+    /* quit doesn't support noreply */
+    execute(send_string("quit noreply\r\n"));
+    execute(receive_error_response());
+  }
 
   /* Verify that quit works */
   execute(send_string("quit\r\n"));
@@ -1288,8 +1290,8 @@ static enum test_return test_ascii_version(void)
   execute(receive_line(buffer, sizeof(buffer)));
   verify(strncmp(buffer, "VERSION ", 8) == 0);
 
-  char *version = &buffer[sizeof("VERSION") + 2];
-  if (version[0] >= '1' || (version[0] == '1' && version[2] >= '6')) {
+  char *version = &buffer[sizeof("VERSION")];
+  if (version[0] > '1' || (version[0] == '1' && version[2] >= '6')) {
     v16x_or_greater = true;
   }
 
@@ -2024,8 +2026,8 @@ struct testcase
 };
 
 struct testcase testcases[]= {
-  { "ascii quit", test_ascii_quit },
   { "ascii version", test_ascii_version },
+  { "ascii quit", test_ascii_quit },
   { "ascii verbosity", test_ascii_verbosity },
   { "ascii set", test_ascii_set },
   { "ascii set noreply", test_ascii_set_noreply },