[Tarantool-patches] [PATCH 1/6] test: support Python 3 and make quotes use consistent
Sergey Bronnikov
sergeyb at tarantool.org
Thu Dec 10 16:23:39 MSK 2020
Hello,
thanks for review
On 09.12.2020 18:58, Leonid Vasiliev wrote:
> Hi! Thank you for the patch!
> I regret the moment when I suggested at the same time reformat the code
> in accordance with the PEP8) (Many changes).
> But for tests, in my opinion it is normal. This is easy to check and
> can't introduce degradation.
> In addition, I think LGTM alone will be enough for such changes.
> And please remove the change in quotes for "tuple" in swap.test.py, it
> adds too many changes.
>
> So, see some comments below:
>
> On 07.12.2020 10:46, sergeyb at tarantool.org wrote:
>> From: Sergey Bronnikov <sergeyb at tarantool.org>
>>
>> - convert print statement to function. In a Python 3 'print' becomes a
>> function, see [1]. Patch makes 'print' in a regression tests
>> compatible with
>> Python 3.
>> - according to PEP8, mixing using double quotes and quotes in a
>> project looks
>> inconsistent (one must be selected). Patch makes using quotes with
>> strings
>> consistent.
>> - convert iteritems() to list
>
> 1) Looks like this can be moved to a separate commit.
moved to a separate commit
>
>> - print multiline strings with multiple print()
>> - use "format()" instead of "%" everywhere
>>
>> 1. https://docs.python.org/3/whatsnew/3.0.html#print-is-a-function
>>
>> Closes #5538
>> ---
>> test/app-tap/httpd.py | 42 +-
>> test/box-py/args.test.py | 14 +-
>> test/box-py/bad_trigger.result | 2 -
>> test/box-py/bad_trigger.test.py | 20 +-
>> test/box-py/bootstrap.result | 2 +-
>> test/box-py/bootstrap.test.py | 16 +-
>> test/box-py/call.result | 12 +-
>> test/box-py/call.test.py | 92 +-
>> test/box-py/iproto.result | 10 +-
>> test/box-py/iproto.test.py | 218 ++-
>> test/box-py/print.result | 6 +-
>> test/box-py/print.test.py | 24 +-
>> test/box-py/snapshot.result | 4 +-
>> test/box-py/snapshot.test.py | 33 +-
>> test/long_run-py/finalizers.result | 2 +-
>> test/long_run-py/finalizers.test.py | 8 +-
>> test/replication-py/cluster.result | 6 +-
>> test/replication-py/cluster.test.py | 217 +--
>> test/replication-py/conflict.test.py | 54 +-
>> test/replication-py/init_storage.test.py | 48 +-
>> test/replication-py/multi.test.py | 78 +-
>> test/replication-py/swap.result | 1600 +++++++++++-----------
>> test/replication-py/swap.test.py | 52 +-
>> test/xlog-py/big_lsn.test.py | 4 +-
>> test/xlog-py/dup_key.test.py | 17 +-
>> test/xlog-py/empty.test.py | 4 +-
>> test/xlog-py/lsn_gap.test.py | 10 +-
>> test/xlog-py/misc.test.py | 33 +-
>> test/xlog-py/missing.test.py | 10 +-
>> 29 files changed, 1324 insertions(+), 1314 deletions(-)
>>
>> diff --git a/test/app-tap/httpd.py b/test/app-tap/httpd.py
>> index b4662bc1f..b57ef1e39 100755
>> --- a/test/app-tap/httpd.py
>> +++ b/test/app-tap/httpd.py
>> @@ -6,35 +6,35 @@ from gevent import spawn, sleep, socket
>> def absent():
>> code = "500 Server Error"
>> - headers = [('Content-Type', 'application/json')]
>> + headers = [("Content-Type", "application/json")]
>> body = ["No such method"]
>> return code, body, headers
>> def hello():
>> code = "200 OK"
>> body = ["hello world"]
>> - headers = [('Content-Type', 'application/json')]
>> + headers = [("Content-Type", "application/json")]
>> return code, body, headers
>> def hello1():
>> code = "200 OK"
>> body = [b"abc"]
>> - headers = [('Content-Type', 'application/json')]
>> + headers = [("Content-Type", "application/json")]
>> return code, body, headers
>> def headers():
>> code = "200 OK"
>> body = [b"cookies"]
>> - headers = [('Content-Type', 'application/json'),
>> - ('Content-Type', 'application/yaml'),
>> - ('Set-Cookie', 'likes=cheese; Expires=Wed, 21 Oct
>> 2015 07:28:00 GMT; Secure; HttpOnly'),
>> - ('Set-Cookie', 'bad at name=no;'),
>> - ('Set-Cookie', 'badcookie'),
>> - ('Set-Cookie', 'good_name=yes;'),
>> - ('Set-Cookie', 'age = 17; NOSuchOption;
>> EmptyOption=Value;Secure'),
>> - ('my_header', 'value1'),
>> - ('my_header', 'value2'),
>> - ('very_very_very_long_headers_name1', 'true'),
>> + headers = [("Content-Type", "application/json"),
>> + ("Content-Type", "application/yaml"),
>> + ("Set-Cookie", "likes=cheese; Expires=Wed, 21 Oct
>> 2015 07:28:00 GMT; Secure; HttpOnly"),
>> + ("Set-Cookie", "bad at name=no;"),
>> + ("Set-Cookie", "badcookie"),
>> + ("Set-Cookie", "good_name=yes;"),
>> + ("Set-Cookie", "age = 17; NOSuchOption;
>> EmptyOption=Value;Secure"),
>> + ("my_header", "value1"),
>> + ("my_header", "value2"),
>> + ("very_very_very_long_headers_name1", "true"),
>> ]
>> return code, body, headers
>> @@ -42,13 +42,13 @@ def long_query():
>> sleep(0.005)
>> code = "200 OK"
>> body = [b"abc"]
>> - headers = [('Content-Type', 'application/json')]
>> + headers = [("Content-Type", "application/json")]
>> return code, body, headers
>> def redirect():
>> code = "302 Found"
>> body = ["redirecting"]
>> - headers = [('Location', '/')]
>> + headers = [("Location", "/")]
>> return code, body, headers
>> paths = {
>> @@ -63,7 +63,7 @@ paths = {
>> def read_handle(env, response):
>> code = "404 Not Found"
>> headers = []
>> - body = ['Not Found']
>> + body = ["Not Found"]
>> if env["PATH_INFO"] in paths:
>> code, body, headers = paths[env["PATH_INFO"]]()
>> for key,value in env.iteritems():
>> @@ -74,7 +74,7 @@ def read_handle(env, response):
>> def post_handle(env, response):
>> code = "200 OK"
>> - body = [env['wsgi.input'].read()]
>> + body = [env["wsgi.input"].read()]
>> headers = []
>> for key,value in env.iteritems():
>> if "HTTP_" in key:
>> @@ -83,7 +83,7 @@ def post_handle(env, response):
>> return body
>> def other_handle(env, response, method, code):
>> - headers = [('Content-Type', 'text/plain'), ("method", method)]
>> + headers = [("Content-Type", "text/plain"), ("method", method)]
>> body = [method]
>> for key,value in env.iteritems():
>> if "HTTP_" in key:
>> @@ -119,15 +119,15 @@ def heartbeat():
>> sys.exit(1)
>> def usage():
>> - sys.stderr.write("Usage: %s { --inet HOST:PORT | --unix PATH }\n" %
>> - sys.argv[0])
>> + message = "Usage: {} {{ --inet HOST:PORT | --unix PATH
>> }}\n".format(sys.argv[0])
>> + sys.stderr.write(message)
>> sys.exit(1)
>> if len(sys.argv) != 3:
>> usage()
>> if sys.argv[1] == "--inet":
>> - host, port = sys.argv[2].split(':')
>> + host, port = sys.argv[2].split(":")
>> sock_family = socket.AF_INET
>> sock_addr = (host, int(port))
>> elif sys.argv[1] == "--unix":
>> diff --git a/test/box-py/args.test.py b/test/box-py/args.test.py
>> index c0fac9038..f1b840a85 100644
>> --- a/test/box-py/args.test.py
>> +++ b/test/box-py/args.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import sys
>> import os
>> import re
>> @@ -5,7 +7,7 @@ import re
>> # Disabled on OpenBSD due to fail #XXXX.
>> import platform
>> -if platform.system() == 'OpenBSD':
>> +if platform.system() == "OpenBSD":
>> self.skip = 1
>> # mask BFD warnings:
>> https://bugs.launchpad.net/tarantool/+bug/1018356
>> @@ -13,9 +15,9 @@ sys.stdout.push_filter("unable to read unknown load
>> command 0x2\d+", "")
>> server.test_option("--help")
>> server.test_option("-h")
>> # Replace with the same value for case when builddir inside source dir
>> -sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")+'/src/tarantool'),
>> "tarantool")
>> +sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")+"/src/tarantool"),
>> "tarantool")
>> sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")),
>> "${SOURCEDIR}")
>> -sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")+'/src/tarantool'),
>> "tarantool")
>> +sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")+"/src/tarantool"),
>> "tarantool")
>> sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")),
>> "${SOURCEDIR}")
>> sys.stdout.push_filter("invalid option.*", "invalid option")
>> sys.stdout.push_filter("unrecognized option.*", "unrecognized option")
>> @@ -44,11 +46,11 @@ server.test_option(script + " --help 1 2 3")
>> server.test_option("-V " + script + " 1 2 3")
>> # gh-3966: os.exit() hangs if called by a command from the
>> argument list.
>> -server.test_option("-e \"print(1) os.exit() print(2)\"")
>> -server.test_option("-e \"print(1)\" -e \"os.exit()\" -e \"print(1)\"
>> -e \"os.exit()\" -e \"print(1)\"")
>> +server.test_option("-e 'print(1) os.exit() print(2)'")
>> +server.test_option("-e 'print(1)' -e 'os.exit()' -e 'print(1)' -e
>> 'os.exit()' -e 'print(1)'")
>> server.test_option("-e \"print('Hello')\" " + script + " 1 2 3")
>> -server.test_option("-e \"a = 10\" " + \
>> +server.test_option("-e 'a = 10' " + \
>> "-e print(a) " + \
>> script + \
>> " 1 2 3 --help")
>> diff --git a/test/box-py/bad_trigger.result
>> b/test/box-py/bad_trigger.result
>> index 5d064b764..42cd9a7e8 100644
>> --- a/test/box-py/bad_trigger.result
>> +++ b/test/box-py/bad_trigger.result
>> @@ -1,8 +1,6 @@
>> -
>> #
>> # if on_connect() trigger raises an exception, the connection is
>> dropped
>> #
>> -
>> nosuchfunction = nil
>> ---
>> ...
>> diff --git a/test/box-py/bad_trigger.test.py
>> b/test/box-py/bad_trigger.test.py
>> index 7d200b921..789fe8045 100644
>> --- a/test/box-py/bad_trigger.test.py
>> +++ b/test/box-py/bad_trigger.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> from lib.box_connection import BoxConnection
>> from lib.tarantool_connection import TarantoolConnection
>> from tarantool import NetworkError
>> @@ -6,11 +8,9 @@ from tarantool.const import IPROTO_GREETING_SIZE,
>> IPROTO_CODE, IPROTO_ERROR, \
>> import socket
>> import msgpack
>> -print """
>> - #
>> - # if on_connect() trigger raises an exception, the connection is
>> dropped
>> - #
>> - """
>> +print(" #")
>> +print(" # if on_connect() trigger raises an exception, the
>> connection is dropped")
>> +print(" #")
>> # silence possible error of strict mode
>> server.admin("nosuchfunction = nil")
>> @@ -24,12 +24,12 @@ conn.connect()
>> s = conn.socket
>> # Read greeting
>> -print 'greeting: ', len(s.recv(IPROTO_GREETING_SIZE)) ==
>> IPROTO_GREETING_SIZE
>> +print("greeting: {}".format(len(s.recv(IPROTO_GREETING_SIZE)) ==
>> IPROTO_GREETING_SIZE))
>> # Read error packet
>> IPROTO_FIXHEADER_SIZE = 5
>> fixheader = s.recv(IPROTO_FIXHEADER_SIZE)
>> -print 'fixheader: ', len(fixheader) == IPROTO_FIXHEADER_SIZE
>> +print("fixheader: {}".format(len(fixheader) == IPROTO_FIXHEADER_SIZE))
>> unpacker.feed(fixheader)
>> packet_len = unpacker.unpack()
>> packet = s.recv(packet_len)
>> @@ -38,9 +38,9 @@ unpacker.feed(packet)
>> # Parse packet
>> header = unpacker.unpack()
>> body = unpacker.unpack()
>> -print 'error code', (header[IPROTO_CODE] & (REQUEST_TYPE_ERROR - 1))
>> -print 'error message: ', body[IPROTO_ERROR]
>> -print 'eof:', len(s.recv(1024)) == 0
>> +print("error code {}".format((header[IPROTO_CODE] &
>> (REQUEST_TYPE_ERROR - 1))))
>> +print("error message: {}".format(body[IPROTO_ERROR]))
>> +print("eof: {}".format(len(s.recv(1024)) == 0))
>> s.close()
>> server.admin("box.session.on_connect(nil, f1)")
>> diff --git a/test/box-py/bootstrap.result b/test/box-py/bootstrap.result
>> index 0876e77a6..865302698 100644
>> --- a/test/box-py/bootstrap.result
>> +++ b/test/box-py/bootstrap.result
>> @@ -165,7 +165,7 @@ box.space._user:select{}
>> - [3, 1, 'replication', 'role', {}]
>> - [31, 1, 'super', 'role', {}]
>> ...
>> -for _, v in box.space._func:pairs{} do r = {} table.insert(r,
>> v:update({{"=", 18, ""}, {"=", 19, ""}})) return r end
>> +for _, v in box.space._func:pairs{} do r = {} table.insert(r,
>> v:update({{'=', 18, ''}, {'=', 19, ''}})) return r end
>> ---
>> - - [1, 1, 'box.schema.user.info', 1, 'LUA', '', 'function', [],
>> 'any', 'none', 'none',
>> false, false, true, ['LUA'], {}, '', '', '']
>> diff --git a/test/box-py/bootstrap.test.py
>> b/test/box-py/bootstrap.test.py
>> index 63c13e8a4..f7c846bf1 100644
>> --- a/test/box-py/bootstrap.test.py
>> +++ b/test/box-py/bootstrap.test.py
>> @@ -1,11 +1,11 @@
>> -server.admin('box.internal.bootstrap()')
>> -server.admin('box.space._schema:select{}')
>> -server.admin('box.space._cluster:select{}')
>> -server.admin('box.space._space:select{}')
>> -server.admin('box.space._index:select{}')
>> -server.admin('box.space._user:select{}')
>> -server.admin('for _, v in box.space._func:pairs{} do r = {}
>> table.insert(r, v:update({{"=", 18, ""}, {"=", 19, ""}})) return r end')
>> -server.admin('box.space._priv:select{}')
>> +server.admin("box.internal.bootstrap()")
>> +server.admin("box.space._schema:select{}")
>> +server.admin("box.space._cluster:select{}")
>> +server.admin("box.space._space:select{}")
>> +server.admin("box.space._index:select{}")
>> +server.admin("box.space._user:select{}")
>> +server.admin("for _, v in box.space._func:pairs{} do r = {}
>> table.insert(r, v:update({{'=', 18, ''}, {'=', 19, ''}})) return r end")
>> +server.admin("box.space._priv:select{}")
>> # Cleanup
>> server.stop()
>> diff --git a/test/box-py/call.result b/test/box-py/call.result
>> index d340ed6fa..e6b7b8dc9 100644
>> --- a/test/box-py/call.result
>> +++ b/test/box-py/call.result
>> @@ -536,10 +536,10 @@ function f(...) return ... end
>> call f({'k2': 'v2', 'k1': 'v1'})
>> ---
>> - {'k2': 'v2', 'k1': 'v1'}
>> -eval (return space:auto_increment({"transaction"}))()
>> +eval (return space:auto_increment({'transaction'}))()
>> ---
>> - [1, 'transaction']
>> -function f(...) return space:auto_increment({"transaction"}) end
>> +function f(...) return space:auto_increment({'transaction'}) end
>> ---
>> ...
>> call f()
>> @@ -554,11 +554,11 @@ function f(...) return space:select{} end
>> call f()
>> ---
>> - [[1, 'transaction'], [2, 'transaction']]
>> -eval (return box.begin(), space:auto_increment({"failed"}),
>> box.rollback())()
>> +eval (return box.begin(), space:auto_increment({'failed'}),
>> box.rollback())()
>> ---
>> - None
>> - [3, 'failed']
>> -function f(...) return box.begin(),
>> space:auto_increment({"failed"}), box.rollback() end
>> +function f(...) return box.begin(),
>> space:auto_increment({'failed'}), box.rollback() end
>> ---
>> ...
>> call f()
>> @@ -574,10 +574,10 @@ function f(...) return space:select{} end
>> call f()
>> ---
>> - [[1, 'transaction'], [2, 'transaction']]
>> -eval (return require("fiber").sleep(0))()
>> +eval (return require('fiber').sleep(0))()
>> ---
>> -function f(...) return require("fiber").sleep(0) end
>> +function f(...) return require('fiber').sleep(0) end
>> ---
>> ...
>> call f()
>> diff --git a/test/box-py/call.test.py b/test/box-py/call.test.py
>> index 974ba0cac..75ced1dff 100644
>> --- a/test/box-py/call.test.py
>> +++ b/test/box-py/call.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import sys
>> @@ -6,9 +8,9 @@ def call(name, *args):
>> admin("box.schema.user.create('test', { password = 'test' })")
>> admin("box.schema.user.grant('test', 'execute,read,write',
>> 'universe')")
>> -iproto.authenticate('test', 'test')
>> +iproto.authenticate("test", "test")
>> # workaround for gh-770 centos 6 float representation
>> -admin('exp_notation = 1e123')
>> +admin("exp_notation = 1e123")
>> admin("function f1() return 'testing', 1, false, -1, 1.123,
>> math.abs(exp_notation - 1e123) < 0.1, nil end")
>> admin("f1()")
>> call("f1")
>> @@ -19,13 +21,13 @@ call("f1")
>> # A test case for https://github.com/tarantool/tarantool/issues/44
>> # IPROTO required!
>> -call("box.error", 33333, 'Hey!')
>> +call("box.error", 33333, "Hey!")
>> -print """
>> -# A test case for Bug#103491
>> -# server CALL processing bug with name path longer than two
>> -# https://bugs.launchpad.net/tarantool/+bug/1034912
>> -"""
>> +print("")
>> +print("# A test case for Bug#103491")
>> +print("# server CALL processing bug with name path longer than two")
>> +print("# https://bugs.launchpad.net/tarantool/+bug/1034912")
>> +print("")
>> admin("f = function() return 'OK' end")
>> admin("test = {}")
>> admin("test.f = f")
>> @@ -35,11 +37,11 @@ call("f")
>> call("test.f")
>> call("test.test.f")
>> -print """
>> -# Test for Bug #955226
>> -# Lua Numbers are passed back wrongly as strings
>> -#
>> -"""
>> +print("")
>> +print("# Test for Bug #955226")
>> +print("# Lua Numbers are passed back wrongly as strings")
>> +print("#")
>> +print("")
>> admin("function foo() return 1, 2, '1', '2' end")
>> call("foo")
>> @@ -48,8 +50,8 @@ call("foo")
>> #
>> admin("function f1(...) return {...} end")
>> admin("function f2(...) return f1({...}) end")
>> -call("f1", 'test_', 'test_')
>> -call("f2", 'test_', 'test_')
>> +call("f1", "test_", "test_")
>> +call("f2", "test_", "test_")
>> call("f1")
>> call("f2")
>> #
>> @@ -72,8 +74,8 @@ call("f3")
>> admin("function f3() return { { test={1,2,3} }, { test2={1,2,3} } }
>> end")
>> call("f3")
>> -call("f1", 'jason')
>> -call("f1", 'jason', 1, 'test', 2, 'stewart')
>> +call("f1", "jason")
>> +call("f1", "jason", 1, "test", 2, "stewart")
>> admin("space = box.schema.space.create('tweedledum')")
>> admin("index = space:create_index('primary', { type = 'hash' })")
>> @@ -81,30 +83,30 @@ admin("index = space:create_index('primary', {
>> type = 'hash' })")
>> admin("function myreplace(...) return space:replace{...} end")
>> admin("function myinsert(...) return space:insert{...} end")
>> -call("myinsert", 1, 'test box delete')
>> +call("myinsert", 1, "test box delete")
>> call("space:delete", 1)
>> -call("myinsert", 1, 'test box delete')
>> +call("myinsert", 1, "test box delete")
>> call("space:delete", 1)
>> call("space:delete", 1)
>> -call("myinsert", 2, 'test box delete')
>> +call("myinsert", 2, "test box delete")
>> call("space:delete", 1)
>> call("space:delete", 2)
>> call("space:delete", 2)
>> admin("space:delete{2}")
>> -call("myinsert", 2, 'test box delete')
>> +call("myinsert", 2, "test box delete")
>> call("space:get", 2)
>> admin("space:delete{2}")
>> call("space:get", 2)
>> -call("myinsert", 2, 'test box.select()')
>> +call("myinsert", 2, "test box.select()")
>> call("space:get", 2)
>> call("space:select", 2)
>> admin("space:get{2}")
>> admin("space:select{2}")
>> admin("space:get{1}")
>> admin("space:select{1}")
>> -call("myreplace", 2, 'hello', 'world')
>> -call("myreplace", 2, 'goodbye', 'universe')
>> +call("myreplace", 2, "hello", "world")
>> +call("myreplace", 2, "goodbye", "universe")
>> call("space:get", 2)
>> call("space:select", 2)
>> admin("space:get{2}")
>> @@ -114,9 +116,9 @@ call("space:get", 2)
>> call("space:select", 2)
>> call("space:delete", 2)
>> call("space:delete", 2)
>> -call("myinsert", 3, 'old', 2)
>> +call("myinsert", 3, "old", 2)
>> # test that insert produces a duplicate key error
>> -call("myinsert", 3, 'old', 2)
>> +call("myinsert", 3, "old", 2)
>> admin("space:update({3}, {{'=', 1, 4}, {'=', 2, 'new'}})")
>> admin("space:insert(space:get{3}:update{{'=', 1, 4}, {'=', 2,
>> 'new'}}) space:delete{3}")
>> call("space:get", 4)
>> @@ -136,19 +138,19 @@ admin("index = space:create_index('primary', {
>> type = 'tree' })")
>> def lua_eval(name, *args):
>> - print 'eval (%s)(%s)' % (name, ','.join([ str(arg) for arg in
>> args]))
>> - print '---'
>> - print iproto.py_con.eval(name, args)
>> + print("eval ({})({})".format(name, ",".join([ str(arg) for arg
>> in args])))
>> + print("---")
>> + print(iproto.py_con.eval(name, args))
>> def lua_call(name, *args):
>> - print 'call %s(%s)' % (name, ','.join([ str(arg) for arg in args]))
>> - print '---'
>> - print iproto.py_con.call(name, args)
>> + print("call {}({})".format(name, ",".join([ str(arg) for arg in
>> args])))
>> + print("---")
>> + print(iproto.py_con.call(name, args))
>> def test(expr, *args):
>> - lua_eval('return ' + expr, *args)
>> - admin('function f(...) return ' + expr + ' end')
>> - lua_call('f', *args)
>> + lua_eval("return " + expr, *args)
>> + admin("function f(...) return " + expr + " end")
>> + lua_call("f", *args)
>> # Return values
>> test("1")
>> @@ -172,18 +174,18 @@ test("{t}")
>> test("{t, t, t}")
>> test("error('exception')")
>> test("box.error(0)")
>> -test('...')
>> -test('...', 1, 2, 3)
>> -test('...', None, None, None)
>> -test('...', { 'k1': 'v1', 'k2': 'v2'})
>> +test("...")
>> +test("...", 1, 2, 3)
>> +test("...", None, None, None)
>> +test("...", { "k1": "v1", "k2": "v2"})
>> # Transactions
>> -test('space:auto_increment({"transaction"})')
>> -test('space:select{}')
>> -test('box.begin(), space:auto_increment({"failed"}), box.rollback()')
>> -test('space:select{}')
>> -test('require("fiber").sleep(0)')
>> +test("space:auto_increment({'transaction'})")
>> +test("space:select{}")
>> +test("box.begin(), space:auto_increment({'failed'}), box.rollback()")
>> +test("space:select{}")
>> +test("require('fiber').sleep(0)")
>> # Other
>> -lua_eval('!invalid expression')
>> +lua_eval("!invalid expression")
>> admin("space:drop()")
>> admin("box.schema.user.drop('test')")
>> diff --git a/test/box-py/iproto.result b/test/box-py/iproto.result
>> index 04e2e220c..0f2766871 100644
>> --- a/test/box-py/iproto.result
>> +++ b/test/box-py/iproto.result
>> @@ -1,21 +1,15 @@
>> box.schema.user.grant('guest', 'read,write,execute', 'universe')
>> ---
>> ...
>> -
>> #
>> # iproto packages test
>> #
>> -
>> -
>> # Test bug #899343 (server assertion failure on incorrect packet)
>> -
>> # send the package with invalid length
>> 12
>> # check that is server alive
>> True
>> -
>> -# Test gh-206 "Segfault if sending IPROTO package without `KEY` field"
>> -
>> +# Test gh-206 'Segfault if sending IPROTO package without `KEY` field'
>> IPROTO_SELECT
>> query {'IPROTO_CODE': 1} {'IPROTO_SPACE_ID': 280}
>> True
>> @@ -165,10 +159,8 @@ space:drop()
>> box.schema.user.revoke('guest', 'read,write,execute', 'universe')
>> ---
>> ...
>> -
>> # Test bugs gh-272, gh-1654 if the packet was incorrect, respond with
>> # an error code and do not close connection
>> -
>> sync=0, Invalid MsgPack - packet header
>> sync=1234, Missing mandatory field 'space id' in request
>> sync=5678, Read access to space '_user' is denied for user 'guest'
>> diff --git a/test/box-py/iproto.test.py b/test/box-py/iproto.test.py
>> index cdd1a71c5..5eccd40d3 100644
>> --- a/test/box-py/iproto.test.py
>> +++ b/test/box-py/iproto.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import sys
>> import struct
>> @@ -11,46 +13,42 @@ from lib.tarantool_connection import
>> TarantoolConnection
>> admin("box.schema.user.grant('guest', 'read,write,execute',
>> 'universe')")
>> -print """
>> -#
>> -# iproto packages test
>> -#
>> -"""
>> +print("#")
>> +print("# iproto packages test")
>> +print("#")
>> -# opeing new connection to tarantool/box
>> +# opening new connection to tarantool/box
>> conn = TarantoolConnection(server.iproto.host, server.iproto.port)
>> conn.connect()
>> s = conn.socket
>> -print """
>> -# Test bug #899343 (server assertion failure on incorrect packet)
>> -"""
>> -print "# send the package with invalid length"
>> -invalid_request = struct.pack('<LLL', 1, 4294967290, 1)
>> -print s.send(invalid_request)
>> -print "# check that is server alive"
>> -print iproto.py_con.ping() > 0
>> +print("# Test bug #899343 (server assertion failure on incorrect
>> packet)")
>> +print("# send the package with invalid length")
>> +invalid_request = struct.pack("<LLL", 1, 4294967290, 1)
>> +print(s.send(invalid_request))
>> +print("# check that is server alive")
>> +print(iproto.py_con.ping() > 0)
>> # closing connection
>> s.close()
>> key_names = {}
>> -for (k,v) in globals().items():
>> - if type(k) == str and k.startswith('IPROTO_') and type(v) == int:
>> +for (k,v) in list(globals().items()):
>
> 2) Why do you need a "list"?(here and below)
> You don't change the dictionary during iteration.
> If I'm right, please check over such changes.
Because Python 3 raise exception "dictionary changed size during iteration".
Also this change moved to a separate commit.
>
>
>> + if type(k) == str and k.startswith("IPROTO_") and type(v) == int:
>> key_names[v] = k
>> def repr_dict(todump):
>> d = {}
>> - for (k, v) in todump.items():
>> + for (k, v) in list(todump.items()):
>> k_name = key_names.get(k, k)
>> d[k_name] = v
>> return repr(d)
>> def test(header, body):
>> # Connect and authenticate
>> - c = Connection('localhost', server.iproto.port)
>> + c = Connection("localhost", server.iproto.port)
>> c.connect()
>> - print 'query', repr_dict(header), repr_dict(body)
>> + print("query", repr_dict(header), repr_dict(body))
>> header = msgpack.dumps(header)
>> body = msgpack.dumps(body)
>> query = msgpack.dumps(len(header) + len(body)) + header + body
>> @@ -59,36 +57,34 @@ def test(header, body):
>> try:
>> s.send(query)
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> c.close()
>> - print iproto.py_con.ping() > 0
>> + print(iproto.py_con.ping() > 0)
>> -print """
>> -# Test gh-206 "Segfault if sending IPROTO package without `KEY` field"
>> -"""
>> +print("# Test gh-206 'Segfault if sending IPROTO package without
>> `KEY` field'")
>> -print "IPROTO_SELECT"
>> +print("IPROTO_SELECT")
>> test({ IPROTO_CODE : REQUEST_TYPE_SELECT }, { IPROTO_SPACE_ID: 280 })
>> -print "\n"
>> +print("\n")
>> -print "IPROTO_DELETE"
>> +print("IPROTO_DELETE")
>> test({ IPROTO_CODE : REQUEST_TYPE_DELETE }, { IPROTO_SPACE_ID: 280 })
>> -print "\n"
>> +print("\n")
>> -print "IPROTO_UPDATE"
>> +print("IPROTO_UPDATE")
>> test({ IPROTO_CODE : REQUEST_TYPE_UPDATE }, { IPROTO_SPACE_ID: 280 })
>> test({ IPROTO_CODE : REQUEST_TYPE_UPDATE },
>> { IPROTO_SPACE_ID: 280, IPROTO_KEY: (1, )})
>> -print "\n"
>> +print("\n")
>> -print "IPROTO_REPLACE"
>> +print("IPROTO_REPLACE")
>> test({ IPROTO_CODE : REQUEST_TYPE_REPLACE }, { IPROTO_SPACE_ID: 280 })
>> -print "\n"
>> +print("\n")
>> -print "IPROTO_CALL"
>> +print("IPROTO_CALL")
>> test({ IPROTO_CODE : REQUEST_TYPE_CALL }, {})
>> -test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ('procname',
>> )})
>> -print "\n"
>> +test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ("procname",
>> )})
>> +print("\n")
>> # gh-434 Tarantool crashes on multiple iproto requests with WAL
>> enabled
>> admin("box.cfg.wal_mode")
>> @@ -96,7 +92,7 @@ admin("space = box.schema.space.create('test', { id
>> = 567 })")
>> admin("index = space:create_index('primary', { type = 'hash' })")
>> admin("box.schema.user.grant('guest', 'read,write,execute',
>> 'space', 'test')")
>> -c = Connection('localhost', server.iproto.port)
>> +c = Connection("localhost", server.iproto.port)
>> c.connect()
>> request1 = RequestInsert(c, 567, [1, "baobab"])
>> request2 = RequestInsert(c, 567, [2, "obbaba"])
>> @@ -104,11 +100,11 @@ s = c._socket
>> try:
>> s.send(bytes(request1) + bytes(request2))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response1 = Response(c, c._read_response())
>> response2 = Response(c, c._read_response())
>> -print response1.__str__()
>> -print response2.__str__()
>> +print(response1.__str__())
>> +print(response2.__str__())
>> request1 = RequestInsert(c, 567, [3, "occama"])
>> request2 = RequestSelect(c, 567, 0, [1], 0, 1, 0)
>> @@ -116,11 +112,11 @@ s = c._socket
>> try:
>> s.send(bytes(request1) + bytes(request2))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response1 = Response(c, c._read_response())
>> response2 = Response(c, c._read_response())
>> -print response1.__str__()
>> -print response2.__str__()
>> +print(response1.__str__())
>> +print(response2.__str__())
>> request1 = RequestSelect(c, 567, 0, [2], 0, 1, 0)
>> request2 = RequestInsert(c, 567, [4, "ockham"])
>> @@ -128,11 +124,11 @@ s = c._socket
>> try:
>> s.send(bytes(request1) + bytes(request2))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response1 = Response(c, c._read_response())
>> response2 = Response(c, c._read_response())
>> -print response1.__str__()
>> -print response2.__str__()
>> +print(response1.__str__())
>> +print(response2.__str__())
>> request1 = RequestSelect(c, 567, 0, [1], 0, 1, 0)
>> request2 = RequestSelect(c, 567, 0, [2], 0, 1, 0)
>> @@ -140,11 +136,11 @@ s = c._socket
>> try:
>> s.send(bytes(request1) + bytes(request2))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response1 = Response(c, c._read_response())
>> response2 = Response(c, c._read_response())
>> -print response1.__str__()
>> -print response2.__str__()
>> +print(response1.__str__())
>> +print(response2.__str__())
>> c.close()
>> @@ -176,7 +172,7 @@ class RawSelect(Request):
>> self._body = request_body
>> c = iproto.py_con
>> -space = c.space('test')
>> +space = c.space("test")
>> space_id = space.space_no
>> TESTS = [
>> @@ -192,34 +188,34 @@ TESTS = [
>> for test in TESTS:
>> it = iter(test)
>> size = next(it)
>> - print 'STR', size
>> - print '--'
>> + print("STR", size)
>> + print("--")
>> for fmt in it:
>> - print '0x' + fmt.encode('hex'), '=>',
>> - field = '*' * size
>> + print("0x" + fmt.encode("hex"), "=>", end=" ")
>> + field = "*" * size
>> c._send_request(RawInsert(c, space_id, "\x91" + fmt + field))
>> tuple = space.select(field)[0]
>> - print len(tuple[0])== size and 'ok' or 'fail',
>> + print(len(tuple[0])== size and "ok" or "fail", end=" ")
>> it2 = iter(test)
>> next(it2)
>> for fmt2 in it2:
>> tuple = c._send_request(RawSelect(c, space_id,
>> "\x91" + fmt2 + field))[0]
>> - print len(tuple[0]) == size and 'ok' or 'fail',
>> + print(len(tuple[0]) == size and "ok" or "fail", end=" ")
>> tuple = space.delete(field)[0]
>> - print len(tuple[0]) == size and 'ok' or 'fail',
>> - print
>> - print
>> + print(len(tuple[0]) == size and "ok" or "fail", end="")
>> + print()
>> + print()
>> -print 'Test of schema_id in iproto.'
>> -c = Connection('localhost', server.iproto.port)
>> +print("Test of schema_id in iproto.")
>> +c = Connection("localhost", server.iproto.port)
>> c.connect()
>> s = c._socket
>> def receive_response():
>> - resp_len = ''
>> - resp_headerbody = ''
>> + resp_len = ""
>> + resp_headerbody = ""
>> resp_header = {}
>> resp_body = {}
>> try:
>> @@ -235,10 +231,10 @@ def receive_response():
>> resp_header = unpacker.unpack()
>> resp_body = unpacker.unpack()
>> except OSError as e:
>> - print ' => ', 'Failed to recv response'
>> + print(" => ", "Failed to recv response")
>> res = {}
>> - res['header'] = resp_header
>> - res['body'] = resp_body
>> + res["header"] = resp_header
>> + res["body"] = resp_body
>> return res
>> def test_request(req_header, req_body):
>> @@ -249,7 +245,7 @@ def test_request(req_header, req_body):
>> try:
>> s.send(query)
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> return receive_response()
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT}
>> @@ -260,62 +256,62 @@ body = { IPROTO_SPACE_ID: space_id,
>> IPROTO_OFFSET: 0,
>> IPROTO_LIMIT: 1 }
>> resp = test_request(header, body)
>> -print 'Normal connect done w/o errors:', resp['header'][0] == 0
>> -print 'Got schema_id:', resp['header'][5] > 0
>> -schema_id = resp['header'][5]
>> +print("Normal connect done w/o errors:", resp["header"][0] == 0)
>> +print("Got schema_id:", resp["header"][5] > 0)
>> +schema_id = resp["header"][5]
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : 0 }
>> resp = test_request(header, body)
>> -print 'Zero-schema_id connect done w/o errors:', resp['header'][0] == 0
>> -print 'Same schema_id:', resp['header'][5] == schema_id
>> +print("Zero-schema_id connect done w/o errors:", resp["header"][0]
>> == 0)
>> +print("Same schema_id:", resp["header"][5] == schema_id)
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id }
>> resp = test_request(header, body)
>> -print 'Normal connect done w/o errors:', resp['header'][0] == 0
>> -print 'Same schema_id:', resp['header'][5] == schema_id
>> +print("Normal connect done w/o errors:", resp["header"][0] == 0)
>> +print("Same schema_id:", resp["header"][5] == schema_id)
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id + 1 }
>> resp = test_request(header, body)
>> -print 'Wrong schema_id leads to error:', resp['header'][0] != 0
>> -print 'Same schema_id:', resp['header'][5] == schema_id
>> +print("Wrong schema_id leads to error:", resp["header"][0] != 0)
>> +print("Same schema_id:", resp["header"][5] == schema_id)
>> admin("space2 = box.schema.create_space('test2')")
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id }
>> resp = test_request(header, body)
>> -print 'Schema changed -> error:', resp['header'][0] != 0
>> -print 'Got another schema_id:', resp['header'][5] != schema_id
>> +print("Schema changed -> error:", resp["header"][0] != 0)
>> +print("Got another schema_id:", resp["header"][5] != schema_id)
>> #
>> # gh-2334 Lost SYNC in JOIN response.
>> #
>> -uuid = '0d5bd431-7f3e-4695-a5c2-82de0a9cbc95'
>> +uuid = "0d5bd431-7f3e-4695-a5c2-82de0a9cbc95"
>> header = { IPROTO_CODE: REQUEST_TYPE_JOIN, IPROTO_SYNC: 2334 }
>> body = { IPROTO_SERVER_UUID: uuid }
>> resp = test_request(header, body)
>> -if resp['header'][IPROTO_SYNC] == 2334:
>> +if resp["header"][IPROTO_SYNC] == 2334:
>> i = 1
>> while i < 3:
>> resp = receive_response()
>> - if resp['header'][IPROTO_SYNC] != 2334:
>> - print 'Bad sync on response with number ', i
>> + if resp["header"][IPROTO_SYNC] != 2334:
>> + print("Bad sync on response with number ", i)
>> break
>> - if resp['header'][IPROTO_CODE] == REQUEST_TYPE_OK:
>> + if resp["header"][IPROTO_CODE] == REQUEST_TYPE_OK:
>> i += 1
>> else:
>> - print 'Sync ok'
>> + print("Sync ok")
>> else:
>> - print 'Bad first sync'
>> + print("Bad first sync")
>> #
>> # Try incorrect JOIN. SYNC must be also returned.
>> #
>> -body[IPROTO_SERVER_UUID] = 'unknown'
>> +body[IPROTO_SERVER_UUID] = "unknown"
>> resp = test_request(header, body)
>> -if resp['header'][IPROTO_SYNC] == 2334:
>> - print('Sync on error is ok')
>> +if resp["header"][IPROTO_SYNC] == 2334:
>> + print("Sync on error is ok")
>> else:
>> - print('Sync on error is not ok')
>> + print("Sync on error is not ok")
>> c.close()
>> @@ -332,8 +328,8 @@ admin("space:insert({1})")
>> admin("space:insert({2, 'Music'})")
>> admin("space:insert({3, 'Length', 93})")
>> -iproto.py_con.space('gh1280').select([])
>> -iproto.py_con.space('gh1280').select(list())
>> +iproto.py_con.space("gh1280").select([])
>> +iproto.py_con.space("gh1280").select(list())
>> admin("space:drop()")
>> @@ -344,26 +340,24 @@ admin("box.schema.user.revoke('guest',
>> 'read,write,execute', 'universe')")
>> # gh-272 if the packet was incorrect, respond with an error code
>> # gh-1654 do not close connnection on invalid request
>> #
>> -print """
>> -# Test bugs gh-272, gh-1654 if the packet was incorrect, respond with
>> -# an error code and do not close connection
>> -"""
>> +print("# Test bugs gh-272, gh-1654 if the packet was incorrect,
>> respond with")
>> +print("# an error code and do not close connection")
>> -c = Connection('localhost', server.iproto.port)
>> +c = Connection("localhost", server.iproto.port)
>> c.connect()
>> s = c._socket
>> header = { "hello": "world"}
>> body = { "bug": 272 }
>> resp = test_request(header, body)
>> -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC],
>> resp['body'].get(IPROTO_ERROR))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> resp["body"].get(IPROTO_ERROR)))
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT }
>> header[IPROTO_SYNC] = 1234
>> resp = test_request(header, body)
>> -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC],
>> resp['body'].get(IPROTO_ERROR))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> resp["body"].get(IPROTO_ERROR)))
>> header[IPROTO_SYNC] = 5678
>> body = { IPROTO_SPACE_ID: 304, IPROTO_KEY: [], IPROTO_LIMIT: 1 }
>> resp = test_request(header, body)
>> -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC],
>> resp['body'].get(IPROTO_ERROR))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> resp["body"].get(IPROTO_ERROR)))
>> c.close()
>> @@ -371,7 +365,7 @@ admin("space =
>> box.schema.space.create('test_index_base', { id = 568 })")
>> admin("index = space:create_index('primary', { type = 'hash' })")
>> admin("box.schema.user.grant('guest', 'read,write,execute',
>> 'space', 'test_index_base')")
>> -c = Connection('localhost', server.iproto.port)
>> +c = Connection("localhost", server.iproto.port)
>> c.connect()
>> s = c._socket
>> @@ -379,32 +373,32 @@ request = RequestInsert(c, 568, [1, 0, 0, 0])
>> try:
>> s.send(bytes(request))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response = Response(c, c._read_response())
>> -print response.__str__()
>> +print(response.__str__())
>> -request = RequestUpdate(c, 568, 0, [1], [['+', 2, 1], ['-', 3, 1]])
>> +request = RequestUpdate(c, 568, 0, [1], [["+", 2, 1], ["-", 3, 1]])
>> try:
>> s.send(bytes(request))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response = Response(c, c._read_response())
>> -print response.__str__()
>> +print(response.__str__())
>> -request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [['+', 2, 1],
>> ['-', 3, 1]])
>> +request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [["+", 2, 1], ["-",
>> 3, 1]])
>> try:
>> s.send(bytes(request))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response = Response(c, c._read_response())
>> request = RequestSelect(c, 568, 0, [1], 0, 1, 0)
>> try:
>> s.send(bytes(request))
>> except OSError as e:
>> - print ' => ', 'Failed to send request'
>> + print(" => ", "Failed to send request")
>> response = Response(c, c._read_response())
>> -print response.__str__()
>> +print(response.__str__())
>> c.close()
>> @@ -414,15 +408,15 @@ c.close()
>> admin("function kek() return 'kek' end")
>> admin("box.schema.user.grant('guest', 'read,write,execute',
>> 'universe')")
>> -c = Connection('localhost', server.iproto.port)
>> +c = Connection("localhost", server.iproto.port)
>> c.connect()
>> s = c._socket
>> header = { IPROTO_CODE: REQUEST_TYPE_CALL, IPROTO_SYNC: 100 }
>> -body = { IPROTO_FUNCTION_NAME: 'kek' }
>> +body = { IPROTO_FUNCTION_NAME: "kek" }
>> resp = test_request(header, body)
>> -print "Sync: ", resp['header'][IPROTO_SYNC]
>> -print "Retcode: ", resp['body'][IPROTO_DATA]
>> +print("Sync: ", resp["header"][IPROTO_SYNC])
>> +print("Retcode: ", resp["body"][IPROTO_DATA])
>> c.close()
>> diff --git a/test/box-py/print.result b/test/box-py/print.result
>> index b2d58d7de..7a3282d79 100644
>> --- a/test/box-py/print.result
>> +++ b/test/box-py/print.result
>> @@ -1,4 +1,4 @@
>> -print("Hello, world")
>> +print('Hello, world')
>> ---
>> ...
>> io = require('io')
>> @@ -17,9 +17,9 @@ require('fiber').sleep(0.01)
>> ...
>> Check log line (Hello):
>> ---
>> -- "logfile contains "Hello""
>> +- 'logfile contains 'Hello''
>> ...
>> Check log line (Ehllo):
>> ---
>> -- "logfile contains "Ehllo""
>> +- 'logfile contains 'Ehllo''
>> ...
>> diff --git a/test/box-py/print.test.py b/test/box-py/print.test.py
>> index 5083bdf42..37f07cab8 100644
>> --- a/test/box-py/print.test.py
>> +++ b/test/box-py/print.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import tarantool
>> import sys
>> @@ -6,7 +8,7 @@ import re
>> log = server.get_log()
>> -admin('print("Hello, world")')
>> +admin("print('Hello, world')")
>> admin("io = require('io')")
>> admin("""local f = require('fiber').create(
>> @@ -18,17 +20,17 @@ admin("""local f = require('fiber').create(
>> admin("require('fiber').sleep(0.01)")
>> print("Check log line (Hello):")
>> -print('---')
>> -if log.seek_once('Hello') >= 0:
>> - print('- "logfile contains "Hello""')
>> +print("---")
>> +if log.seek_once("Hello") >= 0:
>> + print("- 'logfile contains \'Hello\''")
>
> 3) \ - not necessary. (here and below)
reverted
--- a/test/box-py/print.test.py
+++ b/test/box-py/print.test.py
@@ -22,15 +22,15 @@ admin("require('fiber').sleep(0.01)")
print("Check log line (Hello):")
print("---")
if log.seek_once("Hello") >= 0:
- print("- 'logfile contains \'Hello\''")
+ print("- 'logfile contains 'Hello''")
else:
- print("- 'logfile does not contain \'Hello\''")
+ print("- 'logfile does not contain 'Hello''")
print("...")
print("Check log line (Ehllo):")
print("---")
if log.seek_once("Ehllo") >= 0:
- print("- 'logfile contains \'Ehllo\''")
+ print("- 'logfile contains 'Ehllo''")
else:
- print("- 'logfile does not contain \'Ehllo\''")
+ print("- 'logfile does not contain 'Ehllo''")
print("...")
>
>> else:
>> - print('- "logfile does not contain "Hello""')
>> -print('...')
>> + print("- 'logfile does not contain \'Hello\''")
>> +print("...")
>> print("Check log line (Ehllo):")
>> -print('---')
>> -if log.seek_once('Ehllo') >= 0:
>> - print('- "logfile contains "Ehllo""')
>> +print("---")
>> +if log.seek_once("Ehllo") >= 0:
>> + print("- 'logfile contains \'Ehllo\''")
>> else:
>> - print('- "logfile does not contain "Ehllo""')
>> -print('...')
>> + print("- 'logfile does not contain \'Ehllo\''")
>> +print("...")
>> diff --git a/test/box-py/snapshot.result b/test/box-py/snapshot.result
>> index fbaab912f..dfd1a00a2 100644
>> --- a/test/box-py/snapshot.result
>> +++ b/test/box-py/snapshot.result
>> @@ -10,7 +10,6 @@ index = space:create_index('primary', { type =
>> 'hash' })
>> # file that already exists. Verify also that any other
>> # error that happens when saving snapshot is propagated
>> # to the caller.
>> -
>> space:insert{1, 'first tuple'}
>> ---
>> - [1, 'first tuple']
>> @@ -44,9 +43,8 @@ space:delete{2}
>> ...
>> #
>> # A test case for http://bugs.launchpad.net/bugs/727174
>> -# "tarantool_box crashes when saving snapshot on SIGUSR1"
>> +# 'tarantool_box crashes when saving snapshot on SIGUSR1'
>> #
>> -
>> # Increment the lsn number, to make sure there is no such snapshot yet
>> #
>> space:insert{1, 'Test tuple'}
>> diff --git a/test/box-py/snapshot.test.py b/test/box-py/snapshot.test.py
>> index 2bfb8f621..91ff0c5dd 100644
>> --- a/test/box-py/snapshot.test.py
>> +++ b/test/box-py/snapshot.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import sys
>> import yaml
>> @@ -9,13 +11,13 @@ sys.stdout.push_filter(server.vardir, "<dir>")
>> admin("space = box.schema.space.create('tweedledum')")
>> admin("index = space:create_index('primary', { type = 'hash' })")
>> -print """#
>> -# A test case for: http://bugs.launchpad.net/bugs/686411
>> -# Check that 'box.snapshot()' does not overwrite a snapshot
>> -# file that already exists. Verify also that any other
>> -# error that happens when saving snapshot is propagated
>> -# to the caller.
>> -"""
>> +print("#")
>> +print("# A test case for: http://bugs.launchpad.net/bugs/686411")
>> +print("# Check that 'box.snapshot()' does not overwrite a snapshot")
>> +print("# file that already exists. Verify also that any other")
>> +print("# error that happens when saving snapshot is propagated")
>> +print("# to the caller.")
>> +
>> admin("space:insert{1, 'first tuple'}")
>> admin("box.snapshot()")
>> #
>> @@ -38,14 +40,13 @@ os.rmdir(snapshot)
>> admin("space:delete{1}")
>> admin("space:delete{2}")
>> -print """#
>> -# A test case for http://bugs.launchpad.net/bugs/727174
>> -# "tarantool_box crashes when saving snapshot on SIGUSR1"
>> -#"""
>> +print("#")
>> +print("# A test case for http://bugs.launchpad.net/bugs/727174")
>> +print("# 'tarantool_box crashes when saving snapshot on SIGUSR1'")
>> +print("#")
>> -print """
>> -# Increment the lsn number, to make sure there is no such snapshot yet
>> -#"""
>> +print("# Increment the lsn number, to make sure there is no such
>> snapshot yet")
>> +print("#")
>> admin("space:insert{1, 'Test tuple'}")
>> @@ -65,9 +66,9 @@ while not os.access(snapshot, os.F_OK) and
>> iteration < MAX_ITERATIONS:
>> iteration = iteration + 1
>> if iteration == 0 or iteration >= MAX_ITERATIONS:
>> - print "Snapshot is missing."
>> + print("Snapshot is missing.")
>> else:
>> - print "Snapshot exists."
>> + print("Snapshot exists.")
>> admin("space:drop()")
>> diff --git a/test/long_run-py/finalizers.result
>> b/test/long_run-py/finalizers.result
>> index 29313694c..2d2866b35 100644
>> --- a/test/long_run-py/finalizers.result
>> +++ b/test/long_run-py/finalizers.result
>> @@ -1 +1 @@
>> -Expected error: <class 'lib.tarantool_server.TarantoolStartError'>
>> +('Expected error:', <class 'lib.tarantool_server.TarantoolStartError'>)
>> diff --git a/test/long_run-py/finalizers.test.py
>> b/test/long_run-py/finalizers.test.py
>> index 96118e607..07bceb6b9 100644
>> --- a/test/long_run-py/finalizers.test.py
>> +++ b/test/long_run-py/finalizers.test.py
>> @@ -5,12 +5,12 @@ import yaml
>> from lib.tarantool_server import TarantoolServer
>> server = TarantoolServer(server.ini)
>> -server.script = 'long_run-py/lua/finalizers.lua'
>> -server.vardir = os.path.join(server.vardir, 'finalizers')
>> +server.script = "long_run-py/lua/finalizers.lua"
>> +server.vardir = os.path.join(server.vardir, "finalizers")
>> server.crash_expected = True
>> try:
>> server.deploy()
>> except:
>> - print "Expected error:", sys.exc_info()[0]
>> + print("Expected error:", sys.exc_info()[0])
>> else:
>> - print "Error! exception did not occur"
>> + print("Error! exception did not occur")
>> diff --git a/test/replication-py/cluster.result
>> b/test/replication-py/cluster.result
>> index f68a6af7c..9bc8a7393 100644
>> --- a/test/replication-py/cluster.result
>> +++ b/test/replication-py/cluster.result
>> @@ -93,7 +93,7 @@ box.info.vclock[2] == nil
>> -------------------------------------------------------------
>> Modify data to bump LSN and check box.info
>> -------------------------------------------------------------
>> -box.space._schema:insert{"test", 48}
>> +box.space._schema:insert{'test', 48}
>> ---
>> - ['test', 48]
>> ...
>> @@ -114,7 +114,7 @@ box.cfg{ replication_source =
>> '<replication_source>' }
>> -------------------------------------------------------------
>> Disconnect replica from master
>> -------------------------------------------------------------
>> -box.cfg { replication_source = "" }
>> +box.cfg { replication_source = '' }
>> ---
>> ...
>> -------------------------------------------------------------
>> @@ -131,7 +131,7 @@ box.info.vclock[2] == 1
>> -------------------------------------------------------------
>> Modify data to bump LSN on replica
>> -------------------------------------------------------------
>> -box.space._schema:insert{"tost", 49}
>> +box.space._schema:insert{'tost', 49}
>> ---
>> - ['tost', 49]
>> ...
>> diff --git a/test/replication-py/cluster.test.py
>> b/test/replication-py/cluster.test.py
>> index 088ca9c34..c770a9bc9 100644
>> --- a/test/replication-py/cluster.test.py
>> +++ b/test/replication-py/cluster.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import sys
>> import re
>> @@ -7,19 +9,19 @@ import glob
>> from lib.tarantool_server import TarantoolServer
>> ## Get cluster uuid
>> -cluster_uuid = ''
>> +cluster_uuid = ""
>> try:
>> cluster_uuid =
>> yaml.safe_load(server.admin("box.space._schema:get('cluster')",
>> silent = True))[0][1]
>> - uuid.UUID('{' + cluster_uuid + '}')
>> - print 'ok - cluster uuid'
>> + uuid.UUID("{" + cluster_uuid + "}")
>> + print("ok - cluster uuid")
>> except Exception as e:
>> - print 'not ok - invalid cluster uuid', e
>> + print("not ok - invalid cluster uuid", e)
>> server.iproto.reconnect() # re-connect with new permissions
>> -print '-------------------------------------------------------------'
>> -print ' gh-696: Check global READ permissions for replication'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print(" gh-696: Check global READ permissions for replication")
>> +print("-------------------------------------------------------------")
>> # Generate replica cluster UUID
>> @@ -27,56 +29,59 @@ replica_uuid = str(uuid.uuid4())
>> ## Universal read permission is required to perform JOIN/SUBSCRIBE
>> rows = list(server.iproto.py_con.join(replica_uuid))
>> -print len(rows) == 1 and rows[0].return_message.find('Read access')
>> >= 0 and \
>> - 'ok' or 'not ok', '-', 'join without read permissions on universe'
>> +status = len(rows) == 1 and rows[0].return_message.find("Read
>> access") >= 0 and \
>> + "ok" or "not ok"
>> +print("{} - join without read permissions on universe".format(status))
>> rows = list(server.iproto.py_con.subscribe(cluster_uuid,
>> replica_uuid))
>> -print len(rows) == 1 and rows[0].return_message.find('Read access')
>> >= 0 and \
>> - 'ok' or 'not ok', '-', 'subscribe without read permissions on
>> universe'
>> +status = len(rows) == 1 and rows[0].return_message.find("Read
>> access") >= 0 and \
>> + "ok" or "not ok"
>> +print("{} - subscribe without read permissions on
>> universe".format(status))
>> ## Write permission to space `_cluster` is required to perform JOIN
>> server.admin("box.schema.user.grant('guest', 'read', 'universe')")
>> server.iproto.reconnect() # re-connect with new permissions
>> rows = list(server.iproto.py_con.join(replica_uuid))
>> -print len(rows) == 1 and rows[0].return_message.find('Write access')
>> >= 0 and \
>> - 'ok' or 'not ok', '-', 'join without write permissions to _cluster'
>> +status = len(rows) == 1 and rows[0].return_message.find("Write
>> access") >= 0 and \
>> + "ok" or "not ok"
>> +print("{} - join without write permissions to _cluster".format(status))
>> def check_join(msg):
>> ok = True
>> for resp in server.iproto.py_con.join(replica_uuid):
>> if resp._return_code != 0:
>> - print 'not ok', '-', msg, resp.return_message
>> + print("not ok - {} {}".format(msg, resp.return_message))
>> ok = False
>> server.iproto.reconnect() # the only way to stop JOIN
>> if not ok:
>> return
>> - tuples =
>> server.iproto.py_con.space('_cluster').select(replica_uuid, index = 1)
>> + tuples =
>> server.iproto.py_con.space("_cluster").select(replica_uuid, index = 1)
>> if len(tuples) == 0:
>> - print 'not ok', '-', msg, 'missing entry in _cluster'
>> + print("not ok - {} missing entry in _cluster".format(msg))
>> return
>> server_id = tuples[0][0]
>> - print 'ok', '-', msg
>> + print("ok - {}".format(msg))
>> return server_id
>> ## JOIN with permissions
>> server.admin("box.schema.user.grant('guest', 'write', 'space',
>> '_cluster')")
>> server.iproto.reconnect() # re-connect with new permissions
>> -server_id = check_join('join with granted permissions')
>> -server.iproto.py_con.space('_cluster').delete(server_id)
>> +server_id = check_join("join with granted permissions")
>> +server.iproto.py_con.space("_cluster").delete(server_id)
>> # JOIN with granted role
>> server.admin("box.schema.user.revoke('guest', 'read', 'universe')")
>> server.admin("box.schema.user.revoke('guest', 'write', 'space',
>> '_cluster')")
>> server.admin("box.schema.user.grant('guest', 'replication')")
>> server.iproto.reconnect() # re-connect with new permissions
>> -server_id = check_join('join with granted role')
>> -server.iproto.py_con.space('_cluster').delete(server_id)
>> +server_id = check_join("join with granted role")
>> +server.iproto.py_con.space("_cluster").delete(server_id)
>> -print '-------------------------------------------------------------'
>> -print 'gh-434: Assertion if replace _cluster tuple for local server'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("gh-434: Assertion if replace _cluster tuple for local server")
>> +print("-------------------------------------------------------------")
>> -master_uuid = server.get_param('uuid')
>> -sys.stdout.push_filter(master_uuid, '<master uuid>')
>> +master_uuid = server.get_param("uuid")
>> +sys.stdout.push_filter(master_uuid, "<master uuid>")
>> # Invalid UUID
>> server.admin("box.space._cluster:replace{1,
>> require('uuid').NULL:str()}")
>> @@ -87,19 +92,19 @@ server.admin("box.space._cluster:replace{1,
>> require('uuid').str()}")
>> # Update of tail is OK
>> server.admin("box.space._cluster:update(1, {{'=', 3, 'test'}})")
>> -print '-------------------------------------------------------------'
>> -print 'gh-1140: Assertion if replace _cluster tuple for remote server'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("gh-1140: Assertion if replace _cluster tuple for remote server")
>> +print("-------------------------------------------------------------")
>> # Test that insert is OK
>> -new_uuid = '0d5bd431-7f3e-4695-a5c2-82de0a9cbc95'
>> +new_uuid = "0d5bd431-7f3e-4695-a5c2-82de0a9cbc95"
>> server.admin("box.space._cluster:insert{{5, '{0}'}}".format(new_uuid))
>> server.admin("box.info.vclock[5] == nil")
>> # Replace with the same UUID is OK
>> server.admin("box.space._cluster:replace{{5,
>> '{0}'}}".format(new_uuid))
>> # Replace with a new UUID is not OK
>> -new_uuid = 'a48a19a3-26c0-4f8c-a5b5-77377bab389b'
>> +new_uuid = "a48a19a3-26c0-4f8c-a5b5-77377bab389b"
>> server.admin("box.space._cluster:replace{{5,
>> '{0}'}}".format(new_uuid))
>> # Update of tail is OK
>> server.admin("box.space._cluster:update(5, {{'=', 3, 'test'}})")
>> @@ -112,83 +117,83 @@ server.admin("box.info.vclock[5] == nil")
>> server.stop()
>> server.deploy()
>> -print '-------------------------------------------------------------'
>> -print 'Start a new replica and check box.info on the start'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("Start a new replica and check box.info on the start")
>> +print("-------------------------------------------------------------")
>> # master server
>> master = server
>> -master_id = master.get_param('id')
>> +master_id = master.get_param("id")
>> master.admin("box.schema.user.grant('guest', 'replication')")
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir
>> replica.rpl_master = master
>> replica.deploy()
>> -replica_id = replica.get_param('id')
>> -replica_uuid = replica.get_param('uuid')
>> -sys.stdout.push_filter(replica_uuid, '<replica uuid>')
>> -
>> -replica.admin('box.info.id == %d' % replica_id)
>> -replica.admin('not box.info.ro')
>> -replica.admin('box.info.lsn == 0')
>> -replica.admin('box.info.vclock[%d] == nil' % replica_id)
>> -
>> -print '-------------------------------------------------------------'
>> -print 'Modify data to bump LSN and check box.info'
>> -print '-------------------------------------------------------------'
>> -replica.admin('box.space._schema:insert{"test", 48}')
>> -replica.admin('box.info.lsn == 1')
>> -replica.admin('box.info.vclock[%d] == 1' % replica_id)
>> -
>> -print '-------------------------------------------------------------'
>> -print 'Connect master to replica'
>> -print '-------------------------------------------------------------'
>> -replication_source = yaml.safe_load(replica.admin('box.cfg.listen',
>> silent = True))[0]
>> -sys.stdout.push_filter(replication_source, '<replication_source>')
>> -master.admin("box.cfg{ replication_source = '%s' }" %
>> replication_source)
>> +replica_id = replica.get_param("id")
>> +replica_uuid = replica.get_param("uuid")
>> +sys.stdout.push_filter(replica_uuid, "<replica uuid>")
>> +
>> +replica.admin("box.info.id == {}".format(replica_id))
>> +replica.admin("not box.info.ro")
>> +replica.admin("box.info.lsn == 0")
>> +replica.admin("box.info.vclock[{}] == nil".format(replica_id))
>> +
>> +print("-------------------------------------------------------------")
>> +print("Modify data to bump LSN and check box.info")
>> +print("-------------------------------------------------------------")
>> +replica.admin("box.space._schema:insert{'test', 48}")
>> +replica.admin("box.info.lsn == 1")
>> +replica.admin("box.info.vclock[{}] == 1".format(replica_id))
>> +
>> +print("-------------------------------------------------------------")
>> +print("Connect master to replica")
>> +print("-------------------------------------------------------------")
>> +replication_source = yaml.safe_load(replica.admin("box.cfg.listen",
>> silent = True))[0]
>> +sys.stdout.push_filter(replication_source, "<replication_source>")
>> +master.admin("box.cfg{{ replication_source = '{}'
>> }}".format(replication_source))
>> master.wait_lsn(replica_id, replica.get_lsn(replica_id))
>> -print '-------------------------------------------------------------'
>> -print 'Disconnect replica from master'
>> -print '-------------------------------------------------------------'
>> -replica.admin('box.cfg { replication_source = "" }')
>> +print("-------------------------------------------------------------")
>> +print("Disconnect replica from master")
>> +print("-------------------------------------------------------------")
>> +replica.admin("box.cfg { replication_source = '' }")
>> -print '-------------------------------------------------------------'
>> -print 'Unregister replica'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("Unregister replica")
>> +print("-------------------------------------------------------------")
>> -master.admin('box.space._cluster:delete{%d} ~= nil' % replica_id)
>> +master.admin("box.space._cluster:delete{{{}}} ~=
>> nil".format(replica_id))
>> # gh-1219: LSN must not be removed from vclock on unregister
>> -master.admin('box.info.vclock[%d] == 1' % replica_id)
>> +master.admin("box.info.vclock[{}] == 1".format(replica_id))
>> -print '-------------------------------------------------------------'
>> -print 'Modify data to bump LSN on replica'
>> -print '-------------------------------------------------------------'
>> -replica.admin('box.space._schema:insert{"tost", 49}')
>> -replica.admin('box.info.lsn == 2')
>> -replica.admin('box.info.vclock[%d] == 2' % replica_id)
>> +print("-------------------------------------------------------------")
>> +print("Modify data to bump LSN on replica")
>> +print("-------------------------------------------------------------")
>> +replica.admin("box.space._schema:insert{'tost', 49}")
>> +replica.admin("box.info.lsn == 2")
>> +replica.admin("box.info.vclock[{}] == 2".format(replica_id))
>> -print '-------------------------------------------------------------'
>> -print 'Master must not crash then receives orphan rows from replica'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("Master must not crash then receives orphan rows from replica")
>> +print("-------------------------------------------------------------")
>> -replication_source =
>> yaml.safe_load(replica.admin('box.cfg.listen', silent = True))[0]
>> -sys.stdout.push_filter(replication_source, '<replication>')
>> -master.admin("box.cfg{ replication = '%s' }" % replication_source)
>> +replication_source = yaml.safe_load(replica.admin("box.cfg.listen",
>> silent = True))[0]
>> +sys.stdout.push_filter(replication_source, "<replication>")
>> +master.admin("box.cfg{{ replication = '{}'
>> }}".format(replication_source))
>> master.wait_lsn(replica_id, replica.get_lsn(replica_id))
>> -master.admin('box.info.vclock[%d] == 2' % replica_id)
>> +master.admin("box.info.vclock[{}] == 2".format(replica_id))
>> master.admin("box.cfg{ replication = '' }")
>> replica.stop()
>> replica.cleanup()
>> -print '-------------------------------------------------------------'
>> -print 'Start a new replica and check that server_id, LSN is re-used'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("Start a new replica and check that server_id, LSN is re-used")
>> +print("-------------------------------------------------------------")
>> #
>> # gh-1219: Proper removal of servers with non-zero LSN from _cluster
>> @@ -196,36 +201,36 @@ print
>> '-------------------------------------------------------------'
>> # Snapshot is required. Otherwise a relay will skip records made by
>> previous
>> # replica with the re-used id.
>> master.admin("box.snapshot()")
>> -master.admin('box.info.vclock[%d] == 2' % replica_id)
>> +master.admin("box.info.vclock[{}] == 2".format(replica_id))
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir
>> replica.rpl_master = master
>> replica.deploy()
>> replica.wait_lsn(master_id, master.get_lsn(master_id))
>> # Check that replica_id was re-used
>> -replica.admin('box.info.id == %d' % replica_id)
>> -replica.admin('not box.info.ro')
>> +replica.admin("box.info.id == {}".format(replica_id))
>> +replica.admin("not box.info.ro")
>> # All records were succesfully recovered.
>> # Replica should have the same vclock as master.
>> -master.admin('box.info.vclock[%d] == 2' % replica_id)
>> -replica.admin('box.info.vclock[%d] == 2' % replica_id)
>> +master.admin("box.info.vclock[{}] == 2".format(replica_id))
>> +replica.admin("box.info.vclock[{}] == 2".format(replica_id))
>> replica.stop()
>> replica.cleanup()
>> -master.admin('box.space._cluster:delete{%d} ~= nil' % replica_id)
>> +master.admin("box.space._cluster:delete{{{}}} ~=
>> nil".format(replica_id))
>> -print '-------------------------------------------------------------'
>> -print 'JOIN replica to read-only master'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("JOIN replica to read-only master")
>> +print("-------------------------------------------------------------")
>> # master server
>> master = server
>> -master.admin('box.cfg { read_only = true }')
>> +master.admin("box.cfg { read_only = true }")
>> #gh-1230 Assertion vclock_has on attempt to JOIN read-only master
>> failed = TarantoolServer(server.ini)
>> -failed.script = 'replication-py/failed.lua'
>> +failed.script = "replication-py/failed.lua"
>> failed.vardir = server.vardir
>> failed.rpl_master = master
>> failed.name = "failed"
>> @@ -235,16 +240,16 @@ try:
>> except Exception as e:
>> line = "ER_READONLY"
>> if failed.logfile_pos.seek_once(line) >= 0:
>> - print "'%s' exists in server log" % line
>> + print("\'{}\' exists in server log".format(line))
>> -master.admin('box.cfg { read_only = false }')
>> +master.admin("box.cfg { read_only = false }")
>> -print '-------------------------------------------------------------'
>> -print 'JOIN replica with different replica set UUID'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("JOIN replica with different replica set UUID")
>> +print("-------------------------------------------------------------")
>> failed = TarantoolServer(server.ini)
>> -failed.script = 'replication-py/uuid_mismatch.lua'
>> +failed.script = "replication-py/uuid_mismatch.lua"
>> failed.vardir = server.vardir
>> failed.rpl_master = master
>> failed.name = "uuid_mismatch"
>> @@ -254,15 +259,15 @@ try:
>> except Exception as e:
>> line = "ER_REPLICASET_UUID_MISMATCH"
>> if failed.logfile_pos.seek_once(line) >= 0:
>> - print "'%s' exists in server log" % line
>> + print("\'{}\' exists in server log".format(line))
>> failed.cleanup()
>> -print '-------------------------------------------------------------'
>> -print 'Cleanup'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("Cleanup")
>> +print("-------------------------------------------------------------")
>> # Cleanup
>> sys.stdout.pop_filter()
>> master.admin("box.schema.user.revoke('guest', 'replication')")
>> -master.admin('box.space._cluster:delete{2} ~= nil')
>> +master.admin("box.space._cluster:delete{2} ~= nil")
>> diff --git a/test/replication-py/conflict.test.py
>> b/test/replication-py/conflict.test.py
>> index 1dcd66765..5e19d0c40 100644
>> --- a/test/replication-py/conflict.test.py
>> +++ b/test/replication-py/conflict.test.py
>> @@ -1,35 +1,37 @@
>> +from __future__ import print_function
>> +
>> from lib.tarantool_server import TarantoolServer
>> from time import sleep
>> import yaml
>> -def check_replication(nodes, select_args=''):
>> +def check_replication(nodes, select_args=""):
>> for node in nodes:
>> - node.admin('box.space.test:select{%s}' % select_args)
>> + node.admin("box.space.test:select{{{}}}".format(select_args))
>> master = server
>> master.admin("box.schema.user.grant('guest', 'replication')")
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir
>> replica.rpl_master = master
>> replica.deploy()
>> def parallel_run(cmd1, cmd2, compare):
>> - print 'parallel send: %s' % cmd1
>> - print 'parallel send: %s' % cmd2
>> - master.admin.socket.sendall('%s\n' % cmd1)
>> - replica.admin.socket.sendall('%s\n' % cmd2)
>> + print("parallel send: {}".format(cmd1))
>> + print("parallel send: {}".format(cmd2))
>> + master.admin.socket.sendall("{}\n".format(cmd1))
>> + replica.admin.socket.sendall("{}\n".format(cmd2))
>> master.admin.socket.recv(2048)
>> replica.admin.socket.recv(2048)
>> # wait for status changing in tarantool
>> master_status = yaml.safe_load(master.admin(
>> - 'box.info().replication[2].upstream.status', silent=True
>> + "box.info().replication[2].upstream.status", silent=True
>> ))[0]
>> replica_status = yaml.safe_load(replica.admin(
>> - 'box.info().replication[1].upstream.status', silent=True
>> + "box.info().replication[1].upstream.status", silent=True
>> ))[0]
>> # wait for status
>> @@ -37,11 +39,11 @@ def parallel_run(cmd1, cmd2, compare):
>> while True:
>> sleep(0.01)
>> if any(results):
>> - print 'replication state is correct'
>> + print("replication state is correct")
>> break
>> def prepare_cluster():
>> - print 'reset master-master replication'
>> + print("reset master-master replication")
>> master.stop()
>> master.cleanup()
>> master.start()
>> @@ -51,13 +53,13 @@ def prepare_cluster():
>> replica.cleanup()
>> replica.start()
>> - master.admin("box.cfg{replication='%s'}" % replica.iproto.uri,
>> silent=True)
>> - r1_id = replica.get_param('id')
>> - r2_id = master.get_param('id')
>> +
>> master.admin("box.cfg{{replication='{}'}}".format(replica.iproto.uri),
>> silent=True)
>> + r1_id = replica.get_param("id")
>> + r2_id = master.get_param("id")
>> master.admin("space = box.schema.space.create('test')",
>> silent=True)
>> master.admin("index = space:create_index('primary', { type =
>> 'tree'})", silent=True)
>> - master.admin('for k = 1, 9 do space:insert{k, k*k} end',
>> silent=True)
>> + master.admin("for k = 1, 9 do space:insert{k, k*k} end",
>> silent=True)
>> # wait lsn
>> replica.wait_lsn(r2_id, master.get_lsn(r2_id))
>> @@ -69,20 +71,20 @@ parallel_run(
>> "box.space.test:update(1, {{'#', 2, 1}})",
>> "box.space.test:update(1, {{'#', 2, 1}})",
>> [
>> - lambda x,y: x == 'stopped' or y == 'stopped',
>> - lambda x,y: x == 'follow' and y == 'follow',
>> + lambda x,y: x == "stopped" or y == "stopped",
>> + lambda x,y: x == "follow" and y == "follow",
>> ]
>> )
>> -check_replication([master, replica], '1')
>> +check_replication([master, replica], "1")
>> # test2: insert different values with single id
>> prepare_cluster()
>> parallel_run(
>> - 'box.space.test:insert{20, 1}',
>> - 'box.space.test:insert{20, 2}',
>> + "box.space.test:insert{20, 1}",
>> + "box.space.test:insert{20, 2}",
>> [
>> - lambda x,y: x == 'stopped' or y == 'stopped',
>> - lambda x,y: x == 'follow' and y == 'follow',
>> + lambda x,y: x == "stopped" or y == "stopped",
>> + lambda x,y: x == "follow" and y == "follow",
>> ]
>> )
>> @@ -91,7 +93,7 @@ prepare_cluster()
>> parallel_run(
>> "box.space.test:update(2, {{'=', 2, 1}})",
>> "box.space.test:update(2, {{'=', 2, 2}})",
>> - [lambda x,y: x == 'follow' and y == 'follow',]
>> + [lambda x,y: x == "follow" and y == "follow",]
>> )
>> # test4: CRDT increment with update
>> @@ -99,16 +101,16 @@ prepare_cluster()
>> parallel_run(
>> "box.space.test:update(1, {{'+', 2, 1}})",
>> "box.space.test:update(1, {{'+', 2, 2}})",
>> - [lambda x,y: x == 'follow' and y == 'follow',]
>> + [lambda x,y: x == "follow" and y == "follow",]
>> )
>> -check_replication([master, replica], '1')
>> +check_replication([master, replica], "1")
>> # test5: delete not existing key
>> prepare_cluster()
>> parallel_run(
>> "box.space.test:delete(999)",
>> "box.space.test:delete(999)",
>> - [lambda x,y: x == 'follow' and y == 'follow',]
>> + [lambda x,y: x == "follow" and y == "follow",]
>> )
>> check_replication([master, replica])
>> diff --git a/test/replication-py/init_storage.test.py
>> b/test/replication-py/init_storage.test.py
>> index 4be531f8d..30ba75405 100644
>> --- a/test/replication-py/init_storage.test.py
>> +++ b/test/replication-py/init_storage.test.py
>> @@ -1,80 +1,82 @@
>> +from __future__ import print_function
>> +
>> import os
>> import glob
>> from lib.tarantool_server import TarantoolServer
>> # master server
>> master = server
>> -master_id = master.get_param('id')
>> +master_id = master.get_param("id")
>> master.admin("box.schema.user.grant('guest', 'replication')")
>> -print '-------------------------------------------------------------'
>> -print 'gh-484: JOIN doesn\'t save data to snapshot with TREE index'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("gh-484: JOIN doesn't save data to snapshot with TREE index")
>> +print("-------------------------------------------------------------")
>> master.admin("space = box.schema.space.create('test', {id = 42})")
>> master.admin("index = space:create_index('primary', { type =
>> 'tree'})")
>> -master.admin('for k = 1, 9 do space:insert{k, k*k} end')
>> +master.admin("for k = 1, 9 do space:insert{k, k*k} end")
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir #os.path.join(server.vardir, 'replica')
>> replica.rpl_master = master
>> replica.deploy()
>> -replica.admin('box.space.test:select()')
>> +replica.admin("box.space.test:select()")
>> replica.restart()
>> -replica.admin('box.space.test:select()')
>> +replica.admin("box.space.test:select()")
>> replica.stop()
>> replica.cleanup()
>> -print '-------------------------------------------------------------'
>> -print 'replica test 2 (must be ok)'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("replica test 2 (must be ok)")
>> +print("-------------------------------------------------------------")
>> master.restart()
>> -master.admin('for k = 10, 19 do box.space[42]:insert{k, k*k*k} end')
>> +master.admin("for k = 10, 19 do box.space[42]:insert{k, k*k*k} end")
>> master.admin("for k = 20, 29 do box.space[42]:upsert({k}, {}) end")
>> lsn = master.get_lsn(master_id)
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir #os.path.join(server.vardir, 'replica')
>> replica.rpl_master = master
>> replica.deploy()
>> -replica.admin('space = box.space.test');
>> +replica.admin("space = box.space.test");
>> replica.wait_lsn(master_id, lsn)
>> for i in range(1, 20):
>> - replica.admin('space:get{%d}' % i)
>> + replica.admin("space:get{{{}}}".format(i))
>> replica.stop()
>> replica.cleanup()
>> -print '-------------------------------------------------------------'
>> -print 'reconnect on JOIN/SUBSCRIBE'
>> -print '-------------------------------------------------------------'
>> +print("-------------------------------------------------------------")
>> +print("reconnect on JOIN/SUBSCRIBE")
>> +print("-------------------------------------------------------------")
>> server.stop()
>> replica = TarantoolServer(server.ini)
>> -replica.script = 'replication-py/replica.lua'
>> +replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir #os.path.join(server.vardir, 'replica')
>> replica.rpl_master = master
>> replica.deploy(wait=False)
>> -print 'waiting reconnect on JOIN...'
>> +print("waiting reconnect on JOIN...")
>> server.start()
>> replica.wait_until_started()
>> -print 'ok'
>> +print("ok")
>> replica.stop()
>> server.stop()
>> -print 'waiting reconnect on SUBSCRIBE...'
>> +print("waiting reconnect on SUBSCRIBE...")
>> replica.start(wait=False)
>> server.start()
>> replica.wait_until_started()
>> -print 'ok'
>> +print("ok")
>> replica.stop()
>> replica.cleanup()
>> diff --git a/test/replication-py/multi.test.py
>> b/test/replication-py/multi.test.py
>> index 233802458..a346fd560 100644
>> --- a/test/replication-py/multi.test.py
>> +++ b/test/replication-py/multi.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import sys
>> import os
>> from lib.tarantool_server import TarantoolServer
>> @@ -14,17 +16,17 @@ master.admin("fiber = require('fiber')")
>> master.admin("box.schema.user.grant('guest', 'replication')")
>> master.admin("box.schema.user.grant('guest', 'execute', 'universe')")
>> -print
>> '----------------------------------------------------------------------'
>> -print 'Bootstrap replicas'
>> -print
>> '----------------------------------------------------------------------'
>> +print("----------------------------------------------------------------------")
>>
>> +print("Bootstrap replicas")
>> +print("----------------------------------------------------------------------")
>>
>> # Start replicas
>> -master.id = master.get_param('id')
>> +master.id = master.get_param("id")
>> cluster = [ master ]
>> for i in range(REPLICA_N - 1):
>> server = TarantoolServer(server.ini)
>> - server.script = 'replication-py/replica.lua'
>> - server.vardir = os.path.join(server.vardir, 'replica',
>> str(master.id + i))
>> + server.script = "replication-py/replica.lua"
>> + server.vardir = os.path.join(server.vardir, "replica",
>> str(master.id + i))
>> server.rpl_master = master
>> server.deploy()
>> # Wait replica to fully bootstrap.
>> @@ -34,14 +36,14 @@ for i in range(REPLICA_N - 1):
>> # Make a list of servers
>> sources = []
>> for server in cluster:
>> - sources.append(yaml.safe_load(server.admin('box.cfg.listen', silent
>> = True))[0])
>> - server.id = server.get_param('id')
>> + sources.append(yaml.safe_load(server.admin("box.cfg.listen", silent
>> = True))[0])
>> + server.id = server.get_param("id")
>> -print 'done'
>> +print("done")
>> -print
>> '----------------------------------------------------------------------'
>> -print 'Make a full mesh'
>> -print
>> '----------------------------------------------------------------------'
>> +print("----------------------------------------------------------------------")
>>
>> +print("Make a full mesh")
>> +print("----------------------------------------------------------------------")
>>
>> # Connect each server to each other to make full mesh
>> for server in cluster:
>> @@ -54,55 +56,55 @@ for server in cluster:
>> while #box.info.vclock[...] ~= nil do
>> fiber.sleep(0.01)
>> end;""", server2.id)
>> - print 'server', server.id, "connected"
>> + print("server {} connected".format(server.id))
>> -print 'done'
>> +print("done")
>> -print
>> '----------------------------------------------------------------------'
>> -print 'Test inserts'
>> -print
>> '----------------------------------------------------------------------'
>> +print("----------------------------------------------------------------------")
>>
>> +print("Test inserts")
>> +print("----------------------------------------------------------------------")
>>
>> -print 'Create a test space'
>> +print("Create a test space")
>> master.admin("_ = box.schema.space.create('test')")
>> master.admin("_ = box.space.test:create_index('primary')")
>> master_lsn = master.get_lsn(master.id)
>> # Wait changes to propagate to replicas
>> for server in cluster:
>> server.wait_lsn(master.id, master_lsn)
>> - print 'server', server.id, 'is ok'
>> -print
>> + print("server {} is ok".format(server.id))
>> +print("")
>> -print 'Insert records'
>> +print("Insert records")
>> for i in range(ROW_N):
>> server = cluster[i % REPLICA_N]
>> - server.admin("box.space.test:insert{%d, %s}" % (i, server.id),
>> silent = True)
>> -print 'inserted %d records' % ROW_N
>> -print
>> + server.admin("box.space.test:insert{{{}, {}}}".format(i,
>> server.id), silent = True)
>> +print("inserted {} records".format(ROW_N))
>> +print("")
>> -print 'Synchronize'
>> +print("Synchronize")
>> for server1 in cluster:
>> for server2 in cluster:
>> server1.wait_lsn(server2.id, server2.get_lsn(server2.id))
>> - print 'server', server1.id, 'done'
>> -print 'done'
>> -print
>> + print("server {} done".format(server1.id))
>> +print("done")
>> +print("")
>> -print 'Check data'
>> +print("Check data")
>> for server in cluster:
>> cnt = yaml.safe_load(server.admin("box.space.test:len()",
>> silent = True))[0]
>> - print 'server', server.id, 'is', cnt == ROW_N and 'ok' or 'not ok'
>> -print 'Done'
>> -print
>> + print("server {} is {}".format(server.id, cnt == ROW_N and "ok"
>> or "not ok"))
>> +print("Done")
>> +print("")
>> -print
>> -print
>> '----------------------------------------------------------------------'
>> -print 'Cleanup'
>> -print
>> '----------------------------------------------------------------------'
>> +print("")
>> +print("----------------------------------------------------------------------")
>>
>> +print("Cleanup")
>> +print("----------------------------------------------------------------------")
>>
>> for server in cluster:
>> server.stop()
>> - print 'server', server.id, 'done'
>> -print
>> + print("server {} done".format(server.id))
>> +print("")
>> master.cleanup()
>> master.deploy()
>> diff --git a/test/replication-py/swap.result
>> b/test/replication-py/swap.result
>> index 7e6e66483..f96da95e4 100644
>> --- a/test/replication-py/swap.result
>> +++ b/test/replication-py/swap.result
>> @@ -23,34 +23,34 @@ index = s:create_index('primary', {type = 'tree'})
>> ---
>> ...
>> test 0 iteration
>> -box.space.memtx:insert{0, "tuple 0"}
>> +box.space.memtx:insert{0, 'tuple 0'}
>> -
>> - [0, 'tuple 0']
>> -box.space.memtx:insert{1, "tuple 1"}
>> +box.space.memtx:insert{1, 'tuple 1'}
>> -
>> - [1, 'tuple 1']
>> -box.space.memtx:insert{2, "tuple 2"}
>> +box.space.memtx:insert{2, 'tuple 2'}
>> -
>> - [2, 'tuple 2']
>> -box.space.memtx:insert{3, "tuple 3"}
>> +box.space.memtx:insert{3, 'tuple 3'}
>> -
>> - [3, 'tuple 3']
>> -box.space.memtx:insert{4, "tuple 4"}
>> +box.space.memtx:insert{4, 'tuple 4'}
>> -
>> - [4, 'tuple 4']
>> -box.space.vinyl:insert{0, "tuple 0"}
>> +box.space.vinyl:insert{0, 'tuple 0'}
>> -
>> - [0, 'tuple 0']
>> -box.space.vinyl:insert{1, "tuple 1"}
>> +box.space.vinyl:insert{1, 'tuple 1'}
>> -
>> - [1, 'tuple 1']
>> -box.space.vinyl:insert{2, "tuple 2"}
>> +box.space.vinyl:insert{2, 'tuple 2'}
>> -
>> - [2, 'tuple 2']
>> -box.space.vinyl:insert{3, "tuple 3"}
>> +box.space.vinyl:insert{3, 'tuple 3'}
>> -
>> - [3, 'tuple 3']
>> -box.space.vinyl:insert{4, "tuple 4"}
>> +box.space.vinyl:insert{4, 'tuple 4'}
>> -
>> - [4, 'tuple 4']
>> box.space.memtx:select{0}
>> @@ -83,34 +83,34 @@ box.space.vinyl:select{3}
>> box.space.vinyl:select{4}
>> -
>> - [4, 'tuple 4']
>> -box.space.memtx:insert{5, "tuple 5"}
>> +box.space.memtx:insert{5, 'tuple 5'}
>> -
>> - [5, 'tuple 5']
>> -box.space.memtx:insert{6, "tuple 6"}
>> +box.space.memtx:insert{6, 'tuple 6'}
>> -
>> - [6, 'tuple 6']
>> -box.space.memtx:insert{7, "tuple 7"}
>> +box.space.memtx:insert{7, 'tuple 7'}
>> -
>> - [7, 'tuple 7']
>> -box.space.memtx:insert{8, "tuple 8"}
>> +box.space.memtx:insert{8, 'tuple 8'}
>> -
>> - [8, 'tuple 8']
>> -box.space.memtx:insert{9, "tuple 9"}
>> +box.space.memtx:insert{9, 'tuple 9'}
>> -
>> - [9, 'tuple 9']
>> -box.space.vinyl:insert{5, "tuple 5"}
>> +box.space.vinyl:insert{5, 'tuple 5'}
>> -
>> - [5, 'tuple 5']
>> -box.space.vinyl:insert{6, "tuple 6"}
>> +box.space.vinyl:insert{6, 'tuple 6'}
>> -
>> - [6, 'tuple 6']
>> -box.space.vinyl:insert{7, "tuple 7"}
>> +box.space.vinyl:insert{7, 'tuple 7'}
>> -
>> - [7, 'tuple 7']
>> -box.space.vinyl:insert{8, "tuple 8"}
>> +box.space.vinyl:insert{8, 'tuple 8'}
>> -
>> - [8, 'tuple 8']
>> -box.space.vinyl:insert{9, "tuple 9"}
>> +box.space.vinyl:insert{9, 'tuple 9'}
>> -
>> - [9, 'tuple 9']
>> box.space.memtx:select{5}
>> @@ -149,34 +149,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{10, "tuple 10"}
>> +box.space.memtx:insert{10, 'tuple 10'}
>> -
>> - [10, 'tuple 10']
>> -box.space.memtx:insert{11, "tuple 11"}
>> +box.space.memtx:insert{11, 'tuple 11'}
>> -
>> - [11, 'tuple 11']
>> -box.space.memtx:insert{12, "tuple 12"}
>> +box.space.memtx:insert{12, 'tuple 12'}
>> -
>> - [12, 'tuple 12']
>> -box.space.memtx:insert{13, "tuple 13"}
>> +box.space.memtx:insert{13, 'tuple 13'}
>> -
>> - [13, 'tuple 13']
>> -box.space.memtx:insert{14, "tuple 14"}
>> +box.space.memtx:insert{14, 'tuple 14'}
>> -
>> - [14, 'tuple 14']
>> -box.space.vinyl:insert{10, "tuple 10"}
>> +box.space.vinyl:insert{10, 'tuple 10'}
>> -
>> - [10, 'tuple 10']
>> -box.space.vinyl:insert{11, "tuple 11"}
>> +box.space.vinyl:insert{11, 'tuple 11'}
>> -
>> - [11, 'tuple 11']
>> -box.space.vinyl:insert{12, "tuple 12"}
>> +box.space.vinyl:insert{12, 'tuple 12'}
>> -
>> - [12, 'tuple 12']
>> -box.space.vinyl:insert{13, "tuple 13"}
>> +box.space.vinyl:insert{13, 'tuple 13'}
>> -
>> - [13, 'tuple 13']
>> -box.space.vinyl:insert{14, "tuple 14"}
>> +box.space.vinyl:insert{14, 'tuple 14'}
>> -
>> - [14, 'tuple 14']
>> box.space.memtx:select{10}
>> @@ -209,34 +209,34 @@ box.space.vinyl:select{13}
>> box.space.vinyl:select{14}
>> -
>> - [14, 'tuple 14']
>> -box.space.memtx:insert{15, "tuple 15"}
>> +box.space.memtx:insert{15, 'tuple 15'}
>> -
>> - [15, 'tuple 15']
>> -box.space.memtx:insert{16, "tuple 16"}
>> +box.space.memtx:insert{16, 'tuple 16'}
>> -
>> - [16, 'tuple 16']
>> -box.space.memtx:insert{17, "tuple 17"}
>> +box.space.memtx:insert{17, 'tuple 17'}
>> -
>> - [17, 'tuple 17']
>> -box.space.memtx:insert{18, "tuple 18"}
>> +box.space.memtx:insert{18, 'tuple 18'}
>> -
>> - [18, 'tuple 18']
>> -box.space.memtx:insert{19, "tuple 19"}
>> +box.space.memtx:insert{19, 'tuple 19'}
>> -
>> - [19, 'tuple 19']
>> -box.space.vinyl:insert{15, "tuple 15"}
>> +box.space.vinyl:insert{15, 'tuple 15'}
>> -
>> - [15, 'tuple 15']
>> -box.space.vinyl:insert{16, "tuple 16"}
>> +box.space.vinyl:insert{16, 'tuple 16'}
>> -
>> - [16, 'tuple 16']
>> -box.space.vinyl:insert{17, "tuple 17"}
>> +box.space.vinyl:insert{17, 'tuple 17'}
>> -
>> - [17, 'tuple 17']
>> -box.space.vinyl:insert{18, "tuple 18"}
>> +box.space.vinyl:insert{18, 'tuple 18'}
>> -
>> - [18, 'tuple 18']
>> -box.space.vinyl:insert{19, "tuple 19"}
>> +box.space.vinyl:insert{19, 'tuple 19'}
>> -
>> - [19, 'tuple 19']
>> box.space.memtx:select{15}
>> @@ -276,34 +276,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 1 iteration
>> -box.space.memtx:insert{20, "tuple 20"}
>> +box.space.memtx:insert{20, 'tuple 20'}
>> -
>> - [20, 'tuple 20']
>> -box.space.memtx:insert{21, "tuple 21"}
>> +box.space.memtx:insert{21, 'tuple 21'}
>> -
>> - [21, 'tuple 21']
>> -box.space.memtx:insert{22, "tuple 22"}
>> +box.space.memtx:insert{22, 'tuple 22'}
>> -
>> - [22, 'tuple 22']
>> -box.space.memtx:insert{23, "tuple 23"}
>> +box.space.memtx:insert{23, 'tuple 23'}
>> -
>> - [23, 'tuple 23']
>> -box.space.memtx:insert{24, "tuple 24"}
>> +box.space.memtx:insert{24, 'tuple 24'}
>> -
>> - [24, 'tuple 24']
>> -box.space.vinyl:insert{20, "tuple 20"}
>> +box.space.vinyl:insert{20, 'tuple 20'}
>> -
>> - [20, 'tuple 20']
>> -box.space.vinyl:insert{21, "tuple 21"}
>> +box.space.vinyl:insert{21, 'tuple 21'}
>> -
>> - [21, 'tuple 21']
>> -box.space.vinyl:insert{22, "tuple 22"}
>> +box.space.vinyl:insert{22, 'tuple 22'}
>> -
>> - [22, 'tuple 22']
>> -box.space.vinyl:insert{23, "tuple 23"}
>> +box.space.vinyl:insert{23, 'tuple 23'}
>> -
>> - [23, 'tuple 23']
>> -box.space.vinyl:insert{24, "tuple 24"}
>> +box.space.vinyl:insert{24, 'tuple 24'}
>> -
>> - [24, 'tuple 24']
>> box.space.memtx:select{20}
>> @@ -336,34 +336,34 @@ box.space.vinyl:select{23}
>> box.space.vinyl:select{24}
>> -
>> - [24, 'tuple 24']
>> -box.space.memtx:insert{25, "tuple 25"}
>> +box.space.memtx:insert{25, 'tuple 25'}
>> -
>> - [25, 'tuple 25']
>> -box.space.memtx:insert{26, "tuple 26"}
>> +box.space.memtx:insert{26, 'tuple 26'}
>> -
>> - [26, 'tuple 26']
>> -box.space.memtx:insert{27, "tuple 27"}
>> +box.space.memtx:insert{27, 'tuple 27'}
>> -
>> - [27, 'tuple 27']
>> -box.space.memtx:insert{28, "tuple 28"}
>> +box.space.memtx:insert{28, 'tuple 28'}
>> -
>> - [28, 'tuple 28']
>> -box.space.memtx:insert{29, "tuple 29"}
>> +box.space.memtx:insert{29, 'tuple 29'}
>> -
>> - [29, 'tuple 29']
>> -box.space.vinyl:insert{25, "tuple 25"}
>> +box.space.vinyl:insert{25, 'tuple 25'}
>> -
>> - [25, 'tuple 25']
>> -box.space.vinyl:insert{26, "tuple 26"}
>> +box.space.vinyl:insert{26, 'tuple 26'}
>> -
>> - [26, 'tuple 26']
>> -box.space.vinyl:insert{27, "tuple 27"}
>> +box.space.vinyl:insert{27, 'tuple 27'}
>> -
>> - [27, 'tuple 27']
>> -box.space.vinyl:insert{28, "tuple 28"}
>> +box.space.vinyl:insert{28, 'tuple 28'}
>> -
>> - [28, 'tuple 28']
>> -box.space.vinyl:insert{29, "tuple 29"}
>> +box.space.vinyl:insert{29, 'tuple 29'}
>> -
>> - [29, 'tuple 29']
>> box.space.memtx:select{25}
>> @@ -402,34 +402,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{30, "tuple 30"}
>> +box.space.memtx:insert{30, 'tuple 30'}
>> -
>> - [30, 'tuple 30']
>> -box.space.memtx:insert{31, "tuple 31"}
>> +box.space.memtx:insert{31, 'tuple 31'}
>> -
>> - [31, 'tuple 31']
>> -box.space.memtx:insert{32, "tuple 32"}
>> +box.space.memtx:insert{32, 'tuple 32'}
>> -
>> - [32, 'tuple 32']
>> -box.space.memtx:insert{33, "tuple 33"}
>> +box.space.memtx:insert{33, 'tuple 33'}
>> -
>> - [33, 'tuple 33']
>> -box.space.memtx:insert{34, "tuple 34"}
>> +box.space.memtx:insert{34, 'tuple 34'}
>> -
>> - [34, 'tuple 34']
>> -box.space.vinyl:insert{30, "tuple 30"}
>> +box.space.vinyl:insert{30, 'tuple 30'}
>> -
>> - [30, 'tuple 30']
>> -box.space.vinyl:insert{31, "tuple 31"}
>> +box.space.vinyl:insert{31, 'tuple 31'}
>> -
>> - [31, 'tuple 31']
>> -box.space.vinyl:insert{32, "tuple 32"}
>> +box.space.vinyl:insert{32, 'tuple 32'}
>> -
>> - [32, 'tuple 32']
>> -box.space.vinyl:insert{33, "tuple 33"}
>> +box.space.vinyl:insert{33, 'tuple 33'}
>> -
>> - [33, 'tuple 33']
>> -box.space.vinyl:insert{34, "tuple 34"}
>> +box.space.vinyl:insert{34, 'tuple 34'}
>> -
>> - [34, 'tuple 34']
>> box.space.memtx:select{30}
>> @@ -462,34 +462,34 @@ box.space.vinyl:select{33}
>> box.space.vinyl:select{34}
>> -
>> - [34, 'tuple 34']
>> -box.space.memtx:insert{35, "tuple 35"}
>> +box.space.memtx:insert{35, 'tuple 35'}
>> -
>> - [35, 'tuple 35']
>> -box.space.memtx:insert{36, "tuple 36"}
>> +box.space.memtx:insert{36, 'tuple 36'}
>> -
>> - [36, 'tuple 36']
>> -box.space.memtx:insert{37, "tuple 37"}
>> +box.space.memtx:insert{37, 'tuple 37'}
>> -
>> - [37, 'tuple 37']
>> -box.space.memtx:insert{38, "tuple 38"}
>> +box.space.memtx:insert{38, 'tuple 38'}
>> -
>> - [38, 'tuple 38']
>> -box.space.memtx:insert{39, "tuple 39"}
>> +box.space.memtx:insert{39, 'tuple 39'}
>> -
>> - [39, 'tuple 39']
>> -box.space.vinyl:insert{35, "tuple 35"}
>> +box.space.vinyl:insert{35, 'tuple 35'}
>> -
>> - [35, 'tuple 35']
>> -box.space.vinyl:insert{36, "tuple 36"}
>> +box.space.vinyl:insert{36, 'tuple 36'}
>> -
>> - [36, 'tuple 36']
>> -box.space.vinyl:insert{37, "tuple 37"}
>> +box.space.vinyl:insert{37, 'tuple 37'}
>> -
>> - [37, 'tuple 37']
>> -box.space.vinyl:insert{38, "tuple 38"}
>> +box.space.vinyl:insert{38, 'tuple 38'}
>> -
>> - [38, 'tuple 38']
>> -box.space.vinyl:insert{39, "tuple 39"}
>> +box.space.vinyl:insert{39, 'tuple 39'}
>> -
>> - [39, 'tuple 39']
>> box.space.memtx:select{35}
>> @@ -529,34 +529,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 2 iteration
>> -box.space.memtx:insert{40, "tuple 40"}
>> +box.space.memtx:insert{40, 'tuple 40'}
>> -
>> - [40, 'tuple 40']
>> -box.space.memtx:insert{41, "tuple 41"}
>> +box.space.memtx:insert{41, 'tuple 41'}
>> -
>> - [41, 'tuple 41']
>> -box.space.memtx:insert{42, "tuple 42"}
>> +box.space.memtx:insert{42, 'tuple 42'}
>> -
>> - [42, 'tuple 42']
>> -box.space.memtx:insert{43, "tuple 43"}
>> +box.space.memtx:insert{43, 'tuple 43'}
>> -
>> - [43, 'tuple 43']
>> -box.space.memtx:insert{44, "tuple 44"}
>> +box.space.memtx:insert{44, 'tuple 44'}
>> -
>> - [44, 'tuple 44']
>> -box.space.vinyl:insert{40, "tuple 40"}
>> +box.space.vinyl:insert{40, 'tuple 40'}
>> -
>> - [40, 'tuple 40']
>> -box.space.vinyl:insert{41, "tuple 41"}
>> +box.space.vinyl:insert{41, 'tuple 41'}
>> -
>> - [41, 'tuple 41']
>> -box.space.vinyl:insert{42, "tuple 42"}
>> +box.space.vinyl:insert{42, 'tuple 42'}
>> -
>> - [42, 'tuple 42']
>> -box.space.vinyl:insert{43, "tuple 43"}
>> +box.space.vinyl:insert{43, 'tuple 43'}
>> -
>> - [43, 'tuple 43']
>> -box.space.vinyl:insert{44, "tuple 44"}
>> +box.space.vinyl:insert{44, 'tuple 44'}
>> -
>> - [44, 'tuple 44']
>> box.space.memtx:select{40}
>> @@ -589,34 +589,34 @@ box.space.vinyl:select{43}
>> box.space.vinyl:select{44}
>> -
>> - [44, 'tuple 44']
>> -box.space.memtx:insert{45, "tuple 45"}
>> +box.space.memtx:insert{45, 'tuple 45'}
>> -
>> - [45, 'tuple 45']
>> -box.space.memtx:insert{46, "tuple 46"}
>> +box.space.memtx:insert{46, 'tuple 46'}
>> -
>> - [46, 'tuple 46']
>> -box.space.memtx:insert{47, "tuple 47"}
>> +box.space.memtx:insert{47, 'tuple 47'}
>> -
>> - [47, 'tuple 47']
>> -box.space.memtx:insert{48, "tuple 48"}
>> +box.space.memtx:insert{48, 'tuple 48'}
>> -
>> - [48, 'tuple 48']
>> -box.space.memtx:insert{49, "tuple 49"}
>> +box.space.memtx:insert{49, 'tuple 49'}
>> -
>> - [49, 'tuple 49']
>> -box.space.vinyl:insert{45, "tuple 45"}
>> +box.space.vinyl:insert{45, 'tuple 45'}
>> -
>> - [45, 'tuple 45']
>> -box.space.vinyl:insert{46, "tuple 46"}
>> +box.space.vinyl:insert{46, 'tuple 46'}
>> -
>> - [46, 'tuple 46']
>> -box.space.vinyl:insert{47, "tuple 47"}
>> +box.space.vinyl:insert{47, 'tuple 47'}
>> -
>> - [47, 'tuple 47']
>> -box.space.vinyl:insert{48, "tuple 48"}
>> +box.space.vinyl:insert{48, 'tuple 48'}
>> -
>> - [48, 'tuple 48']
>> -box.space.vinyl:insert{49, "tuple 49"}
>> +box.space.vinyl:insert{49, 'tuple 49'}
>> -
>> - [49, 'tuple 49']
>> box.space.memtx:select{45}
>> @@ -655,34 +655,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{50, "tuple 50"}
>> +box.space.memtx:insert{50, 'tuple 50'}
>> -
>> - [50, 'tuple 50']
>> -box.space.memtx:insert{51, "tuple 51"}
>> +box.space.memtx:insert{51, 'tuple 51'}
>> -
>> - [51, 'tuple 51']
>> -box.space.memtx:insert{52, "tuple 52"}
>> +box.space.memtx:insert{52, 'tuple 52'}
>> -
>> - [52, 'tuple 52']
>> -box.space.memtx:insert{53, "tuple 53"}
>> +box.space.memtx:insert{53, 'tuple 53'}
>> -
>> - [53, 'tuple 53']
>> -box.space.memtx:insert{54, "tuple 54"}
>> +box.space.memtx:insert{54, 'tuple 54'}
>> -
>> - [54, 'tuple 54']
>> -box.space.vinyl:insert{50, "tuple 50"}
>> +box.space.vinyl:insert{50, 'tuple 50'}
>> -
>> - [50, 'tuple 50']
>> -box.space.vinyl:insert{51, "tuple 51"}
>> +box.space.vinyl:insert{51, 'tuple 51'}
>> -
>> - [51, 'tuple 51']
>> -box.space.vinyl:insert{52, "tuple 52"}
>> +box.space.vinyl:insert{52, 'tuple 52'}
>> -
>> - [52, 'tuple 52']
>> -box.space.vinyl:insert{53, "tuple 53"}
>> +box.space.vinyl:insert{53, 'tuple 53'}
>> -
>> - [53, 'tuple 53']
>> -box.space.vinyl:insert{54, "tuple 54"}
>> +box.space.vinyl:insert{54, 'tuple 54'}
>> -
>> - [54, 'tuple 54']
>> box.space.memtx:select{50}
>> @@ -715,34 +715,34 @@ box.space.vinyl:select{53}
>> box.space.vinyl:select{54}
>> -
>> - [54, 'tuple 54']
>> -box.space.memtx:insert{55, "tuple 55"}
>> +box.space.memtx:insert{55, 'tuple 55'}
>> -
>> - [55, 'tuple 55']
>> -box.space.memtx:insert{56, "tuple 56"}
>> +box.space.memtx:insert{56, 'tuple 56'}
>> -
>> - [56, 'tuple 56']
>> -box.space.memtx:insert{57, "tuple 57"}
>> +box.space.memtx:insert{57, 'tuple 57'}
>> -
>> - [57, 'tuple 57']
>> -box.space.memtx:insert{58, "tuple 58"}
>> +box.space.memtx:insert{58, 'tuple 58'}
>> -
>> - [58, 'tuple 58']
>> -box.space.memtx:insert{59, "tuple 59"}
>> +box.space.memtx:insert{59, 'tuple 59'}
>> -
>> - [59, 'tuple 59']
>> -box.space.vinyl:insert{55, "tuple 55"}
>> +box.space.vinyl:insert{55, 'tuple 55'}
>> -
>> - [55, 'tuple 55']
>> -box.space.vinyl:insert{56, "tuple 56"}
>> +box.space.vinyl:insert{56, 'tuple 56'}
>> -
>> - [56, 'tuple 56']
>> -box.space.vinyl:insert{57, "tuple 57"}
>> +box.space.vinyl:insert{57, 'tuple 57'}
>> -
>> - [57, 'tuple 57']
>> -box.space.vinyl:insert{58, "tuple 58"}
>> +box.space.vinyl:insert{58, 'tuple 58'}
>> -
>> - [58, 'tuple 58']
>> -box.space.vinyl:insert{59, "tuple 59"}
>> +box.space.vinyl:insert{59, 'tuple 59'}
>> -
>> - [59, 'tuple 59']
>> box.space.memtx:select{55}
>> @@ -782,34 +782,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 3 iteration
>> -box.space.memtx:insert{60, "tuple 60"}
>> +box.space.memtx:insert{60, 'tuple 60'}
>> -
>> - [60, 'tuple 60']
>> -box.space.memtx:insert{61, "tuple 61"}
>> +box.space.memtx:insert{61, 'tuple 61'}
>> -
>> - [61, 'tuple 61']
>> -box.space.memtx:insert{62, "tuple 62"}
>> +box.space.memtx:insert{62, 'tuple 62'}
>> -
>> - [62, 'tuple 62']
>> -box.space.memtx:insert{63, "tuple 63"}
>> +box.space.memtx:insert{63, 'tuple 63'}
>> -
>> - [63, 'tuple 63']
>> -box.space.memtx:insert{64, "tuple 64"}
>> +box.space.memtx:insert{64, 'tuple 64'}
>> -
>> - [64, 'tuple 64']
>> -box.space.vinyl:insert{60, "tuple 60"}
>> +box.space.vinyl:insert{60, 'tuple 60'}
>> -
>> - [60, 'tuple 60']
>> -box.space.vinyl:insert{61, "tuple 61"}
>> +box.space.vinyl:insert{61, 'tuple 61'}
>> -
>> - [61, 'tuple 61']
>> -box.space.vinyl:insert{62, "tuple 62"}
>> +box.space.vinyl:insert{62, 'tuple 62'}
>> -
>> - [62, 'tuple 62']
>> -box.space.vinyl:insert{63, "tuple 63"}
>> +box.space.vinyl:insert{63, 'tuple 63'}
>> -
>> - [63, 'tuple 63']
>> -box.space.vinyl:insert{64, "tuple 64"}
>> +box.space.vinyl:insert{64, 'tuple 64'}
>> -
>> - [64, 'tuple 64']
>> box.space.memtx:select{60}
>> @@ -842,34 +842,34 @@ box.space.vinyl:select{63}
>> box.space.vinyl:select{64}
>> -
>> - [64, 'tuple 64']
>> -box.space.memtx:insert{65, "tuple 65"}
>> +box.space.memtx:insert{65, 'tuple 65'}
>> -
>> - [65, 'tuple 65']
>> -box.space.memtx:insert{66, "tuple 66"}
>> +box.space.memtx:insert{66, 'tuple 66'}
>> -
>> - [66, 'tuple 66']
>> -box.space.memtx:insert{67, "tuple 67"}
>> +box.space.memtx:insert{67, 'tuple 67'}
>> -
>> - [67, 'tuple 67']
>> -box.space.memtx:insert{68, "tuple 68"}
>> +box.space.memtx:insert{68, 'tuple 68'}
>> -
>> - [68, 'tuple 68']
>> -box.space.memtx:insert{69, "tuple 69"}
>> +box.space.memtx:insert{69, 'tuple 69'}
>> -
>> - [69, 'tuple 69']
>> -box.space.vinyl:insert{65, "tuple 65"}
>> +box.space.vinyl:insert{65, 'tuple 65'}
>> -
>> - [65, 'tuple 65']
>> -box.space.vinyl:insert{66, "tuple 66"}
>> +box.space.vinyl:insert{66, 'tuple 66'}
>> -
>> - [66, 'tuple 66']
>> -box.space.vinyl:insert{67, "tuple 67"}
>> +box.space.vinyl:insert{67, 'tuple 67'}
>> -
>> - [67, 'tuple 67']
>> -box.space.vinyl:insert{68, "tuple 68"}
>> +box.space.vinyl:insert{68, 'tuple 68'}
>> -
>> - [68, 'tuple 68']
>> -box.space.vinyl:insert{69, "tuple 69"}
>> +box.space.vinyl:insert{69, 'tuple 69'}
>> -
>> - [69, 'tuple 69']
>> box.space.memtx:select{65}
>> @@ -908,34 +908,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{70, "tuple 70"}
>> +box.space.memtx:insert{70, 'tuple 70'}
>> -
>> - [70, 'tuple 70']
>> -box.space.memtx:insert{71, "tuple 71"}
>> +box.space.memtx:insert{71, 'tuple 71'}
>> -
>> - [71, 'tuple 71']
>> -box.space.memtx:insert{72, "tuple 72"}
>> +box.space.memtx:insert{72, 'tuple 72'}
>> -
>> - [72, 'tuple 72']
>> -box.space.memtx:insert{73, "tuple 73"}
>> +box.space.memtx:insert{73, 'tuple 73'}
>> -
>> - [73, 'tuple 73']
>> -box.space.memtx:insert{74, "tuple 74"}
>> +box.space.memtx:insert{74, 'tuple 74'}
>> -
>> - [74, 'tuple 74']
>> -box.space.vinyl:insert{70, "tuple 70"}
>> +box.space.vinyl:insert{70, 'tuple 70'}
>> -
>> - [70, 'tuple 70']
>> -box.space.vinyl:insert{71, "tuple 71"}
>> +box.space.vinyl:insert{71, 'tuple 71'}
>> -
>> - [71, 'tuple 71']
>> -box.space.vinyl:insert{72, "tuple 72"}
>> +box.space.vinyl:insert{72, 'tuple 72'}
>> -
>> - [72, 'tuple 72']
>> -box.space.vinyl:insert{73, "tuple 73"}
>> +box.space.vinyl:insert{73, 'tuple 73'}
>> -
>> - [73, 'tuple 73']
>> -box.space.vinyl:insert{74, "tuple 74"}
>> +box.space.vinyl:insert{74, 'tuple 74'}
>> -
>> - [74, 'tuple 74']
>> box.space.memtx:select{70}
>> @@ -968,34 +968,34 @@ box.space.vinyl:select{73}
>> box.space.vinyl:select{74}
>> -
>> - [74, 'tuple 74']
>> -box.space.memtx:insert{75, "tuple 75"}
>> +box.space.memtx:insert{75, 'tuple 75'}
>> -
>> - [75, 'tuple 75']
>> -box.space.memtx:insert{76, "tuple 76"}
>> +box.space.memtx:insert{76, 'tuple 76'}
>> -
>> - [76, 'tuple 76']
>> -box.space.memtx:insert{77, "tuple 77"}
>> +box.space.memtx:insert{77, 'tuple 77'}
>> -
>> - [77, 'tuple 77']
>> -box.space.memtx:insert{78, "tuple 78"}
>> +box.space.memtx:insert{78, 'tuple 78'}
>> -
>> - [78, 'tuple 78']
>> -box.space.memtx:insert{79, "tuple 79"}
>> +box.space.memtx:insert{79, 'tuple 79'}
>> -
>> - [79, 'tuple 79']
>> -box.space.vinyl:insert{75, "tuple 75"}
>> +box.space.vinyl:insert{75, 'tuple 75'}
>> -
>> - [75, 'tuple 75']
>> -box.space.vinyl:insert{76, "tuple 76"}
>> +box.space.vinyl:insert{76, 'tuple 76'}
>> -
>> - [76, 'tuple 76']
>> -box.space.vinyl:insert{77, "tuple 77"}
>> +box.space.vinyl:insert{77, 'tuple 77'}
>> -
>> - [77, 'tuple 77']
>> -box.space.vinyl:insert{78, "tuple 78"}
>> +box.space.vinyl:insert{78, 'tuple 78'}
>> -
>> - [78, 'tuple 78']
>> -box.space.vinyl:insert{79, "tuple 79"}
>> +box.space.vinyl:insert{79, 'tuple 79'}
>> -
>> - [79, 'tuple 79']
>> box.space.memtx:select{75}
>> @@ -1035,34 +1035,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 4 iteration
>> -box.space.memtx:insert{80, "tuple 80"}
>> +box.space.memtx:insert{80, 'tuple 80'}
>> -
>> - [80, 'tuple 80']
>> -box.space.memtx:insert{81, "tuple 81"}
>> +box.space.memtx:insert{81, 'tuple 81'}
>> -
>> - [81, 'tuple 81']
>> -box.space.memtx:insert{82, "tuple 82"}
>> +box.space.memtx:insert{82, 'tuple 82'}
>> -
>> - [82, 'tuple 82']
>> -box.space.memtx:insert{83, "tuple 83"}
>> +box.space.memtx:insert{83, 'tuple 83'}
>> -
>> - [83, 'tuple 83']
>> -box.space.memtx:insert{84, "tuple 84"}
>> +box.space.memtx:insert{84, 'tuple 84'}
>> -
>> - [84, 'tuple 84']
>> -box.space.vinyl:insert{80, "tuple 80"}
>> +box.space.vinyl:insert{80, 'tuple 80'}
>> -
>> - [80, 'tuple 80']
>> -box.space.vinyl:insert{81, "tuple 81"}
>> +box.space.vinyl:insert{81, 'tuple 81'}
>> -
>> - [81, 'tuple 81']
>> -box.space.vinyl:insert{82, "tuple 82"}
>> +box.space.vinyl:insert{82, 'tuple 82'}
>> -
>> - [82, 'tuple 82']
>> -box.space.vinyl:insert{83, "tuple 83"}
>> +box.space.vinyl:insert{83, 'tuple 83'}
>> -
>> - [83, 'tuple 83']
>> -box.space.vinyl:insert{84, "tuple 84"}
>> +box.space.vinyl:insert{84, 'tuple 84'}
>> -
>> - [84, 'tuple 84']
>> box.space.memtx:select{80}
>> @@ -1095,34 +1095,34 @@ box.space.vinyl:select{83}
>> box.space.vinyl:select{84}
>> -
>> - [84, 'tuple 84']
>> -box.space.memtx:insert{85, "tuple 85"}
>> +box.space.memtx:insert{85, 'tuple 85'}
>> -
>> - [85, 'tuple 85']
>> -box.space.memtx:insert{86, "tuple 86"}
>> +box.space.memtx:insert{86, 'tuple 86'}
>> -
>> - [86, 'tuple 86']
>> -box.space.memtx:insert{87, "tuple 87"}
>> +box.space.memtx:insert{87, 'tuple 87'}
>> -
>> - [87, 'tuple 87']
>> -box.space.memtx:insert{88, "tuple 88"}
>> +box.space.memtx:insert{88, 'tuple 88'}
>> -
>> - [88, 'tuple 88']
>> -box.space.memtx:insert{89, "tuple 89"}
>> +box.space.memtx:insert{89, 'tuple 89'}
>> -
>> - [89, 'tuple 89']
>> -box.space.vinyl:insert{85, "tuple 85"}
>> +box.space.vinyl:insert{85, 'tuple 85'}
>> -
>> - [85, 'tuple 85']
>> -box.space.vinyl:insert{86, "tuple 86"}
>> +box.space.vinyl:insert{86, 'tuple 86'}
>> -
>> - [86, 'tuple 86']
>> -box.space.vinyl:insert{87, "tuple 87"}
>> +box.space.vinyl:insert{87, 'tuple 87'}
>> -
>> - [87, 'tuple 87']
>> -box.space.vinyl:insert{88, "tuple 88"}
>> +box.space.vinyl:insert{88, 'tuple 88'}
>> -
>> - [88, 'tuple 88']
>> -box.space.vinyl:insert{89, "tuple 89"}
>> +box.space.vinyl:insert{89, 'tuple 89'}
>> -
>> - [89, 'tuple 89']
>> box.space.memtx:select{85}
>> @@ -1161,34 +1161,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{90, "tuple 90"}
>> +box.space.memtx:insert{90, 'tuple 90'}
>> -
>> - [90, 'tuple 90']
>> -box.space.memtx:insert{91, "tuple 91"}
>> +box.space.memtx:insert{91, 'tuple 91'}
>> -
>> - [91, 'tuple 91']
>> -box.space.memtx:insert{92, "tuple 92"}
>> +box.space.memtx:insert{92, 'tuple 92'}
>> -
>> - [92, 'tuple 92']
>> -box.space.memtx:insert{93, "tuple 93"}
>> +box.space.memtx:insert{93, 'tuple 93'}
>> -
>> - [93, 'tuple 93']
>> -box.space.memtx:insert{94, "tuple 94"}
>> +box.space.memtx:insert{94, 'tuple 94'}
>> -
>> - [94, 'tuple 94']
>> -box.space.vinyl:insert{90, "tuple 90"}
>> +box.space.vinyl:insert{90, 'tuple 90'}
>> -
>> - [90, 'tuple 90']
>> -box.space.vinyl:insert{91, "tuple 91"}
>> +box.space.vinyl:insert{91, 'tuple 91'}
>> -
>> - [91, 'tuple 91']
>> -box.space.vinyl:insert{92, "tuple 92"}
>> +box.space.vinyl:insert{92, 'tuple 92'}
>> -
>> - [92, 'tuple 92']
>> -box.space.vinyl:insert{93, "tuple 93"}
>> +box.space.vinyl:insert{93, 'tuple 93'}
>> -
>> - [93, 'tuple 93']
>> -box.space.vinyl:insert{94, "tuple 94"}
>> +box.space.vinyl:insert{94, 'tuple 94'}
>> -
>> - [94, 'tuple 94']
>> box.space.memtx:select{90}
>> @@ -1221,34 +1221,34 @@ box.space.vinyl:select{93}
>> box.space.vinyl:select{94}
>> -
>> - [94, 'tuple 94']
>> -box.space.memtx:insert{95, "tuple 95"}
>> +box.space.memtx:insert{95, 'tuple 95'}
>> -
>> - [95, 'tuple 95']
>> -box.space.memtx:insert{96, "tuple 96"}
>> +box.space.memtx:insert{96, 'tuple 96'}
>> -
>> - [96, 'tuple 96']
>> -box.space.memtx:insert{97, "tuple 97"}
>> +box.space.memtx:insert{97, 'tuple 97'}
>> -
>> - [97, 'tuple 97']
>> -box.space.memtx:insert{98, "tuple 98"}
>> +box.space.memtx:insert{98, 'tuple 98'}
>> -
>> - [98, 'tuple 98']
>> -box.space.memtx:insert{99, "tuple 99"}
>> +box.space.memtx:insert{99, 'tuple 99'}
>> -
>> - [99, 'tuple 99']
>> -box.space.vinyl:insert{95, "tuple 95"}
>> +box.space.vinyl:insert{95, 'tuple 95'}
>> -
>> - [95, 'tuple 95']
>> -box.space.vinyl:insert{96, "tuple 96"}
>> +box.space.vinyl:insert{96, 'tuple 96'}
>> -
>> - [96, 'tuple 96']
>> -box.space.vinyl:insert{97, "tuple 97"}
>> +box.space.vinyl:insert{97, 'tuple 97'}
>> -
>> - [97, 'tuple 97']
>> -box.space.vinyl:insert{98, "tuple 98"}
>> +box.space.vinyl:insert{98, 'tuple 98'}
>> -
>> - [98, 'tuple 98']
>> -box.space.vinyl:insert{99, "tuple 99"}
>> +box.space.vinyl:insert{99, 'tuple 99'}
>> -
>> - [99, 'tuple 99']
>> box.space.memtx:select{95}
>> @@ -1288,34 +1288,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 5 iteration
>> -box.space.memtx:insert{100, "tuple 100"}
>> +box.space.memtx:insert{100, 'tuple 100'}
>> -
>> - [100, 'tuple 100']
>> -box.space.memtx:insert{101, "tuple 101"}
>> +box.space.memtx:insert{101, 'tuple 101'}
>> -
>> - [101, 'tuple 101']
>> -box.space.memtx:insert{102, "tuple 102"}
>> +box.space.memtx:insert{102, 'tuple 102'}
>> -
>> - [102, 'tuple 102']
>> -box.space.memtx:insert{103, "tuple 103"}
>> +box.space.memtx:insert{103, 'tuple 103'}
>> -
>> - [103, 'tuple 103']
>> -box.space.memtx:insert{104, "tuple 104"}
>> +box.space.memtx:insert{104, 'tuple 104'}
>> -
>> - [104, 'tuple 104']
>> -box.space.vinyl:insert{100, "tuple 100"}
>> +box.space.vinyl:insert{100, 'tuple 100'}
>> -
>> - [100, 'tuple 100']
>> -box.space.vinyl:insert{101, "tuple 101"}
>> +box.space.vinyl:insert{101, 'tuple 101'}
>> -
>> - [101, 'tuple 101']
>> -box.space.vinyl:insert{102, "tuple 102"}
>> +box.space.vinyl:insert{102, 'tuple 102'}
>> -
>> - [102, 'tuple 102']
>> -box.space.vinyl:insert{103, "tuple 103"}
>> +box.space.vinyl:insert{103, 'tuple 103'}
>> -
>> - [103, 'tuple 103']
>> -box.space.vinyl:insert{104, "tuple 104"}
>> +box.space.vinyl:insert{104, 'tuple 104'}
>> -
>> - [104, 'tuple 104']
>> box.space.memtx:select{100}
>> @@ -1348,34 +1348,34 @@ box.space.vinyl:select{103}
>> box.space.vinyl:select{104}
>> -
>> - [104, 'tuple 104']
>> -box.space.memtx:insert{105, "tuple 105"}
>> +box.space.memtx:insert{105, 'tuple 105'}
>> -
>> - [105, 'tuple 105']
>> -box.space.memtx:insert{106, "tuple 106"}
>> +box.space.memtx:insert{106, 'tuple 106'}
>> -
>> - [106, 'tuple 106']
>> -box.space.memtx:insert{107, "tuple 107"}
>> +box.space.memtx:insert{107, 'tuple 107'}
>> -
>> - [107, 'tuple 107']
>> -box.space.memtx:insert{108, "tuple 108"}
>> +box.space.memtx:insert{108, 'tuple 108'}
>> -
>> - [108, 'tuple 108']
>> -box.space.memtx:insert{109, "tuple 109"}
>> +box.space.memtx:insert{109, 'tuple 109'}
>> -
>> - [109, 'tuple 109']
>> -box.space.vinyl:insert{105, "tuple 105"}
>> +box.space.vinyl:insert{105, 'tuple 105'}
>> -
>> - [105, 'tuple 105']
>> -box.space.vinyl:insert{106, "tuple 106"}
>> +box.space.vinyl:insert{106, 'tuple 106'}
>> -
>> - [106, 'tuple 106']
>> -box.space.vinyl:insert{107, "tuple 107"}
>> +box.space.vinyl:insert{107, 'tuple 107'}
>> -
>> - [107, 'tuple 107']
>> -box.space.vinyl:insert{108, "tuple 108"}
>> +box.space.vinyl:insert{108, 'tuple 108'}
>> -
>> - [108, 'tuple 108']
>> -box.space.vinyl:insert{109, "tuple 109"}
>> +box.space.vinyl:insert{109, 'tuple 109'}
>> -
>> - [109, 'tuple 109']
>> box.space.memtx:select{105}
>> @@ -1414,34 +1414,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{110, "tuple 110"}
>> +box.space.memtx:insert{110, 'tuple 110'}
>> -
>> - [110, 'tuple 110']
>> -box.space.memtx:insert{111, "tuple 111"}
>> +box.space.memtx:insert{111, 'tuple 111'}
>> -
>> - [111, 'tuple 111']
>> -box.space.memtx:insert{112, "tuple 112"}
>> +box.space.memtx:insert{112, 'tuple 112'}
>> -
>> - [112, 'tuple 112']
>> -box.space.memtx:insert{113, "tuple 113"}
>> +box.space.memtx:insert{113, 'tuple 113'}
>> -
>> - [113, 'tuple 113']
>> -box.space.memtx:insert{114, "tuple 114"}
>> +box.space.memtx:insert{114, 'tuple 114'}
>> -
>> - [114, 'tuple 114']
>> -box.space.vinyl:insert{110, "tuple 110"}
>> +box.space.vinyl:insert{110, 'tuple 110'}
>> -
>> - [110, 'tuple 110']
>> -box.space.vinyl:insert{111, "tuple 111"}
>> +box.space.vinyl:insert{111, 'tuple 111'}
>> -
>> - [111, 'tuple 111']
>> -box.space.vinyl:insert{112, "tuple 112"}
>> +box.space.vinyl:insert{112, 'tuple 112'}
>> -
>> - [112, 'tuple 112']
>> -box.space.vinyl:insert{113, "tuple 113"}
>> +box.space.vinyl:insert{113, 'tuple 113'}
>> -
>> - [113, 'tuple 113']
>> -box.space.vinyl:insert{114, "tuple 114"}
>> +box.space.vinyl:insert{114, 'tuple 114'}
>> -
>> - [114, 'tuple 114']
>> box.space.memtx:select{110}
>> @@ -1474,34 +1474,34 @@ box.space.vinyl:select{113}
>> box.space.vinyl:select{114}
>> -
>> - [114, 'tuple 114']
>> -box.space.memtx:insert{115, "tuple 115"}
>> +box.space.memtx:insert{115, 'tuple 115'}
>> -
>> - [115, 'tuple 115']
>> -box.space.memtx:insert{116, "tuple 116"}
>> +box.space.memtx:insert{116, 'tuple 116'}
>> -
>> - [116, 'tuple 116']
>> -box.space.memtx:insert{117, "tuple 117"}
>> +box.space.memtx:insert{117, 'tuple 117'}
>> -
>> - [117, 'tuple 117']
>> -box.space.memtx:insert{118, "tuple 118"}
>> +box.space.memtx:insert{118, 'tuple 118'}
>> -
>> - [118, 'tuple 118']
>> -box.space.memtx:insert{119, "tuple 119"}
>> +box.space.memtx:insert{119, 'tuple 119'}
>> -
>> - [119, 'tuple 119']
>> -box.space.vinyl:insert{115, "tuple 115"}
>> +box.space.vinyl:insert{115, 'tuple 115'}
>> -
>> - [115, 'tuple 115']
>> -box.space.vinyl:insert{116, "tuple 116"}
>> +box.space.vinyl:insert{116, 'tuple 116'}
>> -
>> - [116, 'tuple 116']
>> -box.space.vinyl:insert{117, "tuple 117"}
>> +box.space.vinyl:insert{117, 'tuple 117'}
>> -
>> - [117, 'tuple 117']
>> -box.space.vinyl:insert{118, "tuple 118"}
>> +box.space.vinyl:insert{118, 'tuple 118'}
>> -
>> - [118, 'tuple 118']
>> -box.space.vinyl:insert{119, "tuple 119"}
>> +box.space.vinyl:insert{119, 'tuple 119'}
>> -
>> - [119, 'tuple 119']
>> box.space.memtx:select{115}
>> @@ -1541,34 +1541,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 6 iteration
>> -box.space.memtx:insert{120, "tuple 120"}
>> +box.space.memtx:insert{120, 'tuple 120'}
>> -
>> - [120, 'tuple 120']
>> -box.space.memtx:insert{121, "tuple 121"}
>> +box.space.memtx:insert{121, 'tuple 121'}
>> -
>> - [121, 'tuple 121']
>> -box.space.memtx:insert{122, "tuple 122"}
>> +box.space.memtx:insert{122, 'tuple 122'}
>> -
>> - [122, 'tuple 122']
>> -box.space.memtx:insert{123, "tuple 123"}
>> +box.space.memtx:insert{123, 'tuple 123'}
>> -
>> - [123, 'tuple 123']
>> -box.space.memtx:insert{124, "tuple 124"}
>> +box.space.memtx:insert{124, 'tuple 124'}
>> -
>> - [124, 'tuple 124']
>> -box.space.vinyl:insert{120, "tuple 120"}
>> +box.space.vinyl:insert{120, 'tuple 120'}
>> -
>> - [120, 'tuple 120']
>> -box.space.vinyl:insert{121, "tuple 121"}
>> +box.space.vinyl:insert{121, 'tuple 121'}
>> -
>> - [121, 'tuple 121']
>> -box.space.vinyl:insert{122, "tuple 122"}
>> +box.space.vinyl:insert{122, 'tuple 122'}
>> -
>> - [122, 'tuple 122']
>> -box.space.vinyl:insert{123, "tuple 123"}
>> +box.space.vinyl:insert{123, 'tuple 123'}
>> -
>> - [123, 'tuple 123']
>> -box.space.vinyl:insert{124, "tuple 124"}
>> +box.space.vinyl:insert{124, 'tuple 124'}
>> -
>> - [124, 'tuple 124']
>> box.space.memtx:select{120}
>> @@ -1601,34 +1601,34 @@ box.space.vinyl:select{123}
>> box.space.vinyl:select{124}
>> -
>> - [124, 'tuple 124']
>> -box.space.memtx:insert{125, "tuple 125"}
>> +box.space.memtx:insert{125, 'tuple 125'}
>> -
>> - [125, 'tuple 125']
>> -box.space.memtx:insert{126, "tuple 126"}
>> +box.space.memtx:insert{126, 'tuple 126'}
>> -
>> - [126, 'tuple 126']
>> -box.space.memtx:insert{127, "tuple 127"}
>> +box.space.memtx:insert{127, 'tuple 127'}
>> -
>> - [127, 'tuple 127']
>> -box.space.memtx:insert{128, "tuple 128"}
>> +box.space.memtx:insert{128, 'tuple 128'}
>> -
>> - [128, 'tuple 128']
>> -box.space.memtx:insert{129, "tuple 129"}
>> +box.space.memtx:insert{129, 'tuple 129'}
>> -
>> - [129, 'tuple 129']
>> -box.space.vinyl:insert{125, "tuple 125"}
>> +box.space.vinyl:insert{125, 'tuple 125'}
>> -
>> - [125, 'tuple 125']
>> -box.space.vinyl:insert{126, "tuple 126"}
>> +box.space.vinyl:insert{126, 'tuple 126'}
>> -
>> - [126, 'tuple 126']
>> -box.space.vinyl:insert{127, "tuple 127"}
>> +box.space.vinyl:insert{127, 'tuple 127'}
>> -
>> - [127, 'tuple 127']
>> -box.space.vinyl:insert{128, "tuple 128"}
>> +box.space.vinyl:insert{128, 'tuple 128'}
>> -
>> - [128, 'tuple 128']
>> -box.space.vinyl:insert{129, "tuple 129"}
>> +box.space.vinyl:insert{129, 'tuple 129'}
>> -
>> - [129, 'tuple 129']
>> box.space.memtx:select{125}
>> @@ -1667,34 +1667,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{130, "tuple 130"}
>> +box.space.memtx:insert{130, 'tuple 130'}
>> -
>> - [130, 'tuple 130']
>> -box.space.memtx:insert{131, "tuple 131"}
>> +box.space.memtx:insert{131, 'tuple 131'}
>> -
>> - [131, 'tuple 131']
>> -box.space.memtx:insert{132, "tuple 132"}
>> +box.space.memtx:insert{132, 'tuple 132'}
>> -
>> - [132, 'tuple 132']
>> -box.space.memtx:insert{133, "tuple 133"}
>> +box.space.memtx:insert{133, 'tuple 133'}
>> -
>> - [133, 'tuple 133']
>> -box.space.memtx:insert{134, "tuple 134"}
>> +box.space.memtx:insert{134, 'tuple 134'}
>> -
>> - [134, 'tuple 134']
>> -box.space.vinyl:insert{130, "tuple 130"}
>> +box.space.vinyl:insert{130, 'tuple 130'}
>> -
>> - [130, 'tuple 130']
>> -box.space.vinyl:insert{131, "tuple 131"}
>> +box.space.vinyl:insert{131, 'tuple 131'}
>> -
>> - [131, 'tuple 131']
>> -box.space.vinyl:insert{132, "tuple 132"}
>> +box.space.vinyl:insert{132, 'tuple 132'}
>> -
>> - [132, 'tuple 132']
>> -box.space.vinyl:insert{133, "tuple 133"}
>> +box.space.vinyl:insert{133, 'tuple 133'}
>> -
>> - [133, 'tuple 133']
>> -box.space.vinyl:insert{134, "tuple 134"}
>> +box.space.vinyl:insert{134, 'tuple 134'}
>> -
>> - [134, 'tuple 134']
>> box.space.memtx:select{130}
>> @@ -1727,34 +1727,34 @@ box.space.vinyl:select{133}
>> box.space.vinyl:select{134}
>> -
>> - [134, 'tuple 134']
>> -box.space.memtx:insert{135, "tuple 135"}
>> +box.space.memtx:insert{135, 'tuple 135'}
>> -
>> - [135, 'tuple 135']
>> -box.space.memtx:insert{136, "tuple 136"}
>> +box.space.memtx:insert{136, 'tuple 136'}
>> -
>> - [136, 'tuple 136']
>> -box.space.memtx:insert{137, "tuple 137"}
>> +box.space.memtx:insert{137, 'tuple 137'}
>> -
>> - [137, 'tuple 137']
>> -box.space.memtx:insert{138, "tuple 138"}
>> +box.space.memtx:insert{138, 'tuple 138'}
>> -
>> - [138, 'tuple 138']
>> -box.space.memtx:insert{139, "tuple 139"}
>> +box.space.memtx:insert{139, 'tuple 139'}
>> -
>> - [139, 'tuple 139']
>> -box.space.vinyl:insert{135, "tuple 135"}
>> +box.space.vinyl:insert{135, 'tuple 135'}
>> -
>> - [135, 'tuple 135']
>> -box.space.vinyl:insert{136, "tuple 136"}
>> +box.space.vinyl:insert{136, 'tuple 136'}
>> -
>> - [136, 'tuple 136']
>> -box.space.vinyl:insert{137, "tuple 137"}
>> +box.space.vinyl:insert{137, 'tuple 137'}
>> -
>> - [137, 'tuple 137']
>> -box.space.vinyl:insert{138, "tuple 138"}
>> +box.space.vinyl:insert{138, 'tuple 138'}
>> -
>> - [138, 'tuple 138']
>> -box.space.vinyl:insert{139, "tuple 139"}
>> +box.space.vinyl:insert{139, 'tuple 139'}
>> -
>> - [139, 'tuple 139']
>> box.space.memtx:select{135}
>> @@ -1794,34 +1794,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 7 iteration
>> -box.space.memtx:insert{140, "tuple 140"}
>> +box.space.memtx:insert{140, 'tuple 140'}
>> -
>> - [140, 'tuple 140']
>> -box.space.memtx:insert{141, "tuple 141"}
>> +box.space.memtx:insert{141, 'tuple 141'}
>> -
>> - [141, 'tuple 141']
>> -box.space.memtx:insert{142, "tuple 142"}
>> +box.space.memtx:insert{142, 'tuple 142'}
>> -
>> - [142, 'tuple 142']
>> -box.space.memtx:insert{143, "tuple 143"}
>> +box.space.memtx:insert{143, 'tuple 143'}
>> -
>> - [143, 'tuple 143']
>> -box.space.memtx:insert{144, "tuple 144"}
>> +box.space.memtx:insert{144, 'tuple 144'}
>> -
>> - [144, 'tuple 144']
>> -box.space.vinyl:insert{140, "tuple 140"}
>> +box.space.vinyl:insert{140, 'tuple 140'}
>> -
>> - [140, 'tuple 140']
>> -box.space.vinyl:insert{141, "tuple 141"}
>> +box.space.vinyl:insert{141, 'tuple 141'}
>> -
>> - [141, 'tuple 141']
>> -box.space.vinyl:insert{142, "tuple 142"}
>> +box.space.vinyl:insert{142, 'tuple 142'}
>> -
>> - [142, 'tuple 142']
>> -box.space.vinyl:insert{143, "tuple 143"}
>> +box.space.vinyl:insert{143, 'tuple 143'}
>> -
>> - [143, 'tuple 143']
>> -box.space.vinyl:insert{144, "tuple 144"}
>> +box.space.vinyl:insert{144, 'tuple 144'}
>> -
>> - [144, 'tuple 144']
>> box.space.memtx:select{140}
>> @@ -1854,34 +1854,34 @@ box.space.vinyl:select{143}
>> box.space.vinyl:select{144}
>> -
>> - [144, 'tuple 144']
>> -box.space.memtx:insert{145, "tuple 145"}
>> +box.space.memtx:insert{145, 'tuple 145'}
>> -
>> - [145, 'tuple 145']
>> -box.space.memtx:insert{146, "tuple 146"}
>> +box.space.memtx:insert{146, 'tuple 146'}
>> -
>> - [146, 'tuple 146']
>> -box.space.memtx:insert{147, "tuple 147"}
>> +box.space.memtx:insert{147, 'tuple 147'}
>> -
>> - [147, 'tuple 147']
>> -box.space.memtx:insert{148, "tuple 148"}
>> +box.space.memtx:insert{148, 'tuple 148'}
>> -
>> - [148, 'tuple 148']
>> -box.space.memtx:insert{149, "tuple 149"}
>> +box.space.memtx:insert{149, 'tuple 149'}
>> -
>> - [149, 'tuple 149']
>> -box.space.vinyl:insert{145, "tuple 145"}
>> +box.space.vinyl:insert{145, 'tuple 145'}
>> -
>> - [145, 'tuple 145']
>> -box.space.vinyl:insert{146, "tuple 146"}
>> +box.space.vinyl:insert{146, 'tuple 146'}
>> -
>> - [146, 'tuple 146']
>> -box.space.vinyl:insert{147, "tuple 147"}
>> +box.space.vinyl:insert{147, 'tuple 147'}
>> -
>> - [147, 'tuple 147']
>> -box.space.vinyl:insert{148, "tuple 148"}
>> +box.space.vinyl:insert{148, 'tuple 148'}
>> -
>> - [148, 'tuple 148']
>> -box.space.vinyl:insert{149, "tuple 149"}
>> +box.space.vinyl:insert{149, 'tuple 149'}
>> -
>> - [149, 'tuple 149']
>> box.space.memtx:select{145}
>> @@ -1920,34 +1920,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{150, "tuple 150"}
>> +box.space.memtx:insert{150, 'tuple 150'}
>> -
>> - [150, 'tuple 150']
>> -box.space.memtx:insert{151, "tuple 151"}
>> +box.space.memtx:insert{151, 'tuple 151'}
>> -
>> - [151, 'tuple 151']
>> -box.space.memtx:insert{152, "tuple 152"}
>> +box.space.memtx:insert{152, 'tuple 152'}
>> -
>> - [152, 'tuple 152']
>> -box.space.memtx:insert{153, "tuple 153"}
>> +box.space.memtx:insert{153, 'tuple 153'}
>> -
>> - [153, 'tuple 153']
>> -box.space.memtx:insert{154, "tuple 154"}
>> +box.space.memtx:insert{154, 'tuple 154'}
>> -
>> - [154, 'tuple 154']
>> -box.space.vinyl:insert{150, "tuple 150"}
>> +box.space.vinyl:insert{150, 'tuple 150'}
>> -
>> - [150, 'tuple 150']
>> -box.space.vinyl:insert{151, "tuple 151"}
>> +box.space.vinyl:insert{151, 'tuple 151'}
>> -
>> - [151, 'tuple 151']
>> -box.space.vinyl:insert{152, "tuple 152"}
>> +box.space.vinyl:insert{152, 'tuple 152'}
>> -
>> - [152, 'tuple 152']
>> -box.space.vinyl:insert{153, "tuple 153"}
>> +box.space.vinyl:insert{153, 'tuple 153'}
>> -
>> - [153, 'tuple 153']
>> -box.space.vinyl:insert{154, "tuple 154"}
>> +box.space.vinyl:insert{154, 'tuple 154'}
>> -
>> - [154, 'tuple 154']
>> box.space.memtx:select{150}
>> @@ -1980,34 +1980,34 @@ box.space.vinyl:select{153}
>> box.space.vinyl:select{154}
>> -
>> - [154, 'tuple 154']
>> -box.space.memtx:insert{155, "tuple 155"}
>> +box.space.memtx:insert{155, 'tuple 155'}
>> -
>> - [155, 'tuple 155']
>> -box.space.memtx:insert{156, "tuple 156"}
>> +box.space.memtx:insert{156, 'tuple 156'}
>> -
>> - [156, 'tuple 156']
>> -box.space.memtx:insert{157, "tuple 157"}
>> +box.space.memtx:insert{157, 'tuple 157'}
>> -
>> - [157, 'tuple 157']
>> -box.space.memtx:insert{158, "tuple 158"}
>> +box.space.memtx:insert{158, 'tuple 158'}
>> -
>> - [158, 'tuple 158']
>> -box.space.memtx:insert{159, "tuple 159"}
>> +box.space.memtx:insert{159, 'tuple 159'}
>> -
>> - [159, 'tuple 159']
>> -box.space.vinyl:insert{155, "tuple 155"}
>> +box.space.vinyl:insert{155, 'tuple 155'}
>> -
>> - [155, 'tuple 155']
>> -box.space.vinyl:insert{156, "tuple 156"}
>> +box.space.vinyl:insert{156, 'tuple 156'}
>> -
>> - [156, 'tuple 156']
>> -box.space.vinyl:insert{157, "tuple 157"}
>> +box.space.vinyl:insert{157, 'tuple 157'}
>> -
>> - [157, 'tuple 157']
>> -box.space.vinyl:insert{158, "tuple 158"}
>> +box.space.vinyl:insert{158, 'tuple 158'}
>> -
>> - [158, 'tuple 158']
>> -box.space.vinyl:insert{159, "tuple 159"}
>> +box.space.vinyl:insert{159, 'tuple 159'}
>> -
>> - [159, 'tuple 159']
>> box.space.memtx:select{155}
>> @@ -2047,34 +2047,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 8 iteration
>> -box.space.memtx:insert{160, "tuple 160"}
>> +box.space.memtx:insert{160, 'tuple 160'}
>> -
>> - [160, 'tuple 160']
>> -box.space.memtx:insert{161, "tuple 161"}
>> +box.space.memtx:insert{161, 'tuple 161'}
>> -
>> - [161, 'tuple 161']
>> -box.space.memtx:insert{162, "tuple 162"}
>> +box.space.memtx:insert{162, 'tuple 162'}
>> -
>> - [162, 'tuple 162']
>> -box.space.memtx:insert{163, "tuple 163"}
>> +box.space.memtx:insert{163, 'tuple 163'}
>> -
>> - [163, 'tuple 163']
>> -box.space.memtx:insert{164, "tuple 164"}
>> +box.space.memtx:insert{164, 'tuple 164'}
>> -
>> - [164, 'tuple 164']
>> -box.space.vinyl:insert{160, "tuple 160"}
>> +box.space.vinyl:insert{160, 'tuple 160'}
>> -
>> - [160, 'tuple 160']
>> -box.space.vinyl:insert{161, "tuple 161"}
>> +box.space.vinyl:insert{161, 'tuple 161'}
>> -
>> - [161, 'tuple 161']
>> -box.space.vinyl:insert{162, "tuple 162"}
>> +box.space.vinyl:insert{162, 'tuple 162'}
>> -
>> - [162, 'tuple 162']
>> -box.space.vinyl:insert{163, "tuple 163"}
>> +box.space.vinyl:insert{163, 'tuple 163'}
>> -
>> - [163, 'tuple 163']
>> -box.space.vinyl:insert{164, "tuple 164"}
>> +box.space.vinyl:insert{164, 'tuple 164'}
>> -
>> - [164, 'tuple 164']
>> box.space.memtx:select{160}
>> @@ -2107,34 +2107,34 @@ box.space.vinyl:select{163}
>> box.space.vinyl:select{164}
>> -
>> - [164, 'tuple 164']
>> -box.space.memtx:insert{165, "tuple 165"}
>> +box.space.memtx:insert{165, 'tuple 165'}
>> -
>> - [165, 'tuple 165']
>> -box.space.memtx:insert{166, "tuple 166"}
>> +box.space.memtx:insert{166, 'tuple 166'}
>> -
>> - [166, 'tuple 166']
>> -box.space.memtx:insert{167, "tuple 167"}
>> +box.space.memtx:insert{167, 'tuple 167'}
>> -
>> - [167, 'tuple 167']
>> -box.space.memtx:insert{168, "tuple 168"}
>> +box.space.memtx:insert{168, 'tuple 168'}
>> -
>> - [168, 'tuple 168']
>> -box.space.memtx:insert{169, "tuple 169"}
>> +box.space.memtx:insert{169, 'tuple 169'}
>> -
>> - [169, 'tuple 169']
>> -box.space.vinyl:insert{165, "tuple 165"}
>> +box.space.vinyl:insert{165, 'tuple 165'}
>> -
>> - [165, 'tuple 165']
>> -box.space.vinyl:insert{166, "tuple 166"}
>> +box.space.vinyl:insert{166, 'tuple 166'}
>> -
>> - [166, 'tuple 166']
>> -box.space.vinyl:insert{167, "tuple 167"}
>> +box.space.vinyl:insert{167, 'tuple 167'}
>> -
>> - [167, 'tuple 167']
>> -box.space.vinyl:insert{168, "tuple 168"}
>> +box.space.vinyl:insert{168, 'tuple 168'}
>> -
>> - [168, 'tuple 168']
>> -box.space.vinyl:insert{169, "tuple 169"}
>> +box.space.vinyl:insert{169, 'tuple 169'}
>> -
>> - [169, 'tuple 169']
>> box.space.memtx:select{165}
>> @@ -2173,34 +2173,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{170, "tuple 170"}
>> +box.space.memtx:insert{170, 'tuple 170'}
>> -
>> - [170, 'tuple 170']
>> -box.space.memtx:insert{171, "tuple 171"}
>> +box.space.memtx:insert{171, 'tuple 171'}
>> -
>> - [171, 'tuple 171']
>> -box.space.memtx:insert{172, "tuple 172"}
>> +box.space.memtx:insert{172, 'tuple 172'}
>> -
>> - [172, 'tuple 172']
>> -box.space.memtx:insert{173, "tuple 173"}
>> +box.space.memtx:insert{173, 'tuple 173'}
>> -
>> - [173, 'tuple 173']
>> -box.space.memtx:insert{174, "tuple 174"}
>> +box.space.memtx:insert{174, 'tuple 174'}
>> -
>> - [174, 'tuple 174']
>> -box.space.vinyl:insert{170, "tuple 170"}
>> +box.space.vinyl:insert{170, 'tuple 170'}
>> -
>> - [170, 'tuple 170']
>> -box.space.vinyl:insert{171, "tuple 171"}
>> +box.space.vinyl:insert{171, 'tuple 171'}
>> -
>> - [171, 'tuple 171']
>> -box.space.vinyl:insert{172, "tuple 172"}
>> +box.space.vinyl:insert{172, 'tuple 172'}
>> -
>> - [172, 'tuple 172']
>> -box.space.vinyl:insert{173, "tuple 173"}
>> +box.space.vinyl:insert{173, 'tuple 173'}
>> -
>> - [173, 'tuple 173']
>> -box.space.vinyl:insert{174, "tuple 174"}
>> +box.space.vinyl:insert{174, 'tuple 174'}
>> -
>> - [174, 'tuple 174']
>> box.space.memtx:select{170}
>> @@ -2233,34 +2233,34 @@ box.space.vinyl:select{173}
>> box.space.vinyl:select{174}
>> -
>> - [174, 'tuple 174']
>> -box.space.memtx:insert{175, "tuple 175"}
>> +box.space.memtx:insert{175, 'tuple 175'}
>> -
>> - [175, 'tuple 175']
>> -box.space.memtx:insert{176, "tuple 176"}
>> +box.space.memtx:insert{176, 'tuple 176'}
>> -
>> - [176, 'tuple 176']
>> -box.space.memtx:insert{177, "tuple 177"}
>> +box.space.memtx:insert{177, 'tuple 177'}
>> -
>> - [177, 'tuple 177']
>> -box.space.memtx:insert{178, "tuple 178"}
>> +box.space.memtx:insert{178, 'tuple 178'}
>> -
>> - [178, 'tuple 178']
>> -box.space.memtx:insert{179, "tuple 179"}
>> +box.space.memtx:insert{179, 'tuple 179'}
>> -
>> - [179, 'tuple 179']
>> -box.space.vinyl:insert{175, "tuple 175"}
>> +box.space.vinyl:insert{175, 'tuple 175'}
>> -
>> - [175, 'tuple 175']
>> -box.space.vinyl:insert{176, "tuple 176"}
>> +box.space.vinyl:insert{176, 'tuple 176'}
>> -
>> - [176, 'tuple 176']
>> -box.space.vinyl:insert{177, "tuple 177"}
>> +box.space.vinyl:insert{177, 'tuple 177'}
>> -
>> - [177, 'tuple 177']
>> -box.space.vinyl:insert{178, "tuple 178"}
>> +box.space.vinyl:insert{178, 'tuple 178'}
>> -
>> - [178, 'tuple 178']
>> -box.space.vinyl:insert{179, "tuple 179"}
>> +box.space.vinyl:insert{179, 'tuple 179'}
>> -
>> - [179, 'tuple 179']
>> box.space.memtx:select{175}
>> @@ -2300,34 +2300,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 9 iteration
>> -box.space.memtx:insert{180, "tuple 180"}
>> +box.space.memtx:insert{180, 'tuple 180'}
>> -
>> - [180, 'tuple 180']
>> -box.space.memtx:insert{181, "tuple 181"}
>> +box.space.memtx:insert{181, 'tuple 181'}
>> -
>> - [181, 'tuple 181']
>> -box.space.memtx:insert{182, "tuple 182"}
>> +box.space.memtx:insert{182, 'tuple 182'}
>> -
>> - [182, 'tuple 182']
>> -box.space.memtx:insert{183, "tuple 183"}
>> +box.space.memtx:insert{183, 'tuple 183'}
>> -
>> - [183, 'tuple 183']
>> -box.space.memtx:insert{184, "tuple 184"}
>> +box.space.memtx:insert{184, 'tuple 184'}
>> -
>> - [184, 'tuple 184']
>> -box.space.vinyl:insert{180, "tuple 180"}
>> +box.space.vinyl:insert{180, 'tuple 180'}
>> -
>> - [180, 'tuple 180']
>> -box.space.vinyl:insert{181, "tuple 181"}
>> +box.space.vinyl:insert{181, 'tuple 181'}
>> -
>> - [181, 'tuple 181']
>> -box.space.vinyl:insert{182, "tuple 182"}
>> +box.space.vinyl:insert{182, 'tuple 182'}
>> -
>> - [182, 'tuple 182']
>> -box.space.vinyl:insert{183, "tuple 183"}
>> +box.space.vinyl:insert{183, 'tuple 183'}
>> -
>> - [183, 'tuple 183']
>> -box.space.vinyl:insert{184, "tuple 184"}
>> +box.space.vinyl:insert{184, 'tuple 184'}
>> -
>> - [184, 'tuple 184']
>> box.space.memtx:select{180}
>> @@ -2360,34 +2360,34 @@ box.space.vinyl:select{183}
>> box.space.vinyl:select{184}
>> -
>> - [184, 'tuple 184']
>> -box.space.memtx:insert{185, "tuple 185"}
>> +box.space.memtx:insert{185, 'tuple 185'}
>> -
>> - [185, 'tuple 185']
>> -box.space.memtx:insert{186, "tuple 186"}
>> +box.space.memtx:insert{186, 'tuple 186'}
>> -
>> - [186, 'tuple 186']
>> -box.space.memtx:insert{187, "tuple 187"}
>> +box.space.memtx:insert{187, 'tuple 187'}
>> -
>> - [187, 'tuple 187']
>> -box.space.memtx:insert{188, "tuple 188"}
>> +box.space.memtx:insert{188, 'tuple 188'}
>> -
>> - [188, 'tuple 188']
>> -box.space.memtx:insert{189, "tuple 189"}
>> +box.space.memtx:insert{189, 'tuple 189'}
>> -
>> - [189, 'tuple 189']
>> -box.space.vinyl:insert{185, "tuple 185"}
>> +box.space.vinyl:insert{185, 'tuple 185'}
>> -
>> - [185, 'tuple 185']
>> -box.space.vinyl:insert{186, "tuple 186"}
>> +box.space.vinyl:insert{186, 'tuple 186'}
>> -
>> - [186, 'tuple 186']
>> -box.space.vinyl:insert{187, "tuple 187"}
>> +box.space.vinyl:insert{187, 'tuple 187'}
>> -
>> - [187, 'tuple 187']
>> -box.space.vinyl:insert{188, "tuple 188"}
>> +box.space.vinyl:insert{188, 'tuple 188'}
>> -
>> - [188, 'tuple 188']
>> -box.space.vinyl:insert{189, "tuple 189"}
>> +box.space.vinyl:insert{189, 'tuple 189'}
>> -
>> - [189, 'tuple 189']
>> box.space.memtx:select{185}
>> @@ -2426,34 +2426,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{190, "tuple 190"}
>> +box.space.memtx:insert{190, 'tuple 190'}
>> -
>> - [190, 'tuple 190']
>> -box.space.memtx:insert{191, "tuple 191"}
>> +box.space.memtx:insert{191, 'tuple 191'}
>> -
>> - [191, 'tuple 191']
>> -box.space.memtx:insert{192, "tuple 192"}
>> +box.space.memtx:insert{192, 'tuple 192'}
>> -
>> - [192, 'tuple 192']
>> -box.space.memtx:insert{193, "tuple 193"}
>> +box.space.memtx:insert{193, 'tuple 193'}
>> -
>> - [193, 'tuple 193']
>> -box.space.memtx:insert{194, "tuple 194"}
>> +box.space.memtx:insert{194, 'tuple 194'}
>> -
>> - [194, 'tuple 194']
>> -box.space.vinyl:insert{190, "tuple 190"}
>> +box.space.vinyl:insert{190, 'tuple 190'}
>> -
>> - [190, 'tuple 190']
>> -box.space.vinyl:insert{191, "tuple 191"}
>> +box.space.vinyl:insert{191, 'tuple 191'}
>> -
>> - [191, 'tuple 191']
>> -box.space.vinyl:insert{192, "tuple 192"}
>> +box.space.vinyl:insert{192, 'tuple 192'}
>> -
>> - [192, 'tuple 192']
>> -box.space.vinyl:insert{193, "tuple 193"}
>> +box.space.vinyl:insert{193, 'tuple 193'}
>> -
>> - [193, 'tuple 193']
>> -box.space.vinyl:insert{194, "tuple 194"}
>> +box.space.vinyl:insert{194, 'tuple 194'}
>> -
>> - [194, 'tuple 194']
>> box.space.memtx:select{190}
>> @@ -2486,34 +2486,34 @@ box.space.vinyl:select{193}
>> box.space.vinyl:select{194}
>> -
>> - [194, 'tuple 194']
>> -box.space.memtx:insert{195, "tuple 195"}
>> +box.space.memtx:insert{195, 'tuple 195'}
>> -
>> - [195, 'tuple 195']
>> -box.space.memtx:insert{196, "tuple 196"}
>> +box.space.memtx:insert{196, 'tuple 196'}
>> -
>> - [196, 'tuple 196']
>> -box.space.memtx:insert{197, "tuple 197"}
>> +box.space.memtx:insert{197, 'tuple 197'}
>> -
>> - [197, 'tuple 197']
>> -box.space.memtx:insert{198, "tuple 198"}
>> +box.space.memtx:insert{198, 'tuple 198'}
>> -
>> - [198, 'tuple 198']
>> -box.space.memtx:insert{199, "tuple 199"}
>> +box.space.memtx:insert{199, 'tuple 199'}
>> -
>> - [199, 'tuple 199']
>> -box.space.vinyl:insert{195, "tuple 195"}
>> +box.space.vinyl:insert{195, 'tuple 195'}
>> -
>> - [195, 'tuple 195']
>> -box.space.vinyl:insert{196, "tuple 196"}
>> +box.space.vinyl:insert{196, 'tuple 196'}
>> -
>> - [196, 'tuple 196']
>> -box.space.vinyl:insert{197, "tuple 197"}
>> +box.space.vinyl:insert{197, 'tuple 197'}
>> -
>> - [197, 'tuple 197']
>> -box.space.vinyl:insert{198, "tuple 198"}
>> +box.space.vinyl:insert{198, 'tuple 198'}
>> -
>> - [198, 'tuple 198']
>> -box.space.vinyl:insert{199, "tuple 199"}
>> +box.space.vinyl:insert{199, 'tuple 199'}
>> -
>> - [199, 'tuple 199']
>> box.space.memtx:select{195}
>> @@ -2553,34 +2553,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 10 iteration
>> -box.space.memtx:insert{200, "tuple 200"}
>> +box.space.memtx:insert{200, 'tuple 200'}
>> -
>> - [200, 'tuple 200']
>> -box.space.memtx:insert{201, "tuple 201"}
>> +box.space.memtx:insert{201, 'tuple 201'}
>> -
>> - [201, 'tuple 201']
>> -box.space.memtx:insert{202, "tuple 202"}
>> +box.space.memtx:insert{202, 'tuple 202'}
>> -
>> - [202, 'tuple 202']
>> -box.space.memtx:insert{203, "tuple 203"}
>> +box.space.memtx:insert{203, 'tuple 203'}
>> -
>> - [203, 'tuple 203']
>> -box.space.memtx:insert{204, "tuple 204"}
>> +box.space.memtx:insert{204, 'tuple 204'}
>> -
>> - [204, 'tuple 204']
>> -box.space.vinyl:insert{200, "tuple 200"}
>> +box.space.vinyl:insert{200, 'tuple 200'}
>> -
>> - [200, 'tuple 200']
>> -box.space.vinyl:insert{201, "tuple 201"}
>> +box.space.vinyl:insert{201, 'tuple 201'}
>> -
>> - [201, 'tuple 201']
>> -box.space.vinyl:insert{202, "tuple 202"}
>> +box.space.vinyl:insert{202, 'tuple 202'}
>> -
>> - [202, 'tuple 202']
>> -box.space.vinyl:insert{203, "tuple 203"}
>> +box.space.vinyl:insert{203, 'tuple 203'}
>> -
>> - [203, 'tuple 203']
>> -box.space.vinyl:insert{204, "tuple 204"}
>> +box.space.vinyl:insert{204, 'tuple 204'}
>> -
>> - [204, 'tuple 204']
>> box.space.memtx:select{200}
>> @@ -2613,34 +2613,34 @@ box.space.vinyl:select{203}
>> box.space.vinyl:select{204}
>> -
>> - [204, 'tuple 204']
>> -box.space.memtx:insert{205, "tuple 205"}
>> +box.space.memtx:insert{205, 'tuple 205'}
>> -
>> - [205, 'tuple 205']
>> -box.space.memtx:insert{206, "tuple 206"}
>> +box.space.memtx:insert{206, 'tuple 206'}
>> -
>> - [206, 'tuple 206']
>> -box.space.memtx:insert{207, "tuple 207"}
>> +box.space.memtx:insert{207, 'tuple 207'}
>> -
>> - [207, 'tuple 207']
>> -box.space.memtx:insert{208, "tuple 208"}
>> +box.space.memtx:insert{208, 'tuple 208'}
>> -
>> - [208, 'tuple 208']
>> -box.space.memtx:insert{209, "tuple 209"}
>> +box.space.memtx:insert{209, 'tuple 209'}
>> -
>> - [209, 'tuple 209']
>> -box.space.vinyl:insert{205, "tuple 205"}
>> +box.space.vinyl:insert{205, 'tuple 205'}
>> -
>> - [205, 'tuple 205']
>> -box.space.vinyl:insert{206, "tuple 206"}
>> +box.space.vinyl:insert{206, 'tuple 206'}
>> -
>> - [206, 'tuple 206']
>> -box.space.vinyl:insert{207, "tuple 207"}
>> +box.space.vinyl:insert{207, 'tuple 207'}
>> -
>> - [207, 'tuple 207']
>> -box.space.vinyl:insert{208, "tuple 208"}
>> +box.space.vinyl:insert{208, 'tuple 208'}
>> -
>> - [208, 'tuple 208']
>> -box.space.vinyl:insert{209, "tuple 209"}
>> +box.space.vinyl:insert{209, 'tuple 209'}
>> -
>> - [209, 'tuple 209']
>> box.space.memtx:select{205}
>> @@ -2679,34 +2679,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{210, "tuple 210"}
>> +box.space.memtx:insert{210, 'tuple 210'}
>> -
>> - [210, 'tuple 210']
>> -box.space.memtx:insert{211, "tuple 211"}
>> +box.space.memtx:insert{211, 'tuple 211'}
>> -
>> - [211, 'tuple 211']
>> -box.space.memtx:insert{212, "tuple 212"}
>> +box.space.memtx:insert{212, 'tuple 212'}
>> -
>> - [212, 'tuple 212']
>> -box.space.memtx:insert{213, "tuple 213"}
>> +box.space.memtx:insert{213, 'tuple 213'}
>> -
>> - [213, 'tuple 213']
>> -box.space.memtx:insert{214, "tuple 214"}
>> +box.space.memtx:insert{214, 'tuple 214'}
>> -
>> - [214, 'tuple 214']
>> -box.space.vinyl:insert{210, "tuple 210"}
>> +box.space.vinyl:insert{210, 'tuple 210'}
>> -
>> - [210, 'tuple 210']
>> -box.space.vinyl:insert{211, "tuple 211"}
>> +box.space.vinyl:insert{211, 'tuple 211'}
>> -
>> - [211, 'tuple 211']
>> -box.space.vinyl:insert{212, "tuple 212"}
>> +box.space.vinyl:insert{212, 'tuple 212'}
>> -
>> - [212, 'tuple 212']
>> -box.space.vinyl:insert{213, "tuple 213"}
>> +box.space.vinyl:insert{213, 'tuple 213'}
>> -
>> - [213, 'tuple 213']
>> -box.space.vinyl:insert{214, "tuple 214"}
>> +box.space.vinyl:insert{214, 'tuple 214'}
>> -
>> - [214, 'tuple 214']
>> box.space.memtx:select{210}
>> @@ -2739,34 +2739,34 @@ box.space.vinyl:select{213}
>> box.space.vinyl:select{214}
>> -
>> - [214, 'tuple 214']
>> -box.space.memtx:insert{215, "tuple 215"}
>> +box.space.memtx:insert{215, 'tuple 215'}
>> -
>> - [215, 'tuple 215']
>> -box.space.memtx:insert{216, "tuple 216"}
>> +box.space.memtx:insert{216, 'tuple 216'}
>> -
>> - [216, 'tuple 216']
>> -box.space.memtx:insert{217, "tuple 217"}
>> +box.space.memtx:insert{217, 'tuple 217'}
>> -
>> - [217, 'tuple 217']
>> -box.space.memtx:insert{218, "tuple 218"}
>> +box.space.memtx:insert{218, 'tuple 218'}
>> -
>> - [218, 'tuple 218']
>> -box.space.memtx:insert{219, "tuple 219"}
>> +box.space.memtx:insert{219, 'tuple 219'}
>> -
>> - [219, 'tuple 219']
>> -box.space.vinyl:insert{215, "tuple 215"}
>> +box.space.vinyl:insert{215, 'tuple 215'}
>> -
>> - [215, 'tuple 215']
>> -box.space.vinyl:insert{216, "tuple 216"}
>> +box.space.vinyl:insert{216, 'tuple 216'}
>> -
>> - [216, 'tuple 216']
>> -box.space.vinyl:insert{217, "tuple 217"}
>> +box.space.vinyl:insert{217, 'tuple 217'}
>> -
>> - [217, 'tuple 217']
>> -box.space.vinyl:insert{218, "tuple 218"}
>> +box.space.vinyl:insert{218, 'tuple 218'}
>> -
>> - [218, 'tuple 218']
>> -box.space.vinyl:insert{219, "tuple 219"}
>> +box.space.vinyl:insert{219, 'tuple 219'}
>> -
>> - [219, 'tuple 219']
>> box.space.memtx:select{215}
>> @@ -2806,34 +2806,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 11 iteration
>> -box.space.memtx:insert{220, "tuple 220"}
>> +box.space.memtx:insert{220, 'tuple 220'}
>> -
>> - [220, 'tuple 220']
>> -box.space.memtx:insert{221, "tuple 221"}
>> +box.space.memtx:insert{221, 'tuple 221'}
>> -
>> - [221, 'tuple 221']
>> -box.space.memtx:insert{222, "tuple 222"}
>> +box.space.memtx:insert{222, 'tuple 222'}
>> -
>> - [222, 'tuple 222']
>> -box.space.memtx:insert{223, "tuple 223"}
>> +box.space.memtx:insert{223, 'tuple 223'}
>> -
>> - [223, 'tuple 223']
>> -box.space.memtx:insert{224, "tuple 224"}
>> +box.space.memtx:insert{224, 'tuple 224'}
>> -
>> - [224, 'tuple 224']
>> -box.space.vinyl:insert{220, "tuple 220"}
>> +box.space.vinyl:insert{220, 'tuple 220'}
>> -
>> - [220, 'tuple 220']
>> -box.space.vinyl:insert{221, "tuple 221"}
>> +box.space.vinyl:insert{221, 'tuple 221'}
>> -
>> - [221, 'tuple 221']
>> -box.space.vinyl:insert{222, "tuple 222"}
>> +box.space.vinyl:insert{222, 'tuple 222'}
>> -
>> - [222, 'tuple 222']
>> -box.space.vinyl:insert{223, "tuple 223"}
>> +box.space.vinyl:insert{223, 'tuple 223'}
>> -
>> - [223, 'tuple 223']
>> -box.space.vinyl:insert{224, "tuple 224"}
>> +box.space.vinyl:insert{224, 'tuple 224'}
>> -
>> - [224, 'tuple 224']
>> box.space.memtx:select{220}
>> @@ -2866,34 +2866,34 @@ box.space.vinyl:select{223}
>> box.space.vinyl:select{224}
>> -
>> - [224, 'tuple 224']
>> -box.space.memtx:insert{225, "tuple 225"}
>> +box.space.memtx:insert{225, 'tuple 225'}
>> -
>> - [225, 'tuple 225']
>> -box.space.memtx:insert{226, "tuple 226"}
>> +box.space.memtx:insert{226, 'tuple 226'}
>> -
>> - [226, 'tuple 226']
>> -box.space.memtx:insert{227, "tuple 227"}
>> +box.space.memtx:insert{227, 'tuple 227'}
>> -
>> - [227, 'tuple 227']
>> -box.space.memtx:insert{228, "tuple 228"}
>> +box.space.memtx:insert{228, 'tuple 228'}
>> -
>> - [228, 'tuple 228']
>> -box.space.memtx:insert{229, "tuple 229"}
>> +box.space.memtx:insert{229, 'tuple 229'}
>> -
>> - [229, 'tuple 229']
>> -box.space.vinyl:insert{225, "tuple 225"}
>> +box.space.vinyl:insert{225, 'tuple 225'}
>> -
>> - [225, 'tuple 225']
>> -box.space.vinyl:insert{226, "tuple 226"}
>> +box.space.vinyl:insert{226, 'tuple 226'}
>> -
>> - [226, 'tuple 226']
>> -box.space.vinyl:insert{227, "tuple 227"}
>> +box.space.vinyl:insert{227, 'tuple 227'}
>> -
>> - [227, 'tuple 227']
>> -box.space.vinyl:insert{228, "tuple 228"}
>> +box.space.vinyl:insert{228, 'tuple 228'}
>> -
>> - [228, 'tuple 228']
>> -box.space.vinyl:insert{229, "tuple 229"}
>> +box.space.vinyl:insert{229, 'tuple 229'}
>> -
>> - [229, 'tuple 229']
>> box.space.memtx:select{225}
>> @@ -2932,34 +2932,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{230, "tuple 230"}
>> +box.space.memtx:insert{230, 'tuple 230'}
>> -
>> - [230, 'tuple 230']
>> -box.space.memtx:insert{231, "tuple 231"}
>> +box.space.memtx:insert{231, 'tuple 231'}
>> -
>> - [231, 'tuple 231']
>> -box.space.memtx:insert{232, "tuple 232"}
>> +box.space.memtx:insert{232, 'tuple 232'}
>> -
>> - [232, 'tuple 232']
>> -box.space.memtx:insert{233, "tuple 233"}
>> +box.space.memtx:insert{233, 'tuple 233'}
>> -
>> - [233, 'tuple 233']
>> -box.space.memtx:insert{234, "tuple 234"}
>> +box.space.memtx:insert{234, 'tuple 234'}
>> -
>> - [234, 'tuple 234']
>> -box.space.vinyl:insert{230, "tuple 230"}
>> +box.space.vinyl:insert{230, 'tuple 230'}
>> -
>> - [230, 'tuple 230']
>> -box.space.vinyl:insert{231, "tuple 231"}
>> +box.space.vinyl:insert{231, 'tuple 231'}
>> -
>> - [231, 'tuple 231']
>> -box.space.vinyl:insert{232, "tuple 232"}
>> +box.space.vinyl:insert{232, 'tuple 232'}
>> -
>> - [232, 'tuple 232']
>> -box.space.vinyl:insert{233, "tuple 233"}
>> +box.space.vinyl:insert{233, 'tuple 233'}
>> -
>> - [233, 'tuple 233']
>> -box.space.vinyl:insert{234, "tuple 234"}
>> +box.space.vinyl:insert{234, 'tuple 234'}
>> -
>> - [234, 'tuple 234']
>> box.space.memtx:select{230}
>> @@ -2992,34 +2992,34 @@ box.space.vinyl:select{233}
>> box.space.vinyl:select{234}
>> -
>> - [234, 'tuple 234']
>> -box.space.memtx:insert{235, "tuple 235"}
>> +box.space.memtx:insert{235, 'tuple 235'}
>> -
>> - [235, 'tuple 235']
>> -box.space.memtx:insert{236, "tuple 236"}
>> +box.space.memtx:insert{236, 'tuple 236'}
>> -
>> - [236, 'tuple 236']
>> -box.space.memtx:insert{237, "tuple 237"}
>> +box.space.memtx:insert{237, 'tuple 237'}
>> -
>> - [237, 'tuple 237']
>> -box.space.memtx:insert{238, "tuple 238"}
>> +box.space.memtx:insert{238, 'tuple 238'}
>> -
>> - [238, 'tuple 238']
>> -box.space.memtx:insert{239, "tuple 239"}
>> +box.space.memtx:insert{239, 'tuple 239'}
>> -
>> - [239, 'tuple 239']
>> -box.space.vinyl:insert{235, "tuple 235"}
>> +box.space.vinyl:insert{235, 'tuple 235'}
>> -
>> - [235, 'tuple 235']
>> -box.space.vinyl:insert{236, "tuple 236"}
>> +box.space.vinyl:insert{236, 'tuple 236'}
>> -
>> - [236, 'tuple 236']
>> -box.space.vinyl:insert{237, "tuple 237"}
>> +box.space.vinyl:insert{237, 'tuple 237'}
>> -
>> - [237, 'tuple 237']
>> -box.space.vinyl:insert{238, "tuple 238"}
>> +box.space.vinyl:insert{238, 'tuple 238'}
>> -
>> - [238, 'tuple 238']
>> -box.space.vinyl:insert{239, "tuple 239"}
>> +box.space.vinyl:insert{239, 'tuple 239'}
>> -
>> - [239, 'tuple 239']
>> box.space.memtx:select{235}
>> @@ -3059,34 +3059,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 12 iteration
>> -box.space.memtx:insert{240, "tuple 240"}
>> +box.space.memtx:insert{240, 'tuple 240'}
>> -
>> - [240, 'tuple 240']
>> -box.space.memtx:insert{241, "tuple 241"}
>> +box.space.memtx:insert{241, 'tuple 241'}
>> -
>> - [241, 'tuple 241']
>> -box.space.memtx:insert{242, "tuple 242"}
>> +box.space.memtx:insert{242, 'tuple 242'}
>> -
>> - [242, 'tuple 242']
>> -box.space.memtx:insert{243, "tuple 243"}
>> +box.space.memtx:insert{243, 'tuple 243'}
>> -
>> - [243, 'tuple 243']
>> -box.space.memtx:insert{244, "tuple 244"}
>> +box.space.memtx:insert{244, 'tuple 244'}
>> -
>> - [244, 'tuple 244']
>> -box.space.vinyl:insert{240, "tuple 240"}
>> +box.space.vinyl:insert{240, 'tuple 240'}
>> -
>> - [240, 'tuple 240']
>> -box.space.vinyl:insert{241, "tuple 241"}
>> +box.space.vinyl:insert{241, 'tuple 241'}
>> -
>> - [241, 'tuple 241']
>> -box.space.vinyl:insert{242, "tuple 242"}
>> +box.space.vinyl:insert{242, 'tuple 242'}
>> -
>> - [242, 'tuple 242']
>> -box.space.vinyl:insert{243, "tuple 243"}
>> +box.space.vinyl:insert{243, 'tuple 243'}
>> -
>> - [243, 'tuple 243']
>> -box.space.vinyl:insert{244, "tuple 244"}
>> +box.space.vinyl:insert{244, 'tuple 244'}
>> -
>> - [244, 'tuple 244']
>> box.space.memtx:select{240}
>> @@ -3119,34 +3119,34 @@ box.space.vinyl:select{243}
>> box.space.vinyl:select{244}
>> -
>> - [244, 'tuple 244']
>> -box.space.memtx:insert{245, "tuple 245"}
>> +box.space.memtx:insert{245, 'tuple 245'}
>> -
>> - [245, 'tuple 245']
>> -box.space.memtx:insert{246, "tuple 246"}
>> +box.space.memtx:insert{246, 'tuple 246'}
>> -
>> - [246, 'tuple 246']
>> -box.space.memtx:insert{247, "tuple 247"}
>> +box.space.memtx:insert{247, 'tuple 247'}
>> -
>> - [247, 'tuple 247']
>> -box.space.memtx:insert{248, "tuple 248"}
>> +box.space.memtx:insert{248, 'tuple 248'}
>> -
>> - [248, 'tuple 248']
>> -box.space.memtx:insert{249, "tuple 249"}
>> +box.space.memtx:insert{249, 'tuple 249'}
>> -
>> - [249, 'tuple 249']
>> -box.space.vinyl:insert{245, "tuple 245"}
>> +box.space.vinyl:insert{245, 'tuple 245'}
>> -
>> - [245, 'tuple 245']
>> -box.space.vinyl:insert{246, "tuple 246"}
>> +box.space.vinyl:insert{246, 'tuple 246'}
>> -
>> - [246, 'tuple 246']
>> -box.space.vinyl:insert{247, "tuple 247"}
>> +box.space.vinyl:insert{247, 'tuple 247'}
>> -
>> - [247, 'tuple 247']
>> -box.space.vinyl:insert{248, "tuple 248"}
>> +box.space.vinyl:insert{248, 'tuple 248'}
>> -
>> - [248, 'tuple 248']
>> -box.space.vinyl:insert{249, "tuple 249"}
>> +box.space.vinyl:insert{249, 'tuple 249'}
>> -
>> - [249, 'tuple 249']
>> box.space.memtx:select{245}
>> @@ -3185,34 +3185,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{250, "tuple 250"}
>> +box.space.memtx:insert{250, 'tuple 250'}
>> -
>> - [250, 'tuple 250']
>> -box.space.memtx:insert{251, "tuple 251"}
>> +box.space.memtx:insert{251, 'tuple 251'}
>> -
>> - [251, 'tuple 251']
>> -box.space.memtx:insert{252, "tuple 252"}
>> +box.space.memtx:insert{252, 'tuple 252'}
>> -
>> - [252, 'tuple 252']
>> -box.space.memtx:insert{253, "tuple 253"}
>> +box.space.memtx:insert{253, 'tuple 253'}
>> -
>> - [253, 'tuple 253']
>> -box.space.memtx:insert{254, "tuple 254"}
>> +box.space.memtx:insert{254, 'tuple 254'}
>> -
>> - [254, 'tuple 254']
>> -box.space.vinyl:insert{250, "tuple 250"}
>> +box.space.vinyl:insert{250, 'tuple 250'}
>> -
>> - [250, 'tuple 250']
>> -box.space.vinyl:insert{251, "tuple 251"}
>> +box.space.vinyl:insert{251, 'tuple 251'}
>> -
>> - [251, 'tuple 251']
>> -box.space.vinyl:insert{252, "tuple 252"}
>> +box.space.vinyl:insert{252, 'tuple 252'}
>> -
>> - [252, 'tuple 252']
>> -box.space.vinyl:insert{253, "tuple 253"}
>> +box.space.vinyl:insert{253, 'tuple 253'}
>> -
>> - [253, 'tuple 253']
>> -box.space.vinyl:insert{254, "tuple 254"}
>> +box.space.vinyl:insert{254, 'tuple 254'}
>> -
>> - [254, 'tuple 254']
>> box.space.memtx:select{250}
>> @@ -3245,34 +3245,34 @@ box.space.vinyl:select{253}
>> box.space.vinyl:select{254}
>> -
>> - [254, 'tuple 254']
>> -box.space.memtx:insert{255, "tuple 255"}
>> +box.space.memtx:insert{255, 'tuple 255'}
>> -
>> - [255, 'tuple 255']
>> -box.space.memtx:insert{256, "tuple 256"}
>> +box.space.memtx:insert{256, 'tuple 256'}
>> -
>> - [256, 'tuple 256']
>> -box.space.memtx:insert{257, "tuple 257"}
>> +box.space.memtx:insert{257, 'tuple 257'}
>> -
>> - [257, 'tuple 257']
>> -box.space.memtx:insert{258, "tuple 258"}
>> +box.space.memtx:insert{258, 'tuple 258'}
>> -
>> - [258, 'tuple 258']
>> -box.space.memtx:insert{259, "tuple 259"}
>> +box.space.memtx:insert{259, 'tuple 259'}
>> -
>> - [259, 'tuple 259']
>> -box.space.vinyl:insert{255, "tuple 255"}
>> +box.space.vinyl:insert{255, 'tuple 255'}
>> -
>> - [255, 'tuple 255']
>> -box.space.vinyl:insert{256, "tuple 256"}
>> +box.space.vinyl:insert{256, 'tuple 256'}
>> -
>> - [256, 'tuple 256']
>> -box.space.vinyl:insert{257, "tuple 257"}
>> +box.space.vinyl:insert{257, 'tuple 257'}
>> -
>> - [257, 'tuple 257']
>> -box.space.vinyl:insert{258, "tuple 258"}
>> +box.space.vinyl:insert{258, 'tuple 258'}
>> -
>> - [258, 'tuple 258']
>> -box.space.vinyl:insert{259, "tuple 259"}
>> +box.space.vinyl:insert{259, 'tuple 259'}
>> -
>> - [259, 'tuple 259']
>> box.space.memtx:select{255}
>> @@ -3312,34 +3312,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 13 iteration
>> -box.space.memtx:insert{260, "tuple 260"}
>> +box.space.memtx:insert{260, 'tuple 260'}
>> -
>> - [260, 'tuple 260']
>> -box.space.memtx:insert{261, "tuple 261"}
>> +box.space.memtx:insert{261, 'tuple 261'}
>> -
>> - [261, 'tuple 261']
>> -box.space.memtx:insert{262, "tuple 262"}
>> +box.space.memtx:insert{262, 'tuple 262'}
>> -
>> - [262, 'tuple 262']
>> -box.space.memtx:insert{263, "tuple 263"}
>> +box.space.memtx:insert{263, 'tuple 263'}
>> -
>> - [263, 'tuple 263']
>> -box.space.memtx:insert{264, "tuple 264"}
>> +box.space.memtx:insert{264, 'tuple 264'}
>> -
>> - [264, 'tuple 264']
>> -box.space.vinyl:insert{260, "tuple 260"}
>> +box.space.vinyl:insert{260, 'tuple 260'}
>> -
>> - [260, 'tuple 260']
>> -box.space.vinyl:insert{261, "tuple 261"}
>> +box.space.vinyl:insert{261, 'tuple 261'}
>> -
>> - [261, 'tuple 261']
>> -box.space.vinyl:insert{262, "tuple 262"}
>> +box.space.vinyl:insert{262, 'tuple 262'}
>> -
>> - [262, 'tuple 262']
>> -box.space.vinyl:insert{263, "tuple 263"}
>> +box.space.vinyl:insert{263, 'tuple 263'}
>> -
>> - [263, 'tuple 263']
>> -box.space.vinyl:insert{264, "tuple 264"}
>> +box.space.vinyl:insert{264, 'tuple 264'}
>> -
>> - [264, 'tuple 264']
>> box.space.memtx:select{260}
>> @@ -3372,34 +3372,34 @@ box.space.vinyl:select{263}
>> box.space.vinyl:select{264}
>> -
>> - [264, 'tuple 264']
>> -box.space.memtx:insert{265, "tuple 265"}
>> +box.space.memtx:insert{265, 'tuple 265'}
>> -
>> - [265, 'tuple 265']
>> -box.space.memtx:insert{266, "tuple 266"}
>> +box.space.memtx:insert{266, 'tuple 266'}
>> -
>> - [266, 'tuple 266']
>> -box.space.memtx:insert{267, "tuple 267"}
>> +box.space.memtx:insert{267, 'tuple 267'}
>> -
>> - [267, 'tuple 267']
>> -box.space.memtx:insert{268, "tuple 268"}
>> +box.space.memtx:insert{268, 'tuple 268'}
>> -
>> - [268, 'tuple 268']
>> -box.space.memtx:insert{269, "tuple 269"}
>> +box.space.memtx:insert{269, 'tuple 269'}
>> -
>> - [269, 'tuple 269']
>> -box.space.vinyl:insert{265, "tuple 265"}
>> +box.space.vinyl:insert{265, 'tuple 265'}
>> -
>> - [265, 'tuple 265']
>> -box.space.vinyl:insert{266, "tuple 266"}
>> +box.space.vinyl:insert{266, 'tuple 266'}
>> -
>> - [266, 'tuple 266']
>> -box.space.vinyl:insert{267, "tuple 267"}
>> +box.space.vinyl:insert{267, 'tuple 267'}
>> -
>> - [267, 'tuple 267']
>> -box.space.vinyl:insert{268, "tuple 268"}
>> +box.space.vinyl:insert{268, 'tuple 268'}
>> -
>> - [268, 'tuple 268']
>> -box.space.vinyl:insert{269, "tuple 269"}
>> +box.space.vinyl:insert{269, 'tuple 269'}
>> -
>> - [269, 'tuple 269']
>> box.space.memtx:select{265}
>> @@ -3438,34 +3438,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{270, "tuple 270"}
>> +box.space.memtx:insert{270, 'tuple 270'}
>> -
>> - [270, 'tuple 270']
>> -box.space.memtx:insert{271, "tuple 271"}
>> +box.space.memtx:insert{271, 'tuple 271'}
>> -
>> - [271, 'tuple 271']
>> -box.space.memtx:insert{272, "tuple 272"}
>> +box.space.memtx:insert{272, 'tuple 272'}
>> -
>> - [272, 'tuple 272']
>> -box.space.memtx:insert{273, "tuple 273"}
>> +box.space.memtx:insert{273, 'tuple 273'}
>> -
>> - [273, 'tuple 273']
>> -box.space.memtx:insert{274, "tuple 274"}
>> +box.space.memtx:insert{274, 'tuple 274'}
>> -
>> - [274, 'tuple 274']
>> -box.space.vinyl:insert{270, "tuple 270"}
>> +box.space.vinyl:insert{270, 'tuple 270'}
>> -
>> - [270, 'tuple 270']
>> -box.space.vinyl:insert{271, "tuple 271"}
>> +box.space.vinyl:insert{271, 'tuple 271'}
>> -
>> - [271, 'tuple 271']
>> -box.space.vinyl:insert{272, "tuple 272"}
>> +box.space.vinyl:insert{272, 'tuple 272'}
>> -
>> - [272, 'tuple 272']
>> -box.space.vinyl:insert{273, "tuple 273"}
>> +box.space.vinyl:insert{273, 'tuple 273'}
>> -
>> - [273, 'tuple 273']
>> -box.space.vinyl:insert{274, "tuple 274"}
>> +box.space.vinyl:insert{274, 'tuple 274'}
>> -
>> - [274, 'tuple 274']
>> box.space.memtx:select{270}
>> @@ -3498,34 +3498,34 @@ box.space.vinyl:select{273}
>> box.space.vinyl:select{274}
>> -
>> - [274, 'tuple 274']
>> -box.space.memtx:insert{275, "tuple 275"}
>> +box.space.memtx:insert{275, 'tuple 275'}
>> -
>> - [275, 'tuple 275']
>> -box.space.memtx:insert{276, "tuple 276"}
>> +box.space.memtx:insert{276, 'tuple 276'}
>> -
>> - [276, 'tuple 276']
>> -box.space.memtx:insert{277, "tuple 277"}
>> +box.space.memtx:insert{277, 'tuple 277'}
>> -
>> - [277, 'tuple 277']
>> -box.space.memtx:insert{278, "tuple 278"}
>> +box.space.memtx:insert{278, 'tuple 278'}
>> -
>> - [278, 'tuple 278']
>> -box.space.memtx:insert{279, "tuple 279"}
>> +box.space.memtx:insert{279, 'tuple 279'}
>> -
>> - [279, 'tuple 279']
>> -box.space.vinyl:insert{275, "tuple 275"}
>> +box.space.vinyl:insert{275, 'tuple 275'}
>> -
>> - [275, 'tuple 275']
>> -box.space.vinyl:insert{276, "tuple 276"}
>> +box.space.vinyl:insert{276, 'tuple 276'}
>> -
>> - [276, 'tuple 276']
>> -box.space.vinyl:insert{277, "tuple 277"}
>> +box.space.vinyl:insert{277, 'tuple 277'}
>> -
>> - [277, 'tuple 277']
>> -box.space.vinyl:insert{278, "tuple 278"}
>> +box.space.vinyl:insert{278, 'tuple 278'}
>> -
>> - [278, 'tuple 278']
>> -box.space.vinyl:insert{279, "tuple 279"}
>> +box.space.vinyl:insert{279, 'tuple 279'}
>> -
>> - [279, 'tuple 279']
>> box.space.memtx:select{275}
>> @@ -3565,34 +3565,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 14 iteration
>> -box.space.memtx:insert{280, "tuple 280"}
>> +box.space.memtx:insert{280, 'tuple 280'}
>> -
>> - [280, 'tuple 280']
>> -box.space.memtx:insert{281, "tuple 281"}
>> +box.space.memtx:insert{281, 'tuple 281'}
>> -
>> - [281, 'tuple 281']
>> -box.space.memtx:insert{282, "tuple 282"}
>> +box.space.memtx:insert{282, 'tuple 282'}
>> -
>> - [282, 'tuple 282']
>> -box.space.memtx:insert{283, "tuple 283"}
>> +box.space.memtx:insert{283, 'tuple 283'}
>> -
>> - [283, 'tuple 283']
>> -box.space.memtx:insert{284, "tuple 284"}
>> +box.space.memtx:insert{284, 'tuple 284'}
>> -
>> - [284, 'tuple 284']
>> -box.space.vinyl:insert{280, "tuple 280"}
>> +box.space.vinyl:insert{280, 'tuple 280'}
>> -
>> - [280, 'tuple 280']
>> -box.space.vinyl:insert{281, "tuple 281"}
>> +box.space.vinyl:insert{281, 'tuple 281'}
>> -
>> - [281, 'tuple 281']
>> -box.space.vinyl:insert{282, "tuple 282"}
>> +box.space.vinyl:insert{282, 'tuple 282'}
>> -
>> - [282, 'tuple 282']
>> -box.space.vinyl:insert{283, "tuple 283"}
>> +box.space.vinyl:insert{283, 'tuple 283'}
>> -
>> - [283, 'tuple 283']
>> -box.space.vinyl:insert{284, "tuple 284"}
>> +box.space.vinyl:insert{284, 'tuple 284'}
>> -
>> - [284, 'tuple 284']
>> box.space.memtx:select{280}
>> @@ -3625,34 +3625,34 @@ box.space.vinyl:select{283}
>> box.space.vinyl:select{284}
>> -
>> - [284, 'tuple 284']
>> -box.space.memtx:insert{285, "tuple 285"}
>> +box.space.memtx:insert{285, 'tuple 285'}
>> -
>> - [285, 'tuple 285']
>> -box.space.memtx:insert{286, "tuple 286"}
>> +box.space.memtx:insert{286, 'tuple 286'}
>> -
>> - [286, 'tuple 286']
>> -box.space.memtx:insert{287, "tuple 287"}
>> +box.space.memtx:insert{287, 'tuple 287'}
>> -
>> - [287, 'tuple 287']
>> -box.space.memtx:insert{288, "tuple 288"}
>> +box.space.memtx:insert{288, 'tuple 288'}
>> -
>> - [288, 'tuple 288']
>> -box.space.memtx:insert{289, "tuple 289"}
>> +box.space.memtx:insert{289, 'tuple 289'}
>> -
>> - [289, 'tuple 289']
>> -box.space.vinyl:insert{285, "tuple 285"}
>> +box.space.vinyl:insert{285, 'tuple 285'}
>> -
>> - [285, 'tuple 285']
>> -box.space.vinyl:insert{286, "tuple 286"}
>> +box.space.vinyl:insert{286, 'tuple 286'}
>> -
>> - [286, 'tuple 286']
>> -box.space.vinyl:insert{287, "tuple 287"}
>> +box.space.vinyl:insert{287, 'tuple 287'}
>> -
>> - [287, 'tuple 287']
>> -box.space.vinyl:insert{288, "tuple 288"}
>> +box.space.vinyl:insert{288, 'tuple 288'}
>> -
>> - [288, 'tuple 288']
>> -box.space.vinyl:insert{289, "tuple 289"}
>> +box.space.vinyl:insert{289, 'tuple 289'}
>> -
>> - [289, 'tuple 289']
>> box.space.memtx:select{285}
>> @@ -3691,34 +3691,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{290, "tuple 290"}
>> +box.space.memtx:insert{290, 'tuple 290'}
>> -
>> - [290, 'tuple 290']
>> -box.space.memtx:insert{291, "tuple 291"}
>> +box.space.memtx:insert{291, 'tuple 291'}
>> -
>> - [291, 'tuple 291']
>> -box.space.memtx:insert{292, "tuple 292"}
>> +box.space.memtx:insert{292, 'tuple 292'}
>> -
>> - [292, 'tuple 292']
>> -box.space.memtx:insert{293, "tuple 293"}
>> +box.space.memtx:insert{293, 'tuple 293'}
>> -
>> - [293, 'tuple 293']
>> -box.space.memtx:insert{294, "tuple 294"}
>> +box.space.memtx:insert{294, 'tuple 294'}
>> -
>> - [294, 'tuple 294']
>> -box.space.vinyl:insert{290, "tuple 290"}
>> +box.space.vinyl:insert{290, 'tuple 290'}
>> -
>> - [290, 'tuple 290']
>> -box.space.vinyl:insert{291, "tuple 291"}
>> +box.space.vinyl:insert{291, 'tuple 291'}
>> -
>> - [291, 'tuple 291']
>> -box.space.vinyl:insert{292, "tuple 292"}
>> +box.space.vinyl:insert{292, 'tuple 292'}
>> -
>> - [292, 'tuple 292']
>> -box.space.vinyl:insert{293, "tuple 293"}
>> +box.space.vinyl:insert{293, 'tuple 293'}
>> -
>> - [293, 'tuple 293']
>> -box.space.vinyl:insert{294, "tuple 294"}
>> +box.space.vinyl:insert{294, 'tuple 294'}
>> -
>> - [294, 'tuple 294']
>> box.space.memtx:select{290}
>> @@ -3751,34 +3751,34 @@ box.space.vinyl:select{293}
>> box.space.vinyl:select{294}
>> -
>> - [294, 'tuple 294']
>> -box.space.memtx:insert{295, "tuple 295"}
>> +box.space.memtx:insert{295, 'tuple 295'}
>> -
>> - [295, 'tuple 295']
>> -box.space.memtx:insert{296, "tuple 296"}
>> +box.space.memtx:insert{296, 'tuple 296'}
>> -
>> - [296, 'tuple 296']
>> -box.space.memtx:insert{297, "tuple 297"}
>> +box.space.memtx:insert{297, 'tuple 297'}
>> -
>> - [297, 'tuple 297']
>> -box.space.memtx:insert{298, "tuple 298"}
>> +box.space.memtx:insert{298, 'tuple 298'}
>> -
>> - [298, 'tuple 298']
>> -box.space.memtx:insert{299, "tuple 299"}
>> +box.space.memtx:insert{299, 'tuple 299'}
>> -
>> - [299, 'tuple 299']
>> -box.space.vinyl:insert{295, "tuple 295"}
>> +box.space.vinyl:insert{295, 'tuple 295'}
>> -
>> - [295, 'tuple 295']
>> -box.space.vinyl:insert{296, "tuple 296"}
>> +box.space.vinyl:insert{296, 'tuple 296'}
>> -
>> - [296, 'tuple 296']
>> -box.space.vinyl:insert{297, "tuple 297"}
>> +box.space.vinyl:insert{297, 'tuple 297'}
>> -
>> - [297, 'tuple 297']
>> -box.space.vinyl:insert{298, "tuple 298"}
>> +box.space.vinyl:insert{298, 'tuple 298'}
>> -
>> - [298, 'tuple 298']
>> -box.space.vinyl:insert{299, "tuple 299"}
>> +box.space.vinyl:insert{299, 'tuple 299'}
>> -
>> - [299, 'tuple 299']
>> box.space.memtx:select{295}
>> @@ -3818,34 +3818,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 15 iteration
>> -box.space.memtx:insert{300, "tuple 300"}
>> +box.space.memtx:insert{300, 'tuple 300'}
>> -
>> - [300, 'tuple 300']
>> -box.space.memtx:insert{301, "tuple 301"}
>> +box.space.memtx:insert{301, 'tuple 301'}
>> -
>> - [301, 'tuple 301']
>> -box.space.memtx:insert{302, "tuple 302"}
>> +box.space.memtx:insert{302, 'tuple 302'}
>> -
>> - [302, 'tuple 302']
>> -box.space.memtx:insert{303, "tuple 303"}
>> +box.space.memtx:insert{303, 'tuple 303'}
>> -
>> - [303, 'tuple 303']
>> -box.space.memtx:insert{304, "tuple 304"}
>> +box.space.memtx:insert{304, 'tuple 304'}
>> -
>> - [304, 'tuple 304']
>> -box.space.vinyl:insert{300, "tuple 300"}
>> +box.space.vinyl:insert{300, 'tuple 300'}
>> -
>> - [300, 'tuple 300']
>> -box.space.vinyl:insert{301, "tuple 301"}
>> +box.space.vinyl:insert{301, 'tuple 301'}
>> -
>> - [301, 'tuple 301']
>> -box.space.vinyl:insert{302, "tuple 302"}
>> +box.space.vinyl:insert{302, 'tuple 302'}
>> -
>> - [302, 'tuple 302']
>> -box.space.vinyl:insert{303, "tuple 303"}
>> +box.space.vinyl:insert{303, 'tuple 303'}
>> -
>> - [303, 'tuple 303']
>> -box.space.vinyl:insert{304, "tuple 304"}
>> +box.space.vinyl:insert{304, 'tuple 304'}
>> -
>> - [304, 'tuple 304']
>> box.space.memtx:select{300}
>> @@ -3878,34 +3878,34 @@ box.space.vinyl:select{303}
>> box.space.vinyl:select{304}
>> -
>> - [304, 'tuple 304']
>> -box.space.memtx:insert{305, "tuple 305"}
>> +box.space.memtx:insert{305, 'tuple 305'}
>> -
>> - [305, 'tuple 305']
>> -box.space.memtx:insert{306, "tuple 306"}
>> +box.space.memtx:insert{306, 'tuple 306'}
>> -
>> - [306, 'tuple 306']
>> -box.space.memtx:insert{307, "tuple 307"}
>> +box.space.memtx:insert{307, 'tuple 307'}
>> -
>> - [307, 'tuple 307']
>> -box.space.memtx:insert{308, "tuple 308"}
>> +box.space.memtx:insert{308, 'tuple 308'}
>> -
>> - [308, 'tuple 308']
>> -box.space.memtx:insert{309, "tuple 309"}
>> +box.space.memtx:insert{309, 'tuple 309'}
>> -
>> - [309, 'tuple 309']
>> -box.space.vinyl:insert{305, "tuple 305"}
>> +box.space.vinyl:insert{305, 'tuple 305'}
>> -
>> - [305, 'tuple 305']
>> -box.space.vinyl:insert{306, "tuple 306"}
>> +box.space.vinyl:insert{306, 'tuple 306'}
>> -
>> - [306, 'tuple 306']
>> -box.space.vinyl:insert{307, "tuple 307"}
>> +box.space.vinyl:insert{307, 'tuple 307'}
>> -
>> - [307, 'tuple 307']
>> -box.space.vinyl:insert{308, "tuple 308"}
>> +box.space.vinyl:insert{308, 'tuple 308'}
>> -
>> - [308, 'tuple 308']
>> -box.space.vinyl:insert{309, "tuple 309"}
>> +box.space.vinyl:insert{309, 'tuple 309'}
>> -
>> - [309, 'tuple 309']
>> box.space.memtx:select{305}
>> @@ -3944,34 +3944,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{310, "tuple 310"}
>> +box.space.memtx:insert{310, 'tuple 310'}
>> -
>> - [310, 'tuple 310']
>> -box.space.memtx:insert{311, "tuple 311"}
>> +box.space.memtx:insert{311, 'tuple 311'}
>> -
>> - [311, 'tuple 311']
>> -box.space.memtx:insert{312, "tuple 312"}
>> +box.space.memtx:insert{312, 'tuple 312'}
>> -
>> - [312, 'tuple 312']
>> -box.space.memtx:insert{313, "tuple 313"}
>> +box.space.memtx:insert{313, 'tuple 313'}
>> -
>> - [313, 'tuple 313']
>> -box.space.memtx:insert{314, "tuple 314"}
>> +box.space.memtx:insert{314, 'tuple 314'}
>> -
>> - [314, 'tuple 314']
>> -box.space.vinyl:insert{310, "tuple 310"}
>> +box.space.vinyl:insert{310, 'tuple 310'}
>> -
>> - [310, 'tuple 310']
>> -box.space.vinyl:insert{311, "tuple 311"}
>> +box.space.vinyl:insert{311, 'tuple 311'}
>> -
>> - [311, 'tuple 311']
>> -box.space.vinyl:insert{312, "tuple 312"}
>> +box.space.vinyl:insert{312, 'tuple 312'}
>> -
>> - [312, 'tuple 312']
>> -box.space.vinyl:insert{313, "tuple 313"}
>> +box.space.vinyl:insert{313, 'tuple 313'}
>> -
>> - [313, 'tuple 313']
>> -box.space.vinyl:insert{314, "tuple 314"}
>> +box.space.vinyl:insert{314, 'tuple 314'}
>> -
>> - [314, 'tuple 314']
>> box.space.memtx:select{310}
>> @@ -4004,34 +4004,34 @@ box.space.vinyl:select{313}
>> box.space.vinyl:select{314}
>> -
>> - [314, 'tuple 314']
>> -box.space.memtx:insert{315, "tuple 315"}
>> +box.space.memtx:insert{315, 'tuple 315'}
>> -
>> - [315, 'tuple 315']
>> -box.space.memtx:insert{316, "tuple 316"}
>> +box.space.memtx:insert{316, 'tuple 316'}
>> -
>> - [316, 'tuple 316']
>> -box.space.memtx:insert{317, "tuple 317"}
>> +box.space.memtx:insert{317, 'tuple 317'}
>> -
>> - [317, 'tuple 317']
>> -box.space.memtx:insert{318, "tuple 318"}
>> +box.space.memtx:insert{318, 'tuple 318'}
>> -
>> - [318, 'tuple 318']
>> -box.space.memtx:insert{319, "tuple 319"}
>> +box.space.memtx:insert{319, 'tuple 319'}
>> -
>> - [319, 'tuple 319']
>> -box.space.vinyl:insert{315, "tuple 315"}
>> +box.space.vinyl:insert{315, 'tuple 315'}
>> -
>> - [315, 'tuple 315']
>> -box.space.vinyl:insert{316, "tuple 316"}
>> +box.space.vinyl:insert{316, 'tuple 316'}
>> -
>> - [316, 'tuple 316']
>> -box.space.vinyl:insert{317, "tuple 317"}
>> +box.space.vinyl:insert{317, 'tuple 317'}
>> -
>> - [317, 'tuple 317']
>> -box.space.vinyl:insert{318, "tuple 318"}
>> +box.space.vinyl:insert{318, 'tuple 318'}
>> -
>> - [318, 'tuple 318']
>> -box.space.vinyl:insert{319, "tuple 319"}
>> +box.space.vinyl:insert{319, 'tuple 319'}
>> -
>> - [319, 'tuple 319']
>> box.space.memtx:select{315}
>> @@ -4071,34 +4071,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 16 iteration
>> -box.space.memtx:insert{320, "tuple 320"}
>> +box.space.memtx:insert{320, 'tuple 320'}
>> -
>> - [320, 'tuple 320']
>> -box.space.memtx:insert{321, "tuple 321"}
>> +box.space.memtx:insert{321, 'tuple 321'}
>> -
>> - [321, 'tuple 321']
>> -box.space.memtx:insert{322, "tuple 322"}
>> +box.space.memtx:insert{322, 'tuple 322'}
>> -
>> - [322, 'tuple 322']
>> -box.space.memtx:insert{323, "tuple 323"}
>> +box.space.memtx:insert{323, 'tuple 323'}
>> -
>> - [323, 'tuple 323']
>> -box.space.memtx:insert{324, "tuple 324"}
>> +box.space.memtx:insert{324, 'tuple 324'}
>> -
>> - [324, 'tuple 324']
>> -box.space.vinyl:insert{320, "tuple 320"}
>> +box.space.vinyl:insert{320, 'tuple 320'}
>> -
>> - [320, 'tuple 320']
>> -box.space.vinyl:insert{321, "tuple 321"}
>> +box.space.vinyl:insert{321, 'tuple 321'}
>> -
>> - [321, 'tuple 321']
>> -box.space.vinyl:insert{322, "tuple 322"}
>> +box.space.vinyl:insert{322, 'tuple 322'}
>> -
>> - [322, 'tuple 322']
>> -box.space.vinyl:insert{323, "tuple 323"}
>> +box.space.vinyl:insert{323, 'tuple 323'}
>> -
>> - [323, 'tuple 323']
>> -box.space.vinyl:insert{324, "tuple 324"}
>> +box.space.vinyl:insert{324, 'tuple 324'}
>> -
>> - [324, 'tuple 324']
>> box.space.memtx:select{320}
>> @@ -4131,34 +4131,34 @@ box.space.vinyl:select{323}
>> box.space.vinyl:select{324}
>> -
>> - [324, 'tuple 324']
>> -box.space.memtx:insert{325, "tuple 325"}
>> +box.space.memtx:insert{325, 'tuple 325'}
>> -
>> - [325, 'tuple 325']
>> -box.space.memtx:insert{326, "tuple 326"}
>> +box.space.memtx:insert{326, 'tuple 326'}
>> -
>> - [326, 'tuple 326']
>> -box.space.memtx:insert{327, "tuple 327"}
>> +box.space.memtx:insert{327, 'tuple 327'}
>> -
>> - [327, 'tuple 327']
>> -box.space.memtx:insert{328, "tuple 328"}
>> +box.space.memtx:insert{328, 'tuple 328'}
>> -
>> - [328, 'tuple 328']
>> -box.space.memtx:insert{329, "tuple 329"}
>> +box.space.memtx:insert{329, 'tuple 329'}
>> -
>> - [329, 'tuple 329']
>> -box.space.vinyl:insert{325, "tuple 325"}
>> +box.space.vinyl:insert{325, 'tuple 325'}
>> -
>> - [325, 'tuple 325']
>> -box.space.vinyl:insert{326, "tuple 326"}
>> +box.space.vinyl:insert{326, 'tuple 326'}
>> -
>> - [326, 'tuple 326']
>> -box.space.vinyl:insert{327, "tuple 327"}
>> +box.space.vinyl:insert{327, 'tuple 327'}
>> -
>> - [327, 'tuple 327']
>> -box.space.vinyl:insert{328, "tuple 328"}
>> +box.space.vinyl:insert{328, 'tuple 328'}
>> -
>> - [328, 'tuple 328']
>> -box.space.vinyl:insert{329, "tuple 329"}
>> +box.space.vinyl:insert{329, 'tuple 329'}
>> -
>> - [329, 'tuple 329']
>> box.space.memtx:select{325}
>> @@ -4197,34 +4197,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{330, "tuple 330"}
>> +box.space.memtx:insert{330, 'tuple 330'}
>> -
>> - [330, 'tuple 330']
>> -box.space.memtx:insert{331, "tuple 331"}
>> +box.space.memtx:insert{331, 'tuple 331'}
>> -
>> - [331, 'tuple 331']
>> -box.space.memtx:insert{332, "tuple 332"}
>> +box.space.memtx:insert{332, 'tuple 332'}
>> -
>> - [332, 'tuple 332']
>> -box.space.memtx:insert{333, "tuple 333"}
>> +box.space.memtx:insert{333, 'tuple 333'}
>> -
>> - [333, 'tuple 333']
>> -box.space.memtx:insert{334, "tuple 334"}
>> +box.space.memtx:insert{334, 'tuple 334'}
>> -
>> - [334, 'tuple 334']
>> -box.space.vinyl:insert{330, "tuple 330"}
>> +box.space.vinyl:insert{330, 'tuple 330'}
>> -
>> - [330, 'tuple 330']
>> -box.space.vinyl:insert{331, "tuple 331"}
>> +box.space.vinyl:insert{331, 'tuple 331'}
>> -
>> - [331, 'tuple 331']
>> -box.space.vinyl:insert{332, "tuple 332"}
>> +box.space.vinyl:insert{332, 'tuple 332'}
>> -
>> - [332, 'tuple 332']
>> -box.space.vinyl:insert{333, "tuple 333"}
>> +box.space.vinyl:insert{333, 'tuple 333'}
>> -
>> - [333, 'tuple 333']
>> -box.space.vinyl:insert{334, "tuple 334"}
>> +box.space.vinyl:insert{334, 'tuple 334'}
>> -
>> - [334, 'tuple 334']
>> box.space.memtx:select{330}
>> @@ -4257,34 +4257,34 @@ box.space.vinyl:select{333}
>> box.space.vinyl:select{334}
>> -
>> - [334, 'tuple 334']
>> -box.space.memtx:insert{335, "tuple 335"}
>> +box.space.memtx:insert{335, 'tuple 335'}
>> -
>> - [335, 'tuple 335']
>> -box.space.memtx:insert{336, "tuple 336"}
>> +box.space.memtx:insert{336, 'tuple 336'}
>> -
>> - [336, 'tuple 336']
>> -box.space.memtx:insert{337, "tuple 337"}
>> +box.space.memtx:insert{337, 'tuple 337'}
>> -
>> - [337, 'tuple 337']
>> -box.space.memtx:insert{338, "tuple 338"}
>> +box.space.memtx:insert{338, 'tuple 338'}
>> -
>> - [338, 'tuple 338']
>> -box.space.memtx:insert{339, "tuple 339"}
>> +box.space.memtx:insert{339, 'tuple 339'}
>> -
>> - [339, 'tuple 339']
>> -box.space.vinyl:insert{335, "tuple 335"}
>> +box.space.vinyl:insert{335, 'tuple 335'}
>> -
>> - [335, 'tuple 335']
>> -box.space.vinyl:insert{336, "tuple 336"}
>> +box.space.vinyl:insert{336, 'tuple 336'}
>> -
>> - [336, 'tuple 336']
>> -box.space.vinyl:insert{337, "tuple 337"}
>> +box.space.vinyl:insert{337, 'tuple 337'}
>> -
>> - [337, 'tuple 337']
>> -box.space.vinyl:insert{338, "tuple 338"}
>> +box.space.vinyl:insert{338, 'tuple 338'}
>> -
>> - [338, 'tuple 338']
>> -box.space.vinyl:insert{339, "tuple 339"}
>> +box.space.vinyl:insert{339, 'tuple 339'}
>> -
>> - [339, 'tuple 339']
>> box.space.memtx:select{335}
>> @@ -4324,34 +4324,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 17 iteration
>> -box.space.memtx:insert{340, "tuple 340"}
>> +box.space.memtx:insert{340, 'tuple 340'}
>> -
>> - [340, 'tuple 340']
>> -box.space.memtx:insert{341, "tuple 341"}
>> +box.space.memtx:insert{341, 'tuple 341'}
>> -
>> - [341, 'tuple 341']
>> -box.space.memtx:insert{342, "tuple 342"}
>> +box.space.memtx:insert{342, 'tuple 342'}
>> -
>> - [342, 'tuple 342']
>> -box.space.memtx:insert{343, "tuple 343"}
>> +box.space.memtx:insert{343, 'tuple 343'}
>> -
>> - [343, 'tuple 343']
>> -box.space.memtx:insert{344, "tuple 344"}
>> +box.space.memtx:insert{344, 'tuple 344'}
>> -
>> - [344, 'tuple 344']
>> -box.space.vinyl:insert{340, "tuple 340"}
>> +box.space.vinyl:insert{340, 'tuple 340'}
>> -
>> - [340, 'tuple 340']
>> -box.space.vinyl:insert{341, "tuple 341"}
>> +box.space.vinyl:insert{341, 'tuple 341'}
>> -
>> - [341, 'tuple 341']
>> -box.space.vinyl:insert{342, "tuple 342"}
>> +box.space.vinyl:insert{342, 'tuple 342'}
>> -
>> - [342, 'tuple 342']
>> -box.space.vinyl:insert{343, "tuple 343"}
>> +box.space.vinyl:insert{343, 'tuple 343'}
>> -
>> - [343, 'tuple 343']
>> -box.space.vinyl:insert{344, "tuple 344"}
>> +box.space.vinyl:insert{344, 'tuple 344'}
>> -
>> - [344, 'tuple 344']
>> box.space.memtx:select{340}
>> @@ -4384,34 +4384,34 @@ box.space.vinyl:select{343}
>> box.space.vinyl:select{344}
>> -
>> - [344, 'tuple 344']
>> -box.space.memtx:insert{345, "tuple 345"}
>> +box.space.memtx:insert{345, 'tuple 345'}
>> -
>> - [345, 'tuple 345']
>> -box.space.memtx:insert{346, "tuple 346"}
>> +box.space.memtx:insert{346, 'tuple 346'}
>> -
>> - [346, 'tuple 346']
>> -box.space.memtx:insert{347, "tuple 347"}
>> +box.space.memtx:insert{347, 'tuple 347'}
>> -
>> - [347, 'tuple 347']
>> -box.space.memtx:insert{348, "tuple 348"}
>> +box.space.memtx:insert{348, 'tuple 348'}
>> -
>> - [348, 'tuple 348']
>> -box.space.memtx:insert{349, "tuple 349"}
>> +box.space.memtx:insert{349, 'tuple 349'}
>> -
>> - [349, 'tuple 349']
>> -box.space.vinyl:insert{345, "tuple 345"}
>> +box.space.vinyl:insert{345, 'tuple 345'}
>> -
>> - [345, 'tuple 345']
>> -box.space.vinyl:insert{346, "tuple 346"}
>> +box.space.vinyl:insert{346, 'tuple 346'}
>> -
>> - [346, 'tuple 346']
>> -box.space.vinyl:insert{347, "tuple 347"}
>> +box.space.vinyl:insert{347, 'tuple 347'}
>> -
>> - [347, 'tuple 347']
>> -box.space.vinyl:insert{348, "tuple 348"}
>> +box.space.vinyl:insert{348, 'tuple 348'}
>> -
>> - [348, 'tuple 348']
>> -box.space.vinyl:insert{349, "tuple 349"}
>> +box.space.vinyl:insert{349, 'tuple 349'}
>> -
>> - [349, 'tuple 349']
>> box.space.memtx:select{345}
>> @@ -4450,34 +4450,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{350, "tuple 350"}
>> +box.space.memtx:insert{350, 'tuple 350'}
>> -
>> - [350, 'tuple 350']
>> -box.space.memtx:insert{351, "tuple 351"}
>> +box.space.memtx:insert{351, 'tuple 351'}
>> -
>> - [351, 'tuple 351']
>> -box.space.memtx:insert{352, "tuple 352"}
>> +box.space.memtx:insert{352, 'tuple 352'}
>> -
>> - [352, 'tuple 352']
>> -box.space.memtx:insert{353, "tuple 353"}
>> +box.space.memtx:insert{353, 'tuple 353'}
>> -
>> - [353, 'tuple 353']
>> -box.space.memtx:insert{354, "tuple 354"}
>> +box.space.memtx:insert{354, 'tuple 354'}
>> -
>> - [354, 'tuple 354']
>> -box.space.vinyl:insert{350, "tuple 350"}
>> +box.space.vinyl:insert{350, 'tuple 350'}
>> -
>> - [350, 'tuple 350']
>> -box.space.vinyl:insert{351, "tuple 351"}
>> +box.space.vinyl:insert{351, 'tuple 351'}
>> -
>> - [351, 'tuple 351']
>> -box.space.vinyl:insert{352, "tuple 352"}
>> +box.space.vinyl:insert{352, 'tuple 352'}
>> -
>> - [352, 'tuple 352']
>> -box.space.vinyl:insert{353, "tuple 353"}
>> +box.space.vinyl:insert{353, 'tuple 353'}
>> -
>> - [353, 'tuple 353']
>> -box.space.vinyl:insert{354, "tuple 354"}
>> +box.space.vinyl:insert{354, 'tuple 354'}
>> -
>> - [354, 'tuple 354']
>> box.space.memtx:select{350}
>> @@ -4510,34 +4510,34 @@ box.space.vinyl:select{353}
>> box.space.vinyl:select{354}
>> -
>> - [354, 'tuple 354']
>> -box.space.memtx:insert{355, "tuple 355"}
>> +box.space.memtx:insert{355, 'tuple 355'}
>> -
>> - [355, 'tuple 355']
>> -box.space.memtx:insert{356, "tuple 356"}
>> +box.space.memtx:insert{356, 'tuple 356'}
>> -
>> - [356, 'tuple 356']
>> -box.space.memtx:insert{357, "tuple 357"}
>> +box.space.memtx:insert{357, 'tuple 357'}
>> -
>> - [357, 'tuple 357']
>> -box.space.memtx:insert{358, "tuple 358"}
>> +box.space.memtx:insert{358, 'tuple 358'}
>> -
>> - [358, 'tuple 358']
>> -box.space.memtx:insert{359, "tuple 359"}
>> +box.space.memtx:insert{359, 'tuple 359'}
>> -
>> - [359, 'tuple 359']
>> -box.space.vinyl:insert{355, "tuple 355"}
>> +box.space.vinyl:insert{355, 'tuple 355'}
>> -
>> - [355, 'tuple 355']
>> -box.space.vinyl:insert{356, "tuple 356"}
>> +box.space.vinyl:insert{356, 'tuple 356'}
>> -
>> - [356, 'tuple 356']
>> -box.space.vinyl:insert{357, "tuple 357"}
>> +box.space.vinyl:insert{357, 'tuple 357'}
>> -
>> - [357, 'tuple 357']
>> -box.space.vinyl:insert{358, "tuple 358"}
>> +box.space.vinyl:insert{358, 'tuple 358'}
>> -
>> - [358, 'tuple 358']
>> -box.space.vinyl:insert{359, "tuple 359"}
>> +box.space.vinyl:insert{359, 'tuple 359'}
>> -
>> - [359, 'tuple 359']
>> box.space.memtx:select{355}
>> @@ -4577,34 +4577,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 18 iteration
>> -box.space.memtx:insert{360, "tuple 360"}
>> +box.space.memtx:insert{360, 'tuple 360'}
>> -
>> - [360, 'tuple 360']
>> -box.space.memtx:insert{361, "tuple 361"}
>> +box.space.memtx:insert{361, 'tuple 361'}
>> -
>> - [361, 'tuple 361']
>> -box.space.memtx:insert{362, "tuple 362"}
>> +box.space.memtx:insert{362, 'tuple 362'}
>> -
>> - [362, 'tuple 362']
>> -box.space.memtx:insert{363, "tuple 363"}
>> +box.space.memtx:insert{363, 'tuple 363'}
>> -
>> - [363, 'tuple 363']
>> -box.space.memtx:insert{364, "tuple 364"}
>> +box.space.memtx:insert{364, 'tuple 364'}
>> -
>> - [364, 'tuple 364']
>> -box.space.vinyl:insert{360, "tuple 360"}
>> +box.space.vinyl:insert{360, 'tuple 360'}
>> -
>> - [360, 'tuple 360']
>> -box.space.vinyl:insert{361, "tuple 361"}
>> +box.space.vinyl:insert{361, 'tuple 361'}
>> -
>> - [361, 'tuple 361']
>> -box.space.vinyl:insert{362, "tuple 362"}
>> +box.space.vinyl:insert{362, 'tuple 362'}
>> -
>> - [362, 'tuple 362']
>> -box.space.vinyl:insert{363, "tuple 363"}
>> +box.space.vinyl:insert{363, 'tuple 363'}
>> -
>> - [363, 'tuple 363']
>> -box.space.vinyl:insert{364, "tuple 364"}
>> +box.space.vinyl:insert{364, 'tuple 364'}
>> -
>> - [364, 'tuple 364']
>> box.space.memtx:select{360}
>> @@ -4637,34 +4637,34 @@ box.space.vinyl:select{363}
>> box.space.vinyl:select{364}
>> -
>> - [364, 'tuple 364']
>> -box.space.memtx:insert{365, "tuple 365"}
>> +box.space.memtx:insert{365, 'tuple 365'}
>> -
>> - [365, 'tuple 365']
>> -box.space.memtx:insert{366, "tuple 366"}
>> +box.space.memtx:insert{366, 'tuple 366'}
>> -
>> - [366, 'tuple 366']
>> -box.space.memtx:insert{367, "tuple 367"}
>> +box.space.memtx:insert{367, 'tuple 367'}
>> -
>> - [367, 'tuple 367']
>> -box.space.memtx:insert{368, "tuple 368"}
>> +box.space.memtx:insert{368, 'tuple 368'}
>> -
>> - [368, 'tuple 368']
>> -box.space.memtx:insert{369, "tuple 369"}
>> +box.space.memtx:insert{369, 'tuple 369'}
>> -
>> - [369, 'tuple 369']
>> -box.space.vinyl:insert{365, "tuple 365"}
>> +box.space.vinyl:insert{365, 'tuple 365'}
>> -
>> - [365, 'tuple 365']
>> -box.space.vinyl:insert{366, "tuple 366"}
>> +box.space.vinyl:insert{366, 'tuple 366'}
>> -
>> - [366, 'tuple 366']
>> -box.space.vinyl:insert{367, "tuple 367"}
>> +box.space.vinyl:insert{367, 'tuple 367'}
>> -
>> - [367, 'tuple 367']
>> -box.space.vinyl:insert{368, "tuple 368"}
>> +box.space.vinyl:insert{368, 'tuple 368'}
>> -
>> - [368, 'tuple 368']
>> -box.space.vinyl:insert{369, "tuple 369"}
>> +box.space.vinyl:insert{369, 'tuple 369'}
>> -
>> - [369, 'tuple 369']
>> box.space.memtx:select{365}
>> @@ -4703,34 +4703,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{370, "tuple 370"}
>> +box.space.memtx:insert{370, 'tuple 370'}
>> -
>> - [370, 'tuple 370']
>> -box.space.memtx:insert{371, "tuple 371"}
>> +box.space.memtx:insert{371, 'tuple 371'}
>> -
>> - [371, 'tuple 371']
>> -box.space.memtx:insert{372, "tuple 372"}
>> +box.space.memtx:insert{372, 'tuple 372'}
>> -
>> - [372, 'tuple 372']
>> -box.space.memtx:insert{373, "tuple 373"}
>> +box.space.memtx:insert{373, 'tuple 373'}
>> -
>> - [373, 'tuple 373']
>> -box.space.memtx:insert{374, "tuple 374"}
>> +box.space.memtx:insert{374, 'tuple 374'}
>> -
>> - [374, 'tuple 374']
>> -box.space.vinyl:insert{370, "tuple 370"}
>> +box.space.vinyl:insert{370, 'tuple 370'}
>> -
>> - [370, 'tuple 370']
>> -box.space.vinyl:insert{371, "tuple 371"}
>> +box.space.vinyl:insert{371, 'tuple 371'}
>> -
>> - [371, 'tuple 371']
>> -box.space.vinyl:insert{372, "tuple 372"}
>> +box.space.vinyl:insert{372, 'tuple 372'}
>> -
>> - [372, 'tuple 372']
>> -box.space.vinyl:insert{373, "tuple 373"}
>> +box.space.vinyl:insert{373, 'tuple 373'}
>> -
>> - [373, 'tuple 373']
>> -box.space.vinyl:insert{374, "tuple 374"}
>> +box.space.vinyl:insert{374, 'tuple 374'}
>> -
>> - [374, 'tuple 374']
>> box.space.memtx:select{370}
>> @@ -4763,34 +4763,34 @@ box.space.vinyl:select{373}
>> box.space.vinyl:select{374}
>> -
>> - [374, 'tuple 374']
>> -box.space.memtx:insert{375, "tuple 375"}
>> +box.space.memtx:insert{375, 'tuple 375'}
>> -
>> - [375, 'tuple 375']
>> -box.space.memtx:insert{376, "tuple 376"}
>> +box.space.memtx:insert{376, 'tuple 376'}
>> -
>> - [376, 'tuple 376']
>> -box.space.memtx:insert{377, "tuple 377"}
>> +box.space.memtx:insert{377, 'tuple 377'}
>> -
>> - [377, 'tuple 377']
>> -box.space.memtx:insert{378, "tuple 378"}
>> +box.space.memtx:insert{378, 'tuple 378'}
>> -
>> - [378, 'tuple 378']
>> -box.space.memtx:insert{379, "tuple 379"}
>> +box.space.memtx:insert{379, 'tuple 379'}
>> -
>> - [379, 'tuple 379']
>> -box.space.vinyl:insert{375, "tuple 375"}
>> +box.space.vinyl:insert{375, 'tuple 375'}
>> -
>> - [375, 'tuple 375']
>> -box.space.vinyl:insert{376, "tuple 376"}
>> +box.space.vinyl:insert{376, 'tuple 376'}
>> -
>> - [376, 'tuple 376']
>> -box.space.vinyl:insert{377, "tuple 377"}
>> +box.space.vinyl:insert{377, 'tuple 377'}
>> -
>> - [377, 'tuple 377']
>> -box.space.vinyl:insert{378, "tuple 378"}
>> +box.space.vinyl:insert{378, 'tuple 378'}
>> -
>> - [378, 'tuple 378']
>> -box.space.vinyl:insert{379, "tuple 379"}
>> +box.space.vinyl:insert{379, 'tuple 379'}
>> -
>> - [379, 'tuple 379']
>> box.space.memtx:select{375}
>> @@ -4830,34 +4830,34 @@ box.cfg{replication=''}
>> ...
>> switch replica to replica
>> test 19 iteration
>> -box.space.memtx:insert{380, "tuple 380"}
>> +box.space.memtx:insert{380, 'tuple 380'}
>> -
>> - [380, 'tuple 380']
>> -box.space.memtx:insert{381, "tuple 381"}
>> +box.space.memtx:insert{381, 'tuple 381'}
>> -
>> - [381, 'tuple 381']
>> -box.space.memtx:insert{382, "tuple 382"}
>> +box.space.memtx:insert{382, 'tuple 382'}
>> -
>> - [382, 'tuple 382']
>> -box.space.memtx:insert{383, "tuple 383"}
>> +box.space.memtx:insert{383, 'tuple 383'}
>> -
>> - [383, 'tuple 383']
>> -box.space.memtx:insert{384, "tuple 384"}
>> +box.space.memtx:insert{384, 'tuple 384'}
>> -
>> - [384, 'tuple 384']
>> -box.space.vinyl:insert{380, "tuple 380"}
>> +box.space.vinyl:insert{380, 'tuple 380'}
>> -
>> - [380, 'tuple 380']
>> -box.space.vinyl:insert{381, "tuple 381"}
>> +box.space.vinyl:insert{381, 'tuple 381'}
>> -
>> - [381, 'tuple 381']
>> -box.space.vinyl:insert{382, "tuple 382"}
>> +box.space.vinyl:insert{382, 'tuple 382'}
>> -
>> - [382, 'tuple 382']
>> -box.space.vinyl:insert{383, "tuple 383"}
>> +box.space.vinyl:insert{383, 'tuple 383'}
>> -
>> - [383, 'tuple 383']
>> -box.space.vinyl:insert{384, "tuple 384"}
>> +box.space.vinyl:insert{384, 'tuple 384'}
>> -
>> - [384, 'tuple 384']
>> box.space.memtx:select{380}
>> @@ -4890,34 +4890,34 @@ box.space.vinyl:select{383}
>> box.space.vinyl:select{384}
>> -
>> - [384, 'tuple 384']
>> -box.space.memtx:insert{385, "tuple 385"}
>> +box.space.memtx:insert{385, 'tuple 385'}
>> -
>> - [385, 'tuple 385']
>> -box.space.memtx:insert{386, "tuple 386"}
>> +box.space.memtx:insert{386, 'tuple 386'}
>> -
>> - [386, 'tuple 386']
>> -box.space.memtx:insert{387, "tuple 387"}
>> +box.space.memtx:insert{387, 'tuple 387'}
>> -
>> - [387, 'tuple 387']
>> -box.space.memtx:insert{388, "tuple 388"}
>> +box.space.memtx:insert{388, 'tuple 388'}
>> -
>> - [388, 'tuple 388']
>> -box.space.memtx:insert{389, "tuple 389"}
>> +box.space.memtx:insert{389, 'tuple 389'}
>> -
>> - [389, 'tuple 389']
>> -box.space.vinyl:insert{385, "tuple 385"}
>> +box.space.vinyl:insert{385, 'tuple 385'}
>> -
>> - [385, 'tuple 385']
>> -box.space.vinyl:insert{386, "tuple 386"}
>> +box.space.vinyl:insert{386, 'tuple 386'}
>> -
>> - [386, 'tuple 386']
>> -box.space.vinyl:insert{387, "tuple 387"}
>> +box.space.vinyl:insert{387, 'tuple 387'}
>> -
>> - [387, 'tuple 387']
>> -box.space.vinyl:insert{388, "tuple 388"}
>> +box.space.vinyl:insert{388, 'tuple 388'}
>> -
>> - [388, 'tuple 388']
>> -box.space.vinyl:insert{389, "tuple 389"}
>> +box.space.vinyl:insert{389, 'tuple 389'}
>> -
>> - [389, 'tuple 389']
>> box.space.memtx:select{385}
>> @@ -4956,34 +4956,34 @@ box.cfg{replication=''}
>> ---
>> ...
>> switch master to replica
>> -box.space.memtx:insert{390, "tuple 390"}
>> +box.space.memtx:insert{390, 'tuple 390'}
>> -
>> - [390, 'tuple 390']
>> -box.space.memtx:insert{391, "tuple 391"}
>> +box.space.memtx:insert{391, 'tuple 391'}
>> -
>> - [391, 'tuple 391']
>> -box.space.memtx:insert{392, "tuple 392"}
>> +box.space.memtx:insert{392, 'tuple 392'}
>> -
>> - [392, 'tuple 392']
>> -box.space.memtx:insert{393, "tuple 393"}
>> +box.space.memtx:insert{393, 'tuple 393'}
>> -
>> - [393, 'tuple 393']
>> -box.space.memtx:insert{394, "tuple 394"}
>> +box.space.memtx:insert{394, 'tuple 394'}
>> -
>> - [394, 'tuple 394']
>> -box.space.vinyl:insert{390, "tuple 390"}
>> +box.space.vinyl:insert{390, 'tuple 390'}
>> -
>> - [390, 'tuple 390']
>> -box.space.vinyl:insert{391, "tuple 391"}
>> +box.space.vinyl:insert{391, 'tuple 391'}
>> -
>> - [391, 'tuple 391']
>> -box.space.vinyl:insert{392, "tuple 392"}
>> +box.space.vinyl:insert{392, 'tuple 392'}
>> -
>> - [392, 'tuple 392']
>> -box.space.vinyl:insert{393, "tuple 393"}
>> +box.space.vinyl:insert{393, 'tuple 393'}
>> -
>> - [393, 'tuple 393']
>> -box.space.vinyl:insert{394, "tuple 394"}
>> +box.space.vinyl:insert{394, 'tuple 394'}
>> -
>> - [394, 'tuple 394']
>> box.space.memtx:select{390}
>> @@ -5016,34 +5016,34 @@ box.space.vinyl:select{393}
>> box.space.vinyl:select{394}
>> -
>> - [394, 'tuple 394']
>> -box.space.memtx:insert{395, "tuple 395"}
>> +box.space.memtx:insert{395, 'tuple 395'}
>> -
>> - [395, 'tuple 395']
>> -box.space.memtx:insert{396, "tuple 396"}
>> +box.space.memtx:insert{396, 'tuple 396'}
>> -
>> - [396, 'tuple 396']
>> -box.space.memtx:insert{397, "tuple 397"}
>> +box.space.memtx:insert{397, 'tuple 397'}
>> -
>> - [397, 'tuple 397']
>> -box.space.memtx:insert{398, "tuple 398"}
>> +box.space.memtx:insert{398, 'tuple 398'}
>> -
>> - [398, 'tuple 398']
>> -box.space.memtx:insert{399, "tuple 399"}
>> +box.space.memtx:insert{399, 'tuple 399'}
>> -
>> - [399, 'tuple 399']
>> -box.space.vinyl:insert{395, "tuple 395"}
>> +box.space.vinyl:insert{395, 'tuple 395'}
>> -
>> - [395, 'tuple 395']
>> -box.space.vinyl:insert{396, "tuple 396"}
>> +box.space.vinyl:insert{396, 'tuple 396'}
>> -
>> - [396, 'tuple 396']
>> -box.space.vinyl:insert{397, "tuple 397"}
>> +box.space.vinyl:insert{397, 'tuple 397'}
>> -
>> - [397, 'tuple 397']
>> -box.space.vinyl:insert{398, "tuple 398"}
>> +box.space.vinyl:insert{398, 'tuple 398'}
>> -
>> - [398, 'tuple 398']
>> -box.space.vinyl:insert{399, "tuple 399"}
>> +box.space.vinyl:insert{399, 'tuple 399'}
>> -
>> - [399, 'tuple 399']
>> box.space.memtx:select{395}
>> diff --git a/test/replication-py/swap.test.py
>> b/test/replication-py/swap.test.py
>> index 98eeeea6d..c5718cffd 100644
>> --- a/test/replication-py/swap.test.py
>> +++ b/test/replication-py/swap.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import tarantool
>> from lib.tarantool_server import TarantoolServer
>> @@ -7,26 +9,26 @@ import yaml
>> REPEAT = 20
>> ID_BEGIN = 0
>> ID_STEP = 5
>> -LOGIN = 'test'
>> -PASSWORD = 'pass123456'
>> +LOGIN = "test"
>> +PASSWORD = "pass123456"
>> -engines = ['memtx', 'vinyl']
>> +engines = ["memtx", "vinyl"]
>> def insert_tuples(_server, begin, end, msg = "tuple"):
>> for engine in engines:
>> for i in range(begin, end):
>> - print 'box.space.%s:insert{%d, "%s %d"}' % (engine, i,
>> msg, i)
>> - print '-'
>> + print("box.space.{}:insert{{{}, '{}
>> {}'}}".format(engine, i, msg, i))
>> + print("-")
>> space = _server.iproto.py_con.space(engine)
>> - print space.insert((i, '%s %d' % (msg, i)))
>> + print(space.insert((i, "{} {}".format(msg, i))))
>> def select_tuples(_server, begin, end):
>> for engine in engines:
>> for i in range(begin, end):
>> - print 'box.space.%s:select{%d}' % (engine, i)
>> - print '-'
>> + print("box.space.{}:select{{{}}}".format(engine, i))
>> + print("-")
>> space = _server.iproto.py_con.space(engine)
>> - print space.select(i)
>> + print(space.select(i))
>> # master server
>> master = server
>> @@ -34,11 +36,11 @@ master = server
>> master.stop()
>> master.cleanup()
>> master.deploy()
>> -master.admin("box.schema.user.create('%s', { password = '%s'})" %
>> (LOGIN, PASSWORD))
>> -master.admin("box.schema.user.grant('%s', 'read,write,execute',
>> 'universe')" % LOGIN)
>> +master.admin("box.schema.user.create('{}', {{ password =
>> '{}'}})".format(LOGIN, PASSWORD))
>> +master.admin("box.schema.user.grant('{}', 'read,write,execute',
>> 'universe')".format(LOGIN))
>> master.iproto.py_con.authenticate(LOGIN, PASSWORD)
>> -master.uri = '%s:%s@%s' % (LOGIN, PASSWORD, master.iproto.uri)
>> -os.putenv('MASTER', master.uri)
>> +master.uri = "{}:{}@{}".format(LOGIN, PASSWORD, master.iproto.uri)
>> +os.putenv("MASTER", master.uri)
>> # replica server
>> replica = TarantoolServer()
>> @@ -46,27 +48,27 @@ replica.script = "replication-py/replica.lua"
>> replica.vardir = server.vardir #os.path.join(server.vardir, 'replica')
>> replica.deploy()
>> replica.admin("while box.info.id == 0 do
>> require('fiber').sleep(0.01) end")
>> -replica.uri = '%s:%s@%s' % (LOGIN, PASSWORD, replica.iproto.uri)
>> +replica.uri = "{}:{}@{}".format(LOGIN, PASSWORD, replica.iproto.uri)
>> replica.admin("while box.space['_priv']:len() < 1 do
>> require('fiber').sleep(0.01) end")
>> replica.iproto.py_con.authenticate(LOGIN, PASSWORD)
>> for engine in engines:
>> - master.admin("s = box.schema.space.create('%s', { engine =
>> '%s'})" % (engine, engine))
>> + master.admin("s = box.schema.space.create('{}', {{ engine =
>> '{}'}})".format(engine, engine))
>> master.admin("index = s:create_index('primary', {type = 'tree'})")
>> ### gh-343: replica.cc must not add login and password to proc title
>> #status = replica.get_param("status")
>> -#host_port = "%s:%s" % master.iproto.uri
>
> 4) No changes are needed here.
reverted
>> -#m = re.search(r'replica/(.*)/.*', status)
>> +#host_port = "{}:{}".format(master.iproto.uri)
>> +#m = re.search(r"replica/(.*)/.*", status)
>> #if not m or m.group(1) != host_port:
>> -# print 'invalid box.info.status', status, 'expected host:port',
>> host_port
>> +# print("invalid box.info.status", status, "expected host:port",
>> host_port)
>> -master_id = master.get_param('id')
>> -replica_id = replica.get_param('id')
>> +master_id = master.get_param("id")
>> +replica_id = replica.get_param("id")
>> id = ID_BEGIN
>> for i in range(REPEAT):
>> - print "test %d iteration" % i
>> + print("test {} iteration".format(i))
>> # insert to master
>> insert_tuples(master, id, id + ID_STEP)
>> @@ -82,7 +84,7 @@ for i in range(REPEAT):
>> select_tuples(replica, id, id + ID_STEP)
>> id += ID_STEP
>> - print "swap servers"
>> + print("swap servers")
>> # reconfigure replica to master
>> replica.rpl_master = None
>> print("switch replica to master")
>> @@ -90,7 +92,7 @@ for i in range(REPEAT):
>> # reconfigure master to replica
>> master.rpl_master = replica
>> print("switch master to replica")
>> - master.admin("box.cfg{replication='%s'}" % replica.uri,
>> silent=True)
>> + master.admin("box.cfg{{replication='{}'}}".format(replica.uri),
>> silent=True)
>> # insert to replica
>> insert_tuples(replica, id, id + ID_STEP)
>> @@ -106,7 +108,7 @@ for i in range(REPEAT):
>> select_tuples(master, id, id + ID_STEP)
>> id += ID_STEP
>> - print "rollback servers configuration"
>> + print("rollback servers configuration")
>> # reconfigure replica to master
>> master.rpl_master = None
>> print("switch master to master")
>> @@ -114,7 +116,7 @@ for i in range(REPEAT):
>> # reconfigure master to replica
>> replica.rpl_master = master
>> print("switch replica to replica")
>> - replica.admin("box.cfg{replication='%s'}" % master.uri,
>> silent=True)
>> + replica.admin("box.cfg{{replication='{}'}}".format(master.uri),
>> silent=True)
>> # Cleanup.
>> diff --git a/test/xlog-py/big_lsn.test.py b/test/xlog-py/big_lsn.test.py
>> index c6a31d971..edc1e5620 100644
>> --- a/test/xlog-py/big_lsn.test.py
>> +++ b/test/xlog-py/big_lsn.test.py
>> @@ -19,8 +19,8 @@ old_wal = os.path.join(wal_dir, "%020d.xlog" %
>> old_lsn)
>> new_wal = os.path.join(wal_dir, "%020d.xlog" % new_lsn)
>> with open(old_wal, "r+") as f:
>> s = f.read()
>> - s = s.replace("VClock: {1: %d}" % old_lsn,
>> - "VClock: {1: %d}" % new_lsn)
>> + s = s.replace("VClock: {{1: {}}}".format(old_lsn),
>> + "VClock: {{1: {}}}".format(new_lsn))
>> f.seek(0)
>> f.write(s)
>> os.rename(old_wal, new_wal)
>> diff --git a/test/xlog-py/dup_key.test.py b/test/xlog-py/dup_key.test.py
>> index 7609c9555..b1442c520 100644
>> --- a/test/xlog-py/dup_key.test.py
>> +++ b/test/xlog-py/dup_key.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import yaml
>> @@ -26,7 +28,7 @@ server.stop()
>> # Save wal#1
>> if os.access(wal, os.F_OK):
>> - print ".xlog exists"
>> + print(".xlog exists")
>> os.rename(wal, wal_old)
>> # Write wal#2
>> @@ -37,18 +39,17 @@ server.stop()
>> # Restore wal#1
>> if not os.access(wal, os.F_OK):
>> - print ".xlog does not exist"
>> + print(".xlog does not exist")
>> os.rename(wal_old, wal)
>> server.start()
>> -line = 'Duplicate key'
>> -print "check log line for '%s'" % line
>> -print
>> +line = "Duplicate key"
>> +print("check log line for '{}'".format(line))
>> +print("")
>> if server.logfile_pos.seek_once(line) >= 0:
>> - print "'%s' exists in server log" % line
>> -print
>> + print("'{}' exists in server log".format(line))
>> +print("")
>> server.admin("box.space.test:get{1}")
>> server.admin("box.space.test:get{2}")
>> server.admin("box.space.test:len()")
>> -
>> diff --git a/test/xlog-py/empty.test.py b/test/xlog-py/empty.test.py
>> index d6f89e0fb..8b19bc3d7 100644
>> --- a/test/xlog-py/empty.test.py
>> +++ b/test/xlog-py/empty.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import yaml
>> from os.path import abspath
>> @@ -20,7 +22,7 @@ f.close()
>> server.start()
>> server.stop()
>> if os.access(filename, os.F_OK):
>> - print ".xlog exists"
>> + print(".xlog exists")
>> # the server has started but is crippled since it
>> # can't override an existing file
>> server.start()
>> diff --git a/test/xlog-py/lsn_gap.test.py b/test/xlog-py/lsn_gap.test.py
>> index 7a503ff07..8da6166a2 100644
>> --- a/test/xlog-py/lsn_gap.test.py
>> +++ b/test/xlog-py/lsn_gap.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import yaml
>> #
>> @@ -28,11 +30,11 @@ os.unlink(wal)
>> server.start()
>> line="ignoring a gap in LSN"
>> -print "check log line for '%s'" % line
>> -print
>> +print("check log line for '{}'".format(line))
>> +print("")
>> if server.logfile_pos.seek_once(line) >= 0:
>> - print "'%s' exists in server log" % line
>> -print
>> + print("'{}' exists in server log".format(line))
>> +print("")
>> # missing tuple from removed xlog
>> server.admin("box.space.test:select{}")
>> diff --git a/test/xlog-py/misc.test.py b/test/xlog-py/misc.test.py
>> index e39ae1495..3fcda9504 100644
>> --- a/test/xlog-py/misc.test.py
>> +++ b/test/xlog-py/misc.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import os
>> import yaml
>> @@ -11,9 +13,9 @@ server.stop()
>> data_path = os.path.join(server.vardir, server.name)
>> -print """
>> -# xlog file must exist after inserts.
>> -"""
>> +print("")
>> +print("# xlog file must exist after inserts.")
>> +print("")
>> filename = str(lsn).zfill(20) + ".xlog"
>> wal = os.path.join(data_path, filename)
>> @@ -21,16 +23,16 @@ server.start()
>> server.admin("space = box.schema.space.create('tweedledum')")
>> if os.access(wal, os.F_OK):
>> - print ".xlog exists"
>> + print(".xlog exists")
>> server.admin("index = space:create_index('primary', { type =
>> 'hash' })")
>> server.stop()
>> lsn += 2
>> -print """
>> -# a new xlog must be opened after regular termination.
>> -"""
>> +print("")
>> +print("# a new xlog must be opened after regular termination.")
>> +print("")
>> filename = str(lsn).zfill(20) + ".xlog"
>> server.start()
>> @@ -39,18 +41,17 @@ wal = os.path.join(data_path, filename)
>> server.admin("box.space.tweedledum:insert{3, 'third tuple'}")
>> if os.access(wal, os.F_OK):
>> - print "a new .xlog exists"
>> + print("a new .xlog exists")
>> server.stop()
>> if os.access(wal, os.F_OK):
>> - print ".xlog stays around after sutdown"
>> + print(".xlog stays around after shutdown")
>> lsn += 1
>> -print """
>> -# An xlog file with one record during recovery.
>> -"""
>> -
>> +print("")
>> +print("# An xlog file with one record during recovery.")
>> +print("")
>> server.start()
>> filename = str(lsn).zfill(20) + ".xlog"
>> wal = os.path.join(data_path, filename)
>> @@ -63,7 +64,7 @@ if pid > 0:
>> server.stop()
>> if os.access(wal, os.F_OK):
>> - print ".xlog exists after kill -9"
>> + print(".xlog exists after kill -9")
>> # Remove last byte from xlog
>> f = open(wal, "a")
>> size = f.tell()
>> @@ -73,7 +74,7 @@ if os.access(wal, os.F_OK):
>> server.start()
>> if os.access(wal, os.F_OK):
>> - print "corrupt .xlog exists after start"
>> + print("corrupt .xlog exists after start")
>> server.stop()
>> lsn += 1
>> @@ -98,4 +99,4 @@ for f in os.listdir(data_path):
>> server.start()
>> lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])
>> if lsn == orig_lsn:
>> - print ".snap.inprogress is ignored"
>> + print(".snap.inprogress is ignored")
>> diff --git a/test/xlog-py/missing.test.py b/test/xlog-py/missing.test.py
>> index df35dc6d7..2fff0df6c 100644
>> --- a/test/xlog-py/missing.test.py
>> +++ b/test/xlog-py/missing.test.py
>> @@ -1,3 +1,5 @@
>> +from __future__ import print_function
>> +
>> import yaml
>> import os
>> #
>> @@ -34,11 +36,11 @@ os.unlink(wal)
>> # this may lead to infinite recursion at start
>> server.start()
>> line="ignoring a gap in LSN"
>> -print "check log line for '%s'" % line
>> -print
>> +print("check log line for '{}'".format(line))
>> +print("")
>> if server.logfile_pos.seek_once(line) >= 0:
>> - print "'%s' exists in server log" % line
>> -print
>> + print("'{}' exists in server log".format(line))
>> +print("")
>> # missing tuples from removed xlog
>> server.admin("box.space.test:select{}")
>>
More information about the Tarantool-patches
mailing list