[Tarantool-patches] [PATCH 1/6] test: support Python 3 and make quotes use consistent

sergeyb at tarantool.org sergeyb at tarantool.org
Mon Dec 7 10:46:47 MSK 2020


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
- 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()):
+    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\''")
 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
-#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{}")
-- 
2.25.1



More information about the Tarantool-patches mailing list