Gear6 Web Cache is "memcapable"
The Memcached developer Trond Norbye has released a tool called memcapable, which tests the correctness of an implementation of the Memcached wire protocol. His blog posts are here and here.
It is not yet rolled into the main Memcached tree, due to a build issue on RedHat machines, but it's still useable.
We promptly downloaded and ran memcapable against the Gear6 Web Cache.
The results?
$ ./memcapable -h qa-kbatten-10 -p 11211
ascii quit [pass]
ascii version [pass]
ascii verbosity [pass]
ascii set [pass]
ascii set noreply [pass]
ascii get [pass]
ascii gets [pass]
ascii mget [pass]
ascii flush [pass]
ascii flush noreply [pass]
ascii add [pass]
ascii add noreply [pass]
ascii replace [pass]
ascii replace noreply [pass]
ascii cas [pass]
ascii cas noreply [pass]
ascii delete [pass]
ascii delete noreply [pass]
ascii incr [pass]
ascii incr noreply [pass]
ascii decr [pass]
ascii decr noreply [pass]
ascii append [pass]
ascii append noreply [pass]
ascii prepend [pass]
ascii prepend noreply [pass]
ascii stat [pass]
binary noop [FAIL]
binary quit [FAIL]
binary quitq [FAIL]
binary set [FAIL]
binary setq [FAIL]
binary flush [FAIL]
binary flushq [FAIL]
binary add [FAIL]
binary addq [FAIL]
binary replace [FAIL]
binary replaceq [FAIL]
binary delete [FAIL]
binary deleteq [FAIL]
binary get [FAIL]
binary getq [FAIL]
binary getk [FAIL]
binary getkq [FAIL]
binary incr [FAIL]
binary incrq [FAIL]
binary decr [FAIL]
binary decrq [FAIL]
binary version [FAIL]
binary append [FAIL]
binary appendq [FAIL]
binary prepend [FAIL]
binary prependq [FAIL]
binary stat [FAIL]
binary illegal [FAIL]
28 of 55 tests failed
We pass all the ASCII protocol tests.
Of course, we fail all the binary protocol tests, but that is because we do not yet implement the Memcached binary protocol. Soon...
We are going to include the memcapable tool in our own QA test suite, just to make sure we never break the protocol or surprise anyone's client.
Good work, Trond!

Post new comment