diff --git a/test/memcached/expirations.test b/test/memcached/expirations.test index c941333f8fa1a538ef4ce59603fb7c236c419f39..5197d08aa7756a9c7209aa1aeaade2964911db3a 100644 --- a/test/memcached/expirations.test +++ b/test/memcached/expirations.test @@ -1,5 +1,24 @@ # encoding: tarantool import time +import yaml + +################################### +def wait_for_next_lsn(lsn, serv): + serv_admin = serv.admin + while True: + if get_lsn(serv) != lsn: + return lsn + time.sleep(0.01) + +def get_lsn(serv): + serv_admin = serv.admin + resp = exec serv_admin silent "lua box.info.lsn" + return yaml.load(resp)[0] + +def wait(serv = server): + lsn = get_lsn(serv) + return wait_for_next_lsn(lsn, serv) +################################### print """# expire: after 1 second""" @@ -9,7 +28,7 @@ exec memcached "set foo 0 1 6\r\nfooval\r\n" print """# foo shoud be exists""" exec memcached "get foo\r\n" -time.sleep(1.5) +wait() print """# foo shoud expired""" exec memcached "get foo\r\n" @@ -33,11 +52,10 @@ exec memcached silent "set foo 0 %d 6\r\nfooval\r\n" % expire print """# foo shoud be exists""" exec memcached "get foo\r\n" -time.sleep(2.2) +wait() print """# foo shoud expired""" exec memcached "get foo\r\n" - print """# expire: time - 20 second""" expire = time.time() - 20 @@ -47,7 +65,6 @@ exec memcached silent "set boo 0 %d 6\r\nbooval\r\n" % expire print """# foo shoud expired""" exec memcached "get boo\r\n" - print """# expire: after 2 second""" print """# add add""" @@ -56,7 +73,7 @@ exec memcached "add add 0 1 6\r\naddval\r\n" print """# readd add - shoud be fail""" exec memcached "add add 0 1 7\r\naddval1\r\n" -time.sleep(2.2) +wait() print """# readd add - shoud be success""" exec memcached "add add 0 1 7\r\naddval2\r\n" diff --git a/test/memcached/flush-all.result b/test/memcached/flush-all.result index 6722b889b4bca9cdbb3583ef7ea9bc1277ad468f..245d0f0f7421ceaef53c819f28dc51c2f9dd1bc0 100644 --- a/test/memcached/flush-all.result +++ b/test/memcached/flush-all.result @@ -19,7 +19,7 @@ VALUE foo 0 3 new END # and the other form, specifying a flush_all time... -flush_all time + 2 +flush_all time + 1 OK get foo diff --git a/test/memcached/flush-all.test b/test/memcached/flush-all.test index d7957749b7e09376e59b68c8558c1002d8a95ac2..41693ed020500708599c612e9e19197ad75a935e 100644 --- a/test/memcached/flush-all.test +++ b/test/memcached/flush-all.test @@ -1,5 +1,20 @@ # encoding: tarantool import time +import yaml + +################################### +def get_memcached_len(serv): + serv_admin = serv.admin + resp = exec serv_admin silent "lua box.space[box.cfg.memcached_space]:len()" + return yaml.load(resp)[0] + +def wait_for_empty_space(serv = server): + serv_admin = serv.admin + while True: + if get_memcached_len(serv) == 0: + return + time.sleep(0.01) +################################### print """# Test flush_all with zero delay. """ exec memcached "set foo 0 0 6\r\nfooval\r\n" @@ -12,14 +27,14 @@ exec memcached "set foo 0 0 3\r\nnew\r\n" exec memcached "get foo\r\n" print """# and the other form, specifying a flush_all time... """ -expire = time.time() + 2 -print "flush_all time + 2" +expire = time.time() + 1 +print "flush_all time + 1" print exec memcached silent "flush_all %d\r\n" % expire exec memcached "get foo\r\n" exec memcached "set foo 0 0 3\r\n123\r\n" exec memcached "get foo\r\n" -time.sleep(2.2) +wait_for_empty_space() exec memcached "get foo\r\n" # resore default suite config diff --git a/test/replication/memcached.test b/test/replication/memcached.test index 691e40a4eb7602b0ffc31ac32f606ce38fb3b5d2..0152df2e3cd20200b7f89813956dfe3cd8c5e15f 100644 --- a/test/replication/memcached.test +++ b/test/replication/memcached.test @@ -1,7 +1,7 @@ # encoding: tarantool +import os import sys import time -import os import yaml from lib.memcached_connection import MemcachedConnection @@ -101,14 +101,14 @@ exec replica_memcached "get 10\r\n" print """# check that expiration is working properly on replica""" -exec master_memcached silent "set 1 0 3 %d\r\n%s\r\n" % (len(sonet[0]), sonet[0]) +exec master_memcached silent "set 1 0 1 %d\r\n%s\r\n" % (len(sonet[0]), sonet[0]) wait() exec replica_memcached "get 1\r\n" wait(True) exec replica_memcached "get 1\r\n" print """# check that expiration is working properly, when replica becomes master""" -exec master_memcached silent "set 1 0 3 %d\r\n%s\r\n" % (len(sonet[0]), sonet[0]) +exec master_memcached silent "set 1 0 1 %d\r\n%s\r\n" % (len(sonet[0]), sonet[0]) replica.reconfigure("replication/cfg/replica_to_master.cfg") exec replica_memcached "get 1\r\n" wait(True)