diff --git a/extra/memcached/memcached-tests.factor b/extra/memcached/memcached-tests.factor index 17c93c281a..81986f5865 100644 --- a/extra/memcached/memcached-tests.factor +++ b/extra/memcached/memcached-tests.factor @@ -1,15 +1,20 @@ ! Copyright (C) 2010 John Benediktsson ! See http://factorcode.org/license.txt for BSD license -USING: calendar math math.functions memcached memcached.private -kernel sequences threads tools.test ; +USING: arrays assocs calendar math math.functions memcached +memcached.private kernel present sequences system threads +tools.test ; IN: memcached.tests @@ -18,79 +23,80 @@ PRIVATE> ! test simple set get [ m/flush ] with-memcached -[ "valuex" "x" m/set ] with-memcached -[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test +[ "valuex" x m/set ] with-memcached +[ "valuex" ] [ [ x m/get ] with-memcached ] unit-test ! test flush [ m/flush ] with-memcached -[ "valuex" "x" m/set "valuey" "y" m/set ] with-memcached -[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test -[ "valuey" ] [ [ "y" m/get ] with-memcached ] unit-test +[ "valuex" x m/set "valuey" y m/set ] with-memcached +[ "valuex" ] [ [ x m/get ] with-memcached ] unit-test +[ "valuey" ] [ [ y m/get ] with-memcached ] unit-test [ m/flush ] with-memcached -[ [ "x" m/get ] with-memcached ] not-found? -[ [ "y" m/get ] with-memcached ] not-found? +[ [ x m/get ] with-memcached ] not-found? +[ [ y m/get ] with-memcached ] not-found? ! test noop [ m/noop ] with-memcached ! test delete [ m/flush ] with-memcached -[ "valuex" "x" m/set ] with-memcached -[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test -[ "x" m/delete ] with-memcached -[ [ "x" m/get ] with-memcached ] not-found? +[ "valuex" x m/set ] with-memcached +[ "valuex" ] [ [ x m/get ] with-memcached ] unit-test +[ x m/delete ] with-memcached +[ [ x m/get ] with-memcached ] not-found? ! test replace [ m/flush ] with-memcached -[ [ "x" m/get ] with-memcached ] not-found? -[ [ "ex" "x" m/replace ] with-memcached ] not-found? -[ "ex" "x" m/add ] with-memcached -[ "ex" ] [ [ "x" m/get ] with-memcached ] unit-test -[ "ex2" "x" m/replace ] with-memcached -[ "ex2" ] [ [ "x" m/get ] with-memcached ] unit-test +[ [ x m/get ] with-memcached ] not-found? +[ [ "ex" x m/replace ] with-memcached ] not-found? +[ "ex" x m/add ] with-memcached +[ "ex" ] [ [ x m/get ] with-memcached ] unit-test +[ "ex2" x m/replace ] with-memcached +[ "ex2" ] [ [ x m/get ] with-memcached ] unit-test ! test incr [ m/flush ] with-memcached -[ 0 ] [ [ "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 -[ 8589934804 ] [ [ 2 33 ^ "x" m/incr-val ] with-memcached ] unit-test +[ 0 ] [ [ 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 +[ 8589934804 ] [ [ 2 33 ^ x m/incr-val ] with-memcached ] unit-test ! test decr [ m/flush ] with-memcached -[ "5" "x" m/set ] with-memcached -[ 4 ] [ [ "x" m/decr ] with-memcached ] unit-test -[ 0 ] [ [ 211 "x" m/decr-val ] with-memcached ] unit-test +[ "5" x m/set ] with-memcached +[ 4 ] [ [ x m/decr ] with-memcached ] unit-test +[ 0 ] [ [ 211 x m/decr-val ] with-memcached ] unit-test ! test timebombed flush [ m/flush ] with-memcached -[ [ "x" m/get ] with-memcached ] not-found? -[ "valuex" "x" m/set ] with-memcached -[ "valuex" ] [ [ "x" m/get ] with-memcached ] unit-test +[ [ x m/get ] with-memcached ] not-found? +[ "valuex" x m/set ] with-memcached +[ "valuex" ] [ [ x m/get ] with-memcached ] unit-test [ 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 -[ [ "x" m/get ] with-memcached ] not-found? +[ [ x m/get ] with-memcached ] not-found? ! test append [ m/flush ] with-memcached -[ "some" "x" m/set ] with-memcached -[ "thing" "x" m/append ] with-memcached -[ "something" ] [ [ "x" m/get ] with-memcached ] unit-test +[ "some" x m/set ] with-memcached +[ "thing" x m/append ] with-memcached +[ "something" ] [ [ x m/get ] with-memcached ] unit-test ! test prepend [ m/flush ] with-memcached -[ "some" "x" m/set ] with-memcached -[ "thing" "x" m/prepend ] with-memcached -[ "thingsome" ] [ [ "x" m/get ] with-memcached ] unit-test +[ "some" x m/set ] with-memcached +[ "thing" x m/prepend ] with-memcached +[ "thingsome" ] [ [ x m/get ] with-memcached ] unit-test ! test multi-get [ m/flush ] with-memcached -[ H{ } ] [ [ { "x" "y" "z" } m/getseq ] with-memcached ] unit-test -[ "5" "x" m/set ] with-memcached -[ "valuex" "y" m/set ] with-memcached -[ H{ { "x" "5" } { "y" "valuex" } } ] -[ [ { "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 +[ "valuex" y m/set ] with-memcached +[ { "5" "valuex" } ] [ + [ x y z 3array m/getseq values ] with-memcached +] unit-test diff --git a/extra/memcached/memcached.factor b/extra/memcached/memcached.factor index 12bf28b480..5604332f11 100644 --- a/extra/memcached/memcached.factor +++ b/extra/memcached/memcached.factor @@ -21,6 +21,15 @@ SYMBOL: memcached-server memcached-server get-global 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 ; +