* @param dta the data to store with the key
* @param dtalen the length of the data to store with the key
* @param flags the flags to store along with the key
- * @param exp the expiry time for the key
+ * @param exptime the expiry time for the key
*/
static void storage_command(command *cmd,
uint8_t cc,
const void* dta,
size_t dtalen,
uint32_t flags,
- uint32_t exp)
+ uint32_t exptime)
{
/* all of the storage commands use the same command layout */
protocol_binary_request_set *request= &cmd->set;
request->message.header.request.bodylen= (uint32_t)(keylen + 8 + dtalen);
request->message.header.request.opaque= 0xdeadbeef;
request->message.body.flags= flags;
- request->message.body.expiration= exp;
+ request->message.body.expiration= exptime;
off_t key_offset= sizeof (protocol_binary_request_no_extras) + 8;
memcpy(cmd->bytes + key_offset, key, keylen);
* @param keylen the number of bytes in the key
* @param delta the number to add/subtract
* @param initial the initial value if the key doesn't exist
- * @param exp when the key should expire if it isn't set
+ * @param exptime when the key should expire if it isn't set
*/
static void arithmetic_command(command *cmd,
uint8_t cc,
size_t keylen,
uint64_t delta,
uint64_t initial,
- uint32_t exp)
+ uint32_t exptime)
{
memset(cmd, 0, sizeof (cmd->incr));
cmd->incr.message.header.request.magic= PROTOCOL_BINARY_REQ;
cmd->incr.message.header.request.opaque= 0xdeadbeef;
cmd->incr.message.body.delta= htonll(delta);
cmd->incr.message.body.initial= htonll(initial);
- cmd->incr.message.body.expiration= htonl(exp);
+ cmd->incr.message.body.expiration= htonl(exptime);
off_t key_offset= sizeof (protocol_binary_request_no_extras) + 20;
memcpy(cmd->bytes + key_offset, key, keylen);
#define validate_response_header(a,b,c) \
do_validate_response_header(a,b,c) == TEST_PASS
-static enum test_return test_binary_noop(void)
+
+static enum test_return send_binary_noop(void)
{
command cmd;
- response rsp;
raw_command(&cmd, PROTOCOL_BINARY_CMD_NOOP, NULL, 0, NULL, 0);
execute(send_packet(&cmd));
+ return TEST_PASS;
+}
+
+static enum test_return receive_binary_noop(void)
+{
+ response rsp;
execute(recv_packet(&rsp));
verify(validate_response_header(&rsp, PROTOCOL_BINARY_CMD_NOOP,
PROTOCOL_BINARY_RESPONSE_SUCCESS));
return TEST_PASS;
}
+static enum test_return test_binary_noop(void)
+{
+ execute(send_binary_noop());
+ execute(receive_binary_noop());
+ return TEST_PASS;
+}
+
static enum test_return test_binary_quit_impl(uint8_t cc)
{
command cmd;
raw_command(&cmd, cc, key, strlen(key), NULL, 0);
execute(send_packet(&cmd));
+ execute(send_binary_noop());
if (cc == PROTOCOL_BINARY_CMD_GET || cc == PROTOCOL_BINARY_CMD_GETK)
{
execute(recv_packet(&rsp));
verify(validate_response_header(&rsp, cc, PROTOCOL_BINARY_RESPONSE_KEY_ENOENT));
}
- else
- execute(test_binary_noop());
+
+ execute(receive_binary_noop());
execute(binary_set_item(key, key));
execute(resend_packet(&cmd));
+ execute(send_binary_noop());
+
execute(recv_packet(&rsp));
verify(validate_response_header(&rsp, cc, PROTOCOL_BINARY_RESPONSE_SUCCESS));
+ execute(receive_binary_noop());
return TEST_PASS;
}
return TEST_PASS;
}
-static enum test_return test_binary_illegal(void)
-{
- command cmd;
- response rsp;
- uint8_t cc= 0x1b;
-
- while (cc != 0x00)
- {
- raw_command(&cmd, cc, NULL, 0, NULL, 0);
- execute(send_packet(&cmd));
- execute(recv_packet(&rsp));
- verify(validate_response_header(&rsp, cc, PROTOCOL_BINARY_RESPONSE_UNKNOWN_COMMAND));
- ++cc;
- }
-
- return TEST_PASS_RECONNECT;
-}
-
static enum test_return send_string(const char *cmd)
{
execute(retry_write(cmd, strlen(cmd)));
{
char buffer[80];
execute(receive_line(buffer, sizeof(buffer)));
- verify(strncmp(buffer, "ERROR\r\n", 7) == 0 ||
- strncmp(buffer, "CLIENT_ERROR:", 13) == 0 ||
- strncmp(buffer, "SERVER_ERROR:", 13) == 0);
+ verify(strncmp(buffer, "ERROR", 5) == 0 ||
+ strncmp(buffer, "CLIENT_ERROR", 12) == 0 ||
+ strncmp(buffer, "SERVER_ERROR", 12) == 0);
return TEST_PASS;
}
{ "binary prepend", test_binary_prepend },
{ "binary prependq", test_binary_prependq },
{ "binary stat", test_binary_stat },
- { "binary illegal", test_binary_illegal },
{ NULL, NULL}
};