diff options
author | Trond Norbye <Trond.Norbye@sun.com> | 2009-11-02 18:16:46 +0100 |
---|---|---|
committer | Dustin Sallings <dustin@spy.net> | 2009-11-02 09:54:37 -0800 |
commit | e24110a42dcf036f25e38211198c8a1f8f9590da (patch) | |
tree | 4da58b488e0d11ef65fc0fbba3ddb1304d46553b | |
parent | d9cd01ede97f4145af9781d448c62a3318952719 (diff) | |
download | memcached-e24110a42dcf036f25e38211198c8a1f8f9590da.tar.gz |
Extend test-case for 102 to verify that large multigets work1.4.3-rc2
-rw-r--r-- | testapp.c | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -552,6 +552,37 @@ static enum test_return test_issue_102(void) { assert(read(sock, buffer, sizeof(buffer)) == 0); close(sock); sock = connect_server("127.0.0.1", port, false); + + sprintf(buffer, "gets "); + size_t offset = 5; + while (offset < 4000) { + offset += sprintf(buffer + offset, "%010u ", (unsigned int)offset); + } + + send_ascii_command(buffer); + usleep(250); + + send_ascii_command("\r\n"); + char rsp[80]; + read_ascii_response(rsp, sizeof(rsp)); + assert(strncmp(rsp, "END", strlen("END")) == 0); + buffer[3]= ' '; + send_ascii_command(buffer); + usleep(250); + send_ascii_command("\r\n"); + read_ascii_response(rsp, sizeof(rsp)); + assert(strncmp(rsp, "END", strlen("END")) == 0); + + + memset(buffer, ' ', 101); + strcat(buffer + 101, "gets foo"); + send_ascii_command(buffer); + /* verify that the server closed the connection */ + assert(read(sock, buffer, sizeof(buffer)) == 0); + + close(sock); + sock = connect_server("127.0.0.1", port, false); + return TEST_PASS; } |