memcached: change tests to key based on cpu architecture.

db4
John Benediktsson 2011-09-01 21:26:09 -07:00
parent e17c1483b2
commit 91e043de68
2 changed files with 66 additions and 51 deletions

View File

@ -1,15 +1,20 @@
! Copyright (C) 2010 John Benediktsson ! Copyright (C) 2010 John Benediktsson
! See http://factorcode.org/license.txt for BSD license ! See http://factorcode.org/license.txt for BSD license
USING: calendar math math.functions memcached memcached.private USING: arrays assocs calendar math math.functions memcached
kernel sequences threads tools.test ; memcached.private kernel present sequences system threads
tools.test ;
IN: memcached.tests IN: memcached.tests
<PRIVATE <PRIVATE
: not-found? ( quot -- ) : not-found? ( quot -- )
[ "key not found" = ] must-fail-with ; [ key-not-found? ] must-fail-with ;
: x ( -- str ) cpu present "-x" append ;
: y ( -- str ) cpu present "-y" append ;
: z ( -- str ) cpu present "-z" append ;
PRIVATE> PRIVATE>
@ -18,79 +23,80 @@ PRIVATE>
! test simple set get ! test simple set get
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "valuex" "x" m/set ] with-memcached [ "valuex" x m/set ] with-memcached
[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "valuex" ] [ [ x m/get ] with-memcached ] unit-test
! test flush ! test flush
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "valuex" "x" m/set "valuey" "y" m/set ] with-memcached [ "valuex" x m/set "valuey" y m/set ] with-memcached
[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "valuex" ] [ [ x m/get ] with-memcached ] unit-test
[ "valuey" ] [ [ "y" m/get ] with-memcached ] unit-test [ "valuey" ] [ [ y m/get ] with-memcached ] unit-test
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ [ "x" m/get ] with-memcached ] not-found? [ [ x m/get ] with-memcached ] not-found?
[ [ "y" m/get ] with-memcached ] not-found? [ [ y m/get ] with-memcached ] not-found?
! test noop ! test noop
[ m/noop ] with-memcached [ m/noop ] with-memcached
! test delete ! test delete
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "valuex" "x" m/set ] with-memcached [ "valuex" x m/set ] with-memcached
[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "valuex" ] [ [ x m/get ] with-memcached ] unit-test
[ "x" m/delete ] with-memcached [ x m/delete ] with-memcached
[ [ "x" m/get ] with-memcached ] not-found? [ [ x m/get ] with-memcached ] not-found?
! test replace ! test replace
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ [ "x" m/get ] with-memcached ] not-found? [ [ x m/get ] with-memcached ] not-found?
[ [ "ex" "x" m/replace ] with-memcached ] not-found? [ [ "ex" x m/replace ] with-memcached ] not-found?
[ "ex" "x" m/add ] with-memcached [ "ex" x m/add ] with-memcached
[ "ex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "ex" ] [ [ x m/get ] with-memcached ] unit-test
[ "ex2" "x" m/replace ] with-memcached [ "ex2" x m/replace ] with-memcached
[ "ex2" ] [ [ "x" m/get ] with-memcached ] unit-test [ "ex2" ] [ [ x m/get ] with-memcached ] unit-test
! test incr ! test incr
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ 0 ] [ [ "x" m/incr ] with-memcached ] unit-test [ 0 ] [ [ x m/incr ] with-memcached ] unit-test
[ 1 ] [ [ "x" m/incr ] with-memcached ] unit-test [ 1 ] [ [ x m/incr ] with-memcached ] unit-test
[ 212 ] [ [ 211 "x" m/incr-val ] with-memcached ] unit-test [ 212 ] [ [ 211 x m/incr-val ] with-memcached ] unit-test
[ 8589934804 ] [ [ 2 33 ^ "x" m/incr-val ] with-memcached ] unit-test [ 8589934804 ] [ [ 2 33 ^ x m/incr-val ] with-memcached ] unit-test
! test decr ! test decr
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "5" "x" m/set ] with-memcached [ "5" x m/set ] with-memcached
[ 4 ] [ [ "x" m/decr ] with-memcached ] unit-test [ 4 ] [ [ x m/decr ] with-memcached ] unit-test
[ 0 ] [ [ 211 "x" m/decr-val ] with-memcached ] unit-test [ 0 ] [ [ 211 x m/decr-val ] with-memcached ] unit-test
! test timebombed flush ! test timebombed flush
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ [ "x" m/get ] with-memcached ] not-found? [ [ x m/get ] with-memcached ] not-found?
[ "valuex" "x" m/set ] with-memcached [ "valuex" x m/set ] with-memcached
[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "valuex" ] [ [ x m/get ] with-memcached ] unit-test
[ 2 m/flush-later ] with-memcached [ 2 m/flush-later ] with-memcached
[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test [ "valuex" ] [ [ x m/get ] with-memcached ] unit-test
3 seconds sleep 3 seconds sleep
[ [ "x" m/get ] with-memcached ] not-found? [ [ x m/get ] with-memcached ] not-found?
! test append ! test append
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "some" "x" m/set ] with-memcached [ "some" x m/set ] with-memcached
[ "thing" "x" m/append ] with-memcached [ "thing" x m/append ] with-memcached
[ "something" ] [ [ "x" m/get ] with-memcached ] unit-test [ "something" ] [ [ x m/get ] with-memcached ] unit-test
! test prepend ! test prepend
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ "some" "x" m/set ] with-memcached [ "some" x m/set ] with-memcached
[ "thing" "x" m/prepend ] with-memcached [ "thing" x m/prepend ] with-memcached
[ "thingsome" ] [ [ "x" m/get ] with-memcached ] unit-test [ "thingsome" ] [ [ x m/get ] with-memcached ] unit-test
! test multi-get ! test multi-get
[ m/flush ] with-memcached [ m/flush ] with-memcached
[ H{ } ] [ [ { "x" "y" "z" } m/getseq ] with-memcached ] unit-test [ H{ } ] [ [ x y z 3array m/getseq ] with-memcached ] unit-test
[ "5" "x" m/set ] with-memcached [ "5" x m/set ] with-memcached
[ "valuex" "y" m/set ] with-memcached [ "valuex" y m/set ] with-memcached
[ H{ { "x" "5" } { "y" "valuex" } } ] [ { "5" "valuex" } ] [
[ [ { "x" "y" "z" } m/getseq ] with-memcached ] unit-test [ x y z 3array m/getseq values ] with-memcached
] unit-test

View File

@ -21,6 +21,15 @@ SYMBOL: memcached-server
memcached-server get-global memcached-server get-global
binary [ call ] with-client ; inline binary [ call ] with-client ; inline
ERROR: key-not-found ;
ERROR: key-exists ;
ERROR: value-too-large ;
ERROR: invalid-arguments ;
ERROR: item-not-stored ;
ERROR: value-not-numeric ;
ERROR: unknown-command ;
ERROR: out-of-memory ;
<PRIVATE <PRIVATE
! Commands ! Commands
@ -103,14 +112,14 @@ TUPLE: request cmd key val extra opaque cas ;
: check-status ( header -- ) : check-status ( header -- )
[ 5 ] dip nth { [ 5 ] dip nth {
{ NOT_FOUND [ "key not found" throw ] } { NOT_FOUND [ key-not-found ] }
{ EXISTS [ "key exists" throw ] } { EXISTS [ key-exists ] }
{ TOO_LARGE [ "value too large" throw ] } { TOO_LARGE [ value-too-large ] }
{ INVALID_ARGS [ "invalid arguments" throw ] } { INVALID_ARGS [ invalid-arguments ] }
{ NOT_STORED [ "item not stored" throw ] } { NOT_STORED [ item-not-stored ] }
{ NOT_NUMERIC [ "value not numeric" throw ] } { NOT_NUMERIC [ value-not-numeric ] }
{ UNKNOWN_CMD [ "unknown command" throw ] } { UNKNOWN_CMD [ unknown-command ] }
{ MEMORY [ "out of memory" throw ] } { MEMORY [ out-of-memory ] }
[ drop ] [ drop ]
} case ; } case ;