From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp32.i.mail.ru (smtp32.i.mail.ru [94.100.177.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A13BB45C304 for ; Wed, 9 Dec 2020 18:59:24 +0300 (MSK) References: <9f4aca80dafbc8fb0ef8fb306927e78eef7fb3ef.1607326642.git.sergeyb@tarantool.org> From: Leonid Vasiliev Message-ID: <26c67b79-4f06-8bd1-7547-94e822c0a08e@tarantool.org> Date: Wed, 9 Dec 2020 18:58:26 +0300 MIME-Version: 1.0 In-Reply-To: <9f4aca80dafbc8fb0ef8fb306927e78eef7fb3ef.1607326642.git.sergeyb@tarantool.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH 1/6] test: support Python 3 and make quotes use consistent List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sergeyb@tarantool.org, tarantool-patches@dev.tarantool.org Cc: alexander.turenko@tarantool.org Hi! Thank you for the patch! I regret the moment when I suggested at the same time reformat the code in accordance with the PEP8) (Many changes). But for tests, in my opinion it is normal. This is easy to check and can't introduce degradation. In addition, I think LGTM alone will be enough for such changes. And please remove the change in quotes for "tuple" in swap.test.py, it adds too many changes. So, see some comments below: On 07.12.2020 10:46, sergeyb@tarantool.org wrote: > From: Sergey Bronnikov > > - convert print statement to function. In a Python 3 'print' becomes a > function, see [1]. Patch makes 'print' in a regression tests compatible with > Python 3. > - according to PEP8, mixing using double quotes and quotes in a project looks > inconsistent (one must be selected). Patch makes using quotes with strings > consistent. > - convert iteritems() to list 1) Looks like this can be moved to a separate commit. > - 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@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@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(' -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(" +print(s.send(invalid_request)) > +print("# check that is server alive") > +print(iproto.py_con.ping() > 0) > > # closing connection > s.close() > > key_names = {} > -for (k,v) in globals().items(): > - if type(k) == str and k.startswith('IPROTO_') and type(v) == int: > +for (k,v) in list(globals().items()): 2) Why do you need a "list"?(here and below) You don't change the dictionary during iteration. If I'm right, please check over such changes. > + if type(k) == str and k.startswith("IPROTO_") and type(v) == int: > key_names[v] = k > > def repr_dict(todump): > d = {} > - for (k, v) in todump.items(): > + for (k, v) in list(todump.items()): > k_name = key_names.get(k, k) > d[k_name] = v > return repr(d) > > def test(header, body): > # Connect and authenticate > - c = Connection('localhost', server.iproto.port) > + c = Connection("localhost", server.iproto.port) > c.connect() > - print 'query', repr_dict(header), repr_dict(body) > + print("query", repr_dict(header), repr_dict(body)) > header = msgpack.dumps(header) > body = msgpack.dumps(body) > query = msgpack.dumps(len(header) + len(body)) + header + body > @@ -59,36 +57,34 @@ def test(header, body): > try: > s.send(query) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > c.close() > - print iproto.py_con.ping() > 0 > + print(iproto.py_con.ping() > 0) > > -print """ > -# Test gh-206 "Segfault if sending IPROTO package without `KEY` field" > -""" > +print("# Test gh-206 'Segfault if sending IPROTO package without `KEY` field'") > > -print "IPROTO_SELECT" > +print("IPROTO_SELECT") > test({ IPROTO_CODE : REQUEST_TYPE_SELECT }, { IPROTO_SPACE_ID: 280 }) > -print "\n" > +print("\n") > > -print "IPROTO_DELETE" > +print("IPROTO_DELETE") > test({ IPROTO_CODE : REQUEST_TYPE_DELETE }, { IPROTO_SPACE_ID: 280 }) > -print "\n" > +print("\n") > > -print "IPROTO_UPDATE" > +print("IPROTO_UPDATE") > test({ IPROTO_CODE : REQUEST_TYPE_UPDATE }, { IPROTO_SPACE_ID: 280 }) > test({ IPROTO_CODE : REQUEST_TYPE_UPDATE }, > { IPROTO_SPACE_ID: 280, IPROTO_KEY: (1, )}) > -print "\n" > +print("\n") > > -print "IPROTO_REPLACE" > +print("IPROTO_REPLACE") > test({ IPROTO_CODE : REQUEST_TYPE_REPLACE }, { IPROTO_SPACE_ID: 280 }) > -print "\n" > +print("\n") > > -print "IPROTO_CALL" > +print("IPROTO_CALL") > test({ IPROTO_CODE : REQUEST_TYPE_CALL }, {}) > -test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ('procname', )}) > -print "\n" > +test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ("procname", )}) > +print("\n") > > # gh-434 Tarantool crashes on multiple iproto requests with WAL enabled > admin("box.cfg.wal_mode") > @@ -96,7 +92,7 @@ admin("space = box.schema.space.create('test', { id = 567 })") > admin("index = space:create_index('primary', { type = 'hash' })") > admin("box.schema.user.grant('guest', 'read,write,execute', 'space', 'test')") > > -c = Connection('localhost', server.iproto.port) > +c = Connection("localhost", server.iproto.port) > c.connect() > request1 = RequestInsert(c, 567, [1, "baobab"]) > request2 = RequestInsert(c, 567, [2, "obbaba"]) > @@ -104,11 +100,11 @@ s = c._socket > try: > s.send(bytes(request1) + bytes(request2)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response1 = Response(c, c._read_response()) > response2 = Response(c, c._read_response()) > -print response1.__str__() > -print response2.__str__() > +print(response1.__str__()) > +print(response2.__str__()) > > request1 = RequestInsert(c, 567, [3, "occama"]) > request2 = RequestSelect(c, 567, 0, [1], 0, 1, 0) > @@ -116,11 +112,11 @@ s = c._socket > try: > s.send(bytes(request1) + bytes(request2)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response1 = Response(c, c._read_response()) > response2 = Response(c, c._read_response()) > -print response1.__str__() > -print response2.__str__() > +print(response1.__str__()) > +print(response2.__str__()) > > request1 = RequestSelect(c, 567, 0, [2], 0, 1, 0) > request2 = RequestInsert(c, 567, [4, "ockham"]) > @@ -128,11 +124,11 @@ s = c._socket > try: > s.send(bytes(request1) + bytes(request2)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response1 = Response(c, c._read_response()) > response2 = Response(c, c._read_response()) > -print response1.__str__() > -print response2.__str__() > +print(response1.__str__()) > +print(response2.__str__()) > > request1 = RequestSelect(c, 567, 0, [1], 0, 1, 0) > request2 = RequestSelect(c, 567, 0, [2], 0, 1, 0) > @@ -140,11 +136,11 @@ s = c._socket > try: > s.send(bytes(request1) + bytes(request2)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response1 = Response(c, c._read_response()) > response2 = Response(c, c._read_response()) > -print response1.__str__() > -print response2.__str__() > +print(response1.__str__()) > +print(response2.__str__()) > > c.close() > > @@ -176,7 +172,7 @@ class RawSelect(Request): > self._body = request_body > > c = iproto.py_con > -space = c.space('test') > +space = c.space("test") > space_id = space.space_no > > TESTS = [ > @@ -192,34 +188,34 @@ TESTS = [ > for test in TESTS: > it = iter(test) > size = next(it) > - print 'STR', size > - print '--' > + print("STR", size) > + print("--") > for fmt in it: > - print '0x' + fmt.encode('hex'), '=>', > - field = '*' * size > + print("0x" + fmt.encode("hex"), "=>", end=" ") > + field = "*" * size > c._send_request(RawInsert(c, space_id, "\x91" + fmt + field)) > tuple = space.select(field)[0] > - print len(tuple[0])== size and 'ok' or 'fail', > + print(len(tuple[0])== size and "ok" or "fail", end=" ") > it2 = iter(test) > next(it2) > for fmt2 in it2: > tuple = c._send_request(RawSelect(c, space_id, > "\x91" + fmt2 + field))[0] > - print len(tuple[0]) == size and 'ok' or 'fail', > + print(len(tuple[0]) == size and "ok" or "fail", end=" ") > tuple = space.delete(field)[0] > - print len(tuple[0]) == size and 'ok' or 'fail', > - print > - print > + print(len(tuple[0]) == size and "ok" or "fail", end="") > + print() > + print() > > > -print 'Test of schema_id in iproto.' > -c = Connection('localhost', server.iproto.port) > +print("Test of schema_id in iproto.") > +c = Connection("localhost", server.iproto.port) > c.connect() > s = c._socket > > def receive_response(): > - resp_len = '' > - resp_headerbody = '' > + resp_len = "" > + resp_headerbody = "" > resp_header = {} > resp_body = {} > try: > @@ -235,10 +231,10 @@ def receive_response(): > resp_header = unpacker.unpack() > resp_body = unpacker.unpack() > except OSError as e: > - print ' => ', 'Failed to recv response' > + print(" => ", "Failed to recv response") > res = {} > - res['header'] = resp_header > - res['body'] = resp_body > + res["header"] = resp_header > + res["body"] = resp_body > return res > > def test_request(req_header, req_body): > @@ -249,7 +245,7 @@ def test_request(req_header, req_body): > try: > s.send(query) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > return receive_response() > > header = { IPROTO_CODE : REQUEST_TYPE_SELECT} > @@ -260,62 +256,62 @@ body = { IPROTO_SPACE_ID: space_id, > IPROTO_OFFSET: 0, > IPROTO_LIMIT: 1 } > resp = test_request(header, body) > -print 'Normal connect done w/o errors:', resp['header'][0] == 0 > -print 'Got schema_id:', resp['header'][5] > 0 > -schema_id = resp['header'][5] > +print("Normal connect done w/o errors:", resp["header"][0] == 0) > +print("Got schema_id:", resp["header"][5] > 0) > +schema_id = resp["header"][5] > > header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : 0 } > resp = test_request(header, body) > -print 'Zero-schema_id connect done w/o errors:', resp['header'][0] == 0 > -print 'Same schema_id:', resp['header'][5] == schema_id > +print("Zero-schema_id connect done w/o errors:", resp["header"][0] == 0) > +print("Same schema_id:", resp["header"][5] == schema_id) > > header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id } > resp = test_request(header, body) > -print 'Normal connect done w/o errors:', resp['header'][0] == 0 > -print 'Same schema_id:', resp['header'][5] == schema_id > +print("Normal connect done w/o errors:", resp["header"][0] == 0) > +print("Same schema_id:", resp["header"][5] == schema_id) > > header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id + 1 } > resp = test_request(header, body) > -print 'Wrong schema_id leads to error:', resp['header'][0] != 0 > -print 'Same schema_id:', resp['header'][5] == schema_id > +print("Wrong schema_id leads to error:", resp["header"][0] != 0) > +print("Same schema_id:", resp["header"][5] == schema_id) > > admin("space2 = box.schema.create_space('test2')") > > header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id } > resp = test_request(header, body) > -print 'Schema changed -> error:', resp['header'][0] != 0 > -print 'Got another schema_id:', resp['header'][5] != schema_id > +print("Schema changed -> error:", resp["header"][0] != 0) > +print("Got another schema_id:", resp["header"][5] != schema_id) > > # > # gh-2334 Lost SYNC in JOIN response. > # > -uuid = '0d5bd431-7f3e-4695-a5c2-82de0a9cbc95' > +uuid = "0d5bd431-7f3e-4695-a5c2-82de0a9cbc95" > header = { IPROTO_CODE: REQUEST_TYPE_JOIN, IPROTO_SYNC: 2334 } > body = { IPROTO_SERVER_UUID: uuid } > resp = test_request(header, body) > -if resp['header'][IPROTO_SYNC] == 2334: > +if resp["header"][IPROTO_SYNC] == 2334: > i = 1 > while i < 3: > resp = receive_response() > - if resp['header'][IPROTO_SYNC] != 2334: > - print 'Bad sync on response with number ', i > + if resp["header"][IPROTO_SYNC] != 2334: > + print("Bad sync on response with number ", i) > break > - if resp['header'][IPROTO_CODE] == REQUEST_TYPE_OK: > + if resp["header"][IPROTO_CODE] == REQUEST_TYPE_OK: > i += 1 > else: > - print 'Sync ok' > + print("Sync ok") > else: > - print 'Bad first sync' > + print("Bad first sync") > > # > # Try incorrect JOIN. SYNC must be also returned. > # > -body[IPROTO_SERVER_UUID] = 'unknown' > +body[IPROTO_SERVER_UUID] = "unknown" > resp = test_request(header, body) > -if resp['header'][IPROTO_SYNC] == 2334: > - print('Sync on error is ok') > +if resp["header"][IPROTO_SYNC] == 2334: > + print("Sync on error is ok") > else: > - print('Sync on error is not ok') > + print("Sync on error is not ok") > > c.close() > > @@ -332,8 +328,8 @@ admin("space:insert({1})") > admin("space:insert({2, 'Music'})") > admin("space:insert({3, 'Length', 93})") > > -iproto.py_con.space('gh1280').select([]) > -iproto.py_con.space('gh1280').select(list()) > +iproto.py_con.space("gh1280").select([]) > +iproto.py_con.space("gh1280").select(list()) > > > admin("space:drop()") > @@ -344,26 +340,24 @@ admin("box.schema.user.revoke('guest', 'read,write,execute', 'universe')") > # gh-272 if the packet was incorrect, respond with an error code > # gh-1654 do not close connnection on invalid request > # > -print """ > -# Test bugs gh-272, gh-1654 if the packet was incorrect, respond with > -# an error code and do not close connection > -""" > +print("# Test bugs gh-272, gh-1654 if the packet was incorrect, respond with") > +print("# an error code and do not close connection") > > -c = Connection('localhost', server.iproto.port) > +c = Connection("localhost", server.iproto.port) > c.connect() > s = c._socket > header = { "hello": "world"} > body = { "bug": 272 } > resp = test_request(header, body) > -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) > +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) > header = { IPROTO_CODE : REQUEST_TYPE_SELECT } > header[IPROTO_SYNC] = 1234 > resp = test_request(header, body) > -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) > +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) > header[IPROTO_SYNC] = 5678 > body = { IPROTO_SPACE_ID: 304, IPROTO_KEY: [], IPROTO_LIMIT: 1 } > resp = test_request(header, body) > -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) > +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) > c.close() > > > @@ -371,7 +365,7 @@ admin("space = box.schema.space.create('test_index_base', { id = 568 })") > admin("index = space:create_index('primary', { type = 'hash' })") > admin("box.schema.user.grant('guest', 'read,write,execute', 'space', 'test_index_base')") > > -c = Connection('localhost', server.iproto.port) > +c = Connection("localhost", server.iproto.port) > c.connect() > s = c._socket > > @@ -379,32 +373,32 @@ request = RequestInsert(c, 568, [1, 0, 0, 0]) > try: > s.send(bytes(request)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response = Response(c, c._read_response()) > -print response.__str__() > +print(response.__str__()) > > -request = RequestUpdate(c, 568, 0, [1], [['+', 2, 1], ['-', 3, 1]]) > +request = RequestUpdate(c, 568, 0, [1], [["+", 2, 1], ["-", 3, 1]]) > try: > s.send(bytes(request)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response = Response(c, c._read_response()) > -print response.__str__() > +print(response.__str__()) > > -request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [['+', 2, 1], ['-', 3, 1]]) > +request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [["+", 2, 1], ["-", 3, 1]]) > try: > s.send(bytes(request)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response = Response(c, c._read_response()) > > request = RequestSelect(c, 568, 0, [1], 0, 1, 0) > try: > s.send(bytes(request)) > except OSError as e: > - print ' => ', 'Failed to send request' > + print(" => ", "Failed to send request") > response = Response(c, c._read_response()) > -print response.__str__() > +print(response.__str__()) > > c.close() > > @@ -414,15 +408,15 @@ c.close() > admin("function kek() return 'kek' end") > admin("box.schema.user.grant('guest', 'read,write,execute', 'universe')") > > -c = Connection('localhost', server.iproto.port) > +c = Connection("localhost", server.iproto.port) > c.connect() > s = c._socket > > header = { IPROTO_CODE: REQUEST_TYPE_CALL, IPROTO_SYNC: 100 } > -body = { IPROTO_FUNCTION_NAME: 'kek' } > +body = { IPROTO_FUNCTION_NAME: "kek" } > resp = test_request(header, body) > -print "Sync: ", resp['header'][IPROTO_SYNC] > -print "Retcode: ", resp['body'][IPROTO_DATA] > +print("Sync: ", resp["header"][IPROTO_SYNC]) > +print("Retcode: ", resp["body"][IPROTO_DATA]) > > c.close() > > diff --git a/test/box-py/print.result b/test/box-py/print.result > index b2d58d7de..7a3282d79 100644 > --- a/test/box-py/print.result > +++ b/test/box-py/print.result > @@ -1,4 +1,4 @@ > -print("Hello, world") > +print('Hello, world') > --- > ... > io = require('io') > @@ -17,9 +17,9 @@ require('fiber').sleep(0.01) > ... > Check log line (Hello): > --- > -- "logfile contains "Hello"" > +- 'logfile contains 'Hello'' > ... > Check log line (Ehllo): > --- > -- "logfile contains "Ehllo"" > +- 'logfile contains 'Ehllo'' > ... > diff --git a/test/box-py/print.test.py b/test/box-py/print.test.py > index 5083bdf42..37f07cab8 100644 > --- a/test/box-py/print.test.py > +++ b/test/box-py/print.test.py > @@ -1,3 +1,5 @@ > +from __future__ import print_function > + > import tarantool > > import sys > @@ -6,7 +8,7 @@ import re > > log = server.get_log() > > -admin('print("Hello, world")') > +admin("print('Hello, world')") > admin("io = require('io')") > > admin("""local f = require('fiber').create( > @@ -18,17 +20,17 @@ admin("""local f = require('fiber').create( > admin("require('fiber').sleep(0.01)") > > print("Check log line (Hello):") > -print('---') > -if log.seek_once('Hello') >= 0: > - print('- "logfile contains "Hello""') > +print("---") > +if log.seek_once("Hello") >= 0: > + print("- 'logfile contains \'Hello\''") 3) \ - not necessary. (here and below) > 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, "") > 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: > +('Expected error:', ) > 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 = '' } > ------------------------------------------------------------- > 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 = server.get_param("uuid") > +sys.stdout.push_filter(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.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, '') > -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.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, "") > +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, '') > -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, "") > +master.admin("box.cfg{{ replication = '{}' }}".format(replication_source)) > > master.wait_lsn(replica_id, replica.get_lsn(replica_id)) > -master.admin('box.info.vclock[%d] == 2' % replica_id) > +master.admin("box.info.vclock[{}] == 2".format(replica_id)) > > master.admin("box.cfg{ replication = '' }") > replica.stop() > replica.cleanup() > > -print '-------------------------------------------------------------' > -print 'Start a new replica and check that server_id, LSN is re-used' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("Start a new replica and check that server_id, LSN is re-used") > +print("-------------------------------------------------------------") > > # > # gh-1219: Proper removal of servers with non-zero LSN from _cluster > @@ -196,36 +201,36 @@ print '-------------------------------------------------------------' > # Snapshot is required. Otherwise a relay will skip records made by previous > # replica with the re-used id. > master.admin("box.snapshot()") > -master.admin('box.info.vclock[%d] == 2' % replica_id) > +master.admin("box.info.vclock[{}] == 2".format(replica_id)) > > replica = TarantoolServer(server.ini) > -replica.script = 'replication-py/replica.lua' > +replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir > replica.rpl_master = master > replica.deploy() > replica.wait_lsn(master_id, master.get_lsn(master_id)) > # Check that replica_id was re-used > -replica.admin('box.info.id == %d' % replica_id) > -replica.admin('not box.info.ro') > +replica.admin("box.info.id == {}".format(replica_id)) > +replica.admin("not box.info.ro") > # All records were succesfully recovered. > # Replica should have the same vclock as master. > -master.admin('box.info.vclock[%d] == 2' % replica_id) > -replica.admin('box.info.vclock[%d] == 2' % replica_id) > +master.admin("box.info.vclock[{}] == 2".format(replica_id)) > +replica.admin("box.info.vclock[{}] == 2".format(replica_id)) > > replica.stop() > replica.cleanup() > -master.admin('box.space._cluster:delete{%d} ~= nil' % replica_id) > +master.admin("box.space._cluster:delete{{{}}} ~= nil".format(replica_id)) > > -print '-------------------------------------------------------------' > -print 'JOIN replica to read-only master' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("JOIN replica to read-only master") > +print("-------------------------------------------------------------") > > # master server > master = server > -master.admin('box.cfg { read_only = true }') > +master.admin("box.cfg { read_only = true }") > #gh-1230 Assertion vclock_has on attempt to JOIN read-only master > failed = TarantoolServer(server.ini) > -failed.script = 'replication-py/failed.lua' > +failed.script = "replication-py/failed.lua" > failed.vardir = server.vardir > failed.rpl_master = master > failed.name = "failed" > @@ -235,16 +240,16 @@ try: > except Exception as e: > line = "ER_READONLY" > if failed.logfile_pos.seek_once(line) >= 0: > - print "'%s' exists in server log" % line > + print("\'{}\' exists in server log".format(line)) > > -master.admin('box.cfg { read_only = false }') > +master.admin("box.cfg { read_only = false }") > > -print '-------------------------------------------------------------' > -print 'JOIN replica with different replica set UUID' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("JOIN replica with different replica set UUID") > +print("-------------------------------------------------------------") > > failed = TarantoolServer(server.ini) > -failed.script = 'replication-py/uuid_mismatch.lua' > +failed.script = "replication-py/uuid_mismatch.lua" > failed.vardir = server.vardir > failed.rpl_master = master > failed.name = "uuid_mismatch" > @@ -254,15 +259,15 @@ try: > except Exception as e: > line = "ER_REPLICASET_UUID_MISMATCH" > if failed.logfile_pos.seek_once(line) >= 0: > - print "'%s' exists in server log" % line > + print("\'{}\' exists in server log".format(line)) > > failed.cleanup() > > -print '-------------------------------------------------------------' > -print 'Cleanup' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("Cleanup") > +print("-------------------------------------------------------------") > > # Cleanup > sys.stdout.pop_filter() > master.admin("box.schema.user.revoke('guest', 'replication')") > -master.admin('box.space._cluster:delete{2} ~= nil') > +master.admin("box.space._cluster:delete{2} ~= nil") > diff --git a/test/replication-py/conflict.test.py b/test/replication-py/conflict.test.py > index 1dcd66765..5e19d0c40 100644 > --- a/test/replication-py/conflict.test.py > +++ b/test/replication-py/conflict.test.py > @@ -1,35 +1,37 @@ > +from __future__ import print_function > + > from lib.tarantool_server import TarantoolServer > from time import sleep > import yaml > > -def check_replication(nodes, select_args=''): > +def check_replication(nodes, select_args=""): > for node in nodes: > - node.admin('box.space.test:select{%s}' % select_args) > + node.admin("box.space.test:select{{{}}}".format(select_args)) > > master = server > master.admin("box.schema.user.grant('guest', 'replication')") > > replica = TarantoolServer(server.ini) > -replica.script = 'replication-py/replica.lua' > +replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir > replica.rpl_master = master > replica.deploy() > > def parallel_run(cmd1, cmd2, compare): > - print 'parallel send: %s' % cmd1 > - print 'parallel send: %s' % cmd2 > - master.admin.socket.sendall('%s\n' % cmd1) > - replica.admin.socket.sendall('%s\n' % cmd2) > + print("parallel send: {}".format(cmd1)) > + print("parallel send: {}".format(cmd2)) > + master.admin.socket.sendall("{}\n".format(cmd1)) > + replica.admin.socket.sendall("{}\n".format(cmd2)) > > master.admin.socket.recv(2048) > replica.admin.socket.recv(2048) > > # wait for status changing in tarantool > master_status = yaml.safe_load(master.admin( > - 'box.info().replication[2].upstream.status', silent=True > + "box.info().replication[2].upstream.status", silent=True > ))[0] > replica_status = yaml.safe_load(replica.admin( > - 'box.info().replication[1].upstream.status', silent=True > + "box.info().replication[1].upstream.status", silent=True > ))[0] > > # wait for status > @@ -37,11 +39,11 @@ def parallel_run(cmd1, cmd2, compare): > while True: > sleep(0.01) > if any(results): > - print 'replication state is correct' > + print("replication state is correct") > break > > def prepare_cluster(): > - print 'reset master-master replication' > + print("reset master-master replication") > master.stop() > master.cleanup() > master.start() > @@ -51,13 +53,13 @@ def prepare_cluster(): > replica.cleanup() > replica.start() > > - master.admin("box.cfg{replication='%s'}" % replica.iproto.uri, silent=True) > - r1_id = replica.get_param('id') > - r2_id = master.get_param('id') > + master.admin("box.cfg{{replication='{}'}}".format(replica.iproto.uri), silent=True) > + r1_id = replica.get_param("id") > + r2_id = master.get_param("id") > > master.admin("space = box.schema.space.create('test')", silent=True) > master.admin("index = space:create_index('primary', { type = 'tree'})", silent=True) > - master.admin('for k = 1, 9 do space:insert{k, k*k} end', silent=True) > + master.admin("for k = 1, 9 do space:insert{k, k*k} end", silent=True) > > # wait lsn > replica.wait_lsn(r2_id, master.get_lsn(r2_id)) > @@ -69,20 +71,20 @@ parallel_run( > "box.space.test:update(1, {{'#', 2, 1}})", > "box.space.test:update(1, {{'#', 2, 1}})", > [ > - lambda x,y: x == 'stopped' or y == 'stopped', > - lambda x,y: x == 'follow' and y == 'follow', > + lambda x,y: x == "stopped" or y == "stopped", > + lambda x,y: x == "follow" and y == "follow", > ] > ) > -check_replication([master, replica], '1') > +check_replication([master, replica], "1") > > # test2: insert different values with single id > prepare_cluster() > parallel_run( > - 'box.space.test:insert{20, 1}', > - 'box.space.test:insert{20, 2}', > + "box.space.test:insert{20, 1}", > + "box.space.test:insert{20, 2}", > [ > - lambda x,y: x == 'stopped' or y == 'stopped', > - lambda x,y: x == 'follow' and y == 'follow', > + lambda x,y: x == "stopped" or y == "stopped", > + lambda x,y: x == "follow" and y == "follow", > ] > ) > > @@ -91,7 +93,7 @@ prepare_cluster() > parallel_run( > "box.space.test:update(2, {{'=', 2, 1}})", > "box.space.test:update(2, {{'=', 2, 2}})", > - [lambda x,y: x == 'follow' and y == 'follow',] > + [lambda x,y: x == "follow" and y == "follow",] > ) > > # test4: CRDT increment with update > @@ -99,16 +101,16 @@ prepare_cluster() > parallel_run( > "box.space.test:update(1, {{'+', 2, 1}})", > "box.space.test:update(1, {{'+', 2, 2}})", > - [lambda x,y: x == 'follow' and y == 'follow',] > + [lambda x,y: x == "follow" and y == "follow",] > ) > -check_replication([master, replica], '1') > +check_replication([master, replica], "1") > > # test5: delete not existing key > prepare_cluster() > parallel_run( > "box.space.test:delete(999)", > "box.space.test:delete(999)", > - [lambda x,y: x == 'follow' and y == 'follow',] > + [lambda x,y: x == "follow" and y == "follow",] > ) > check_replication([master, replica]) > > diff --git a/test/replication-py/init_storage.test.py b/test/replication-py/init_storage.test.py > index 4be531f8d..30ba75405 100644 > --- a/test/replication-py/init_storage.test.py > +++ b/test/replication-py/init_storage.test.py > @@ -1,80 +1,82 @@ > +from __future__ import print_function > + > import os > import glob > from lib.tarantool_server import TarantoolServer > > # master server > master = server > -master_id = master.get_param('id') > +master_id = master.get_param("id") > master.admin("box.schema.user.grant('guest', 'replication')") > > -print '-------------------------------------------------------------' > -print 'gh-484: JOIN doesn\'t save data to snapshot with TREE index' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("gh-484: JOIN doesn't save data to snapshot with TREE index") > +print("-------------------------------------------------------------") > > master.admin("space = box.schema.space.create('test', {id = 42})") > master.admin("index = space:create_index('primary', { type = 'tree'})") > > -master.admin('for k = 1, 9 do space:insert{k, k*k} end') > +master.admin("for k = 1, 9 do space:insert{k, k*k} end") > > replica = TarantoolServer(server.ini) > -replica.script = 'replication-py/replica.lua' > +replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') > replica.rpl_master = master > replica.deploy() > -replica.admin('box.space.test:select()') > +replica.admin("box.space.test:select()") > > replica.restart() > -replica.admin('box.space.test:select()') > +replica.admin("box.space.test:select()") > replica.stop() > replica.cleanup() > > -print '-------------------------------------------------------------' > -print 'replica test 2 (must be ok)' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("replica test 2 (must be ok)") > +print("-------------------------------------------------------------") > > master.restart() > -master.admin('for k = 10, 19 do box.space[42]:insert{k, k*k*k} end') > +master.admin("for k = 10, 19 do box.space[42]:insert{k, k*k*k} end") > master.admin("for k = 20, 29 do box.space[42]:upsert({k}, {}) end") > lsn = master.get_lsn(master_id) > > replica = TarantoolServer(server.ini) > -replica.script = 'replication-py/replica.lua' > +replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') > replica.rpl_master = master > replica.deploy() > > -replica.admin('space = box.space.test'); > +replica.admin("space = box.space.test"); > replica.wait_lsn(master_id, lsn) > for i in range(1, 20): > - replica.admin('space:get{%d}' % i) > + replica.admin("space:get{{{}}}".format(i)) > > replica.stop() > replica.cleanup() > > -print '-------------------------------------------------------------' > -print 'reconnect on JOIN/SUBSCRIBE' > -print '-------------------------------------------------------------' > +print("-------------------------------------------------------------") > +print("reconnect on JOIN/SUBSCRIBE") > +print("-------------------------------------------------------------") > > server.stop() > replica = TarantoolServer(server.ini) > -replica.script = 'replication-py/replica.lua' > +replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') > replica.rpl_master = master > replica.deploy(wait=False) > > -print 'waiting reconnect on JOIN...' > +print("waiting reconnect on JOIN...") > server.start() > replica.wait_until_started() > -print 'ok' > +print("ok") > > replica.stop() > server.stop() > > -print 'waiting reconnect on SUBSCRIBE...' > +print("waiting reconnect on SUBSCRIBE...") > replica.start(wait=False) > server.start() > replica.wait_until_started() > -print 'ok' > +print("ok") > > replica.stop() > replica.cleanup() > diff --git a/test/replication-py/multi.test.py b/test/replication-py/multi.test.py > index 233802458..a346fd560 100644 > --- a/test/replication-py/multi.test.py > +++ b/test/replication-py/multi.test.py > @@ -1,3 +1,5 @@ > +from __future__ import print_function > + > import sys > import os > from lib.tarantool_server import TarantoolServer > @@ -14,17 +16,17 @@ master.admin("fiber = require('fiber')") > master.admin("box.schema.user.grant('guest', 'replication')") > master.admin("box.schema.user.grant('guest', 'execute', 'universe')") > > -print '----------------------------------------------------------------------' > -print 'Bootstrap replicas' > -print '----------------------------------------------------------------------' > +print("----------------------------------------------------------------------") > +print("Bootstrap replicas") > +print("----------------------------------------------------------------------") > > # Start replicas > -master.id = master.get_param('id') > +master.id = master.get_param("id") > cluster = [ master ] > for i in range(REPLICA_N - 1): > server = TarantoolServer(server.ini) > - server.script = 'replication-py/replica.lua' > - server.vardir = os.path.join(server.vardir, 'replica', str(master.id + i)) > + server.script = "replication-py/replica.lua" > + server.vardir = os.path.join(server.vardir, "replica", str(master.id + i)) > server.rpl_master = master > server.deploy() > # Wait replica to fully bootstrap. > @@ -34,14 +36,14 @@ for i in range(REPLICA_N - 1): > # Make a list of servers > sources = [] > for server in cluster: > - sources.append(yaml.safe_load(server.admin('box.cfg.listen', silent = True))[0]) > - server.id = server.get_param('id') > + sources.append(yaml.safe_load(server.admin("box.cfg.listen", silent = True))[0]) > + server.id = server.get_param("id") > > -print 'done' > +print("done") > > -print '----------------------------------------------------------------------' > -print 'Make a full mesh' > -print '----------------------------------------------------------------------' > +print("----------------------------------------------------------------------") > +print("Make a full mesh") > +print("----------------------------------------------------------------------") > > # Connect each server to each other to make full mesh > for server in cluster: > @@ -54,55 +56,55 @@ for server in cluster: > while #box.info.vclock[...] ~= nil do > fiber.sleep(0.01) > end;""", server2.id) > - print 'server', server.id, "connected" > + print("server {} connected".format(server.id)) > > -print 'done' > +print("done") > > -print '----------------------------------------------------------------------' > -print 'Test inserts' > -print '----------------------------------------------------------------------' > +print("----------------------------------------------------------------------") > +print("Test inserts") > +print("----------------------------------------------------------------------") > > -print 'Create a test space' > +print("Create a test space") > master.admin("_ = box.schema.space.create('test')") > master.admin("_ = box.space.test:create_index('primary')") > master_lsn = master.get_lsn(master.id) > # Wait changes to propagate to replicas > for server in cluster: > server.wait_lsn(master.id, master_lsn) > - print 'server', server.id, 'is ok' > -print > + print("server {} is ok".format(server.id)) > +print("") > > -print 'Insert records' > +print("Insert records") > for i in range(ROW_N): > server = cluster[i % REPLICA_N] > - server.admin("box.space.test:insert{%d, %s}" % (i, server.id), silent = True) > -print 'inserted %d records' % ROW_N > -print > + server.admin("box.space.test:insert{{{}, {}}}".format(i, server.id), silent = True) > +print("inserted {} records".format(ROW_N)) > +print("") > > -print 'Synchronize' > +print("Synchronize") > for server1 in cluster: > for server2 in cluster: > server1.wait_lsn(server2.id, server2.get_lsn(server2.id)) > - print 'server', server1.id, 'done' > -print 'done' > -print > + print("server {} done".format(server1.id)) > +print("done") > +print("") > > -print 'Check data' > +print("Check data") > for server in cluster: > cnt = yaml.safe_load(server.admin("box.space.test:len()", silent = True))[0] > - print 'server', server.id, 'is', cnt == ROW_N and 'ok' or 'not ok' > -print 'Done' > -print > + print("server {} is {}".format(server.id, cnt == ROW_N and "ok" or "not ok")) > +print("Done") > +print("") > > -print > -print '----------------------------------------------------------------------' > -print 'Cleanup' > -print '----------------------------------------------------------------------' > +print("") > +print("----------------------------------------------------------------------") > +print("Cleanup") > +print("----------------------------------------------------------------------") > > for server in cluster: > server.stop() > - print 'server', server.id, 'done' > -print > + print("server {} done".format(server.id)) > +print("") > > master.cleanup() > master.deploy() > diff --git a/test/replication-py/swap.result b/test/replication-py/swap.result > index 7e6e66483..f96da95e4 100644 > --- a/test/replication-py/swap.result > +++ b/test/replication-py/swap.result > @@ -23,34 +23,34 @@ index = s:create_index('primary', {type = 'tree'}) > --- > ... > test 0 iteration > -box.space.memtx:insert{0, "tuple 0"} > +box.space.memtx:insert{0, 'tuple 0'} > - > - [0, 'tuple 0'] > -box.space.memtx:insert{1, "tuple 1"} > +box.space.memtx:insert{1, 'tuple 1'} > - > - [1, 'tuple 1'] > -box.space.memtx:insert{2, "tuple 2"} > +box.space.memtx:insert{2, 'tuple 2'} > - > - [2, 'tuple 2'] > -box.space.memtx:insert{3, "tuple 3"} > +box.space.memtx:insert{3, 'tuple 3'} > - > - [3, 'tuple 3'] > -box.space.memtx:insert{4, "tuple 4"} > +box.space.memtx:insert{4, 'tuple 4'} > - > - [4, 'tuple 4'] > -box.space.vinyl:insert{0, "tuple 0"} > +box.space.vinyl:insert{0, 'tuple 0'} > - > - [0, 'tuple 0'] > -box.space.vinyl:insert{1, "tuple 1"} > +box.space.vinyl:insert{1, 'tuple 1'} > - > - [1, 'tuple 1'] > -box.space.vinyl:insert{2, "tuple 2"} > +box.space.vinyl:insert{2, 'tuple 2'} > - > - [2, 'tuple 2'] > -box.space.vinyl:insert{3, "tuple 3"} > +box.space.vinyl:insert{3, 'tuple 3'} > - > - [3, 'tuple 3'] > -box.space.vinyl:insert{4, "tuple 4"} > +box.space.vinyl:insert{4, 'tuple 4'} > - > - [4, 'tuple 4'] > box.space.memtx:select{0} > @@ -83,34 +83,34 @@ box.space.vinyl:select{3} > box.space.vinyl:select{4} > - > - [4, 'tuple 4'] > -box.space.memtx:insert{5, "tuple 5"} > +box.space.memtx:insert{5, 'tuple 5'} > - > - [5, 'tuple 5'] > -box.space.memtx:insert{6, "tuple 6"} > +box.space.memtx:insert{6, 'tuple 6'} > - > - [6, 'tuple 6'] > -box.space.memtx:insert{7, "tuple 7"} > +box.space.memtx:insert{7, 'tuple 7'} > - > - [7, 'tuple 7'] > -box.space.memtx:insert{8, "tuple 8"} > +box.space.memtx:insert{8, 'tuple 8'} > - > - [8, 'tuple 8'] > -box.space.memtx:insert{9, "tuple 9"} > +box.space.memtx:insert{9, 'tuple 9'} > - > - [9, 'tuple 9'] > -box.space.vinyl:insert{5, "tuple 5"} > +box.space.vinyl:insert{5, 'tuple 5'} > - > - [5, 'tuple 5'] > -box.space.vinyl:insert{6, "tuple 6"} > +box.space.vinyl:insert{6, 'tuple 6'} > - > - [6, 'tuple 6'] > -box.space.vinyl:insert{7, "tuple 7"} > +box.space.vinyl:insert{7, 'tuple 7'} > - > - [7, 'tuple 7'] > -box.space.vinyl:insert{8, "tuple 8"} > +box.space.vinyl:insert{8, 'tuple 8'} > - > - [8, 'tuple 8'] > -box.space.vinyl:insert{9, "tuple 9"} > +box.space.vinyl:insert{9, 'tuple 9'} > - > - [9, 'tuple 9'] > box.space.memtx:select{5} > @@ -149,34 +149,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{10, "tuple 10"} > +box.space.memtx:insert{10, 'tuple 10'} > - > - [10, 'tuple 10'] > -box.space.memtx:insert{11, "tuple 11"} > +box.space.memtx:insert{11, 'tuple 11'} > - > - [11, 'tuple 11'] > -box.space.memtx:insert{12, "tuple 12"} > +box.space.memtx:insert{12, 'tuple 12'} > - > - [12, 'tuple 12'] > -box.space.memtx:insert{13, "tuple 13"} > +box.space.memtx:insert{13, 'tuple 13'} > - > - [13, 'tuple 13'] > -box.space.memtx:insert{14, "tuple 14"} > +box.space.memtx:insert{14, 'tuple 14'} > - > - [14, 'tuple 14'] > -box.space.vinyl:insert{10, "tuple 10"} > +box.space.vinyl:insert{10, 'tuple 10'} > - > - [10, 'tuple 10'] > -box.space.vinyl:insert{11, "tuple 11"} > +box.space.vinyl:insert{11, 'tuple 11'} > - > - [11, 'tuple 11'] > -box.space.vinyl:insert{12, "tuple 12"} > +box.space.vinyl:insert{12, 'tuple 12'} > - > - [12, 'tuple 12'] > -box.space.vinyl:insert{13, "tuple 13"} > +box.space.vinyl:insert{13, 'tuple 13'} > - > - [13, 'tuple 13'] > -box.space.vinyl:insert{14, "tuple 14"} > +box.space.vinyl:insert{14, 'tuple 14'} > - > - [14, 'tuple 14'] > box.space.memtx:select{10} > @@ -209,34 +209,34 @@ box.space.vinyl:select{13} > box.space.vinyl:select{14} > - > - [14, 'tuple 14'] > -box.space.memtx:insert{15, "tuple 15"} > +box.space.memtx:insert{15, 'tuple 15'} > - > - [15, 'tuple 15'] > -box.space.memtx:insert{16, "tuple 16"} > +box.space.memtx:insert{16, 'tuple 16'} > - > - [16, 'tuple 16'] > -box.space.memtx:insert{17, "tuple 17"} > +box.space.memtx:insert{17, 'tuple 17'} > - > - [17, 'tuple 17'] > -box.space.memtx:insert{18, "tuple 18"} > +box.space.memtx:insert{18, 'tuple 18'} > - > - [18, 'tuple 18'] > -box.space.memtx:insert{19, "tuple 19"} > +box.space.memtx:insert{19, 'tuple 19'} > - > - [19, 'tuple 19'] > -box.space.vinyl:insert{15, "tuple 15"} > +box.space.vinyl:insert{15, 'tuple 15'} > - > - [15, 'tuple 15'] > -box.space.vinyl:insert{16, "tuple 16"} > +box.space.vinyl:insert{16, 'tuple 16'} > - > - [16, 'tuple 16'] > -box.space.vinyl:insert{17, "tuple 17"} > +box.space.vinyl:insert{17, 'tuple 17'} > - > - [17, 'tuple 17'] > -box.space.vinyl:insert{18, "tuple 18"} > +box.space.vinyl:insert{18, 'tuple 18'} > - > - [18, 'tuple 18'] > -box.space.vinyl:insert{19, "tuple 19"} > +box.space.vinyl:insert{19, 'tuple 19'} > - > - [19, 'tuple 19'] > box.space.memtx:select{15} > @@ -276,34 +276,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 1 iteration > -box.space.memtx:insert{20, "tuple 20"} > +box.space.memtx:insert{20, 'tuple 20'} > - > - [20, 'tuple 20'] > -box.space.memtx:insert{21, "tuple 21"} > +box.space.memtx:insert{21, 'tuple 21'} > - > - [21, 'tuple 21'] > -box.space.memtx:insert{22, "tuple 22"} > +box.space.memtx:insert{22, 'tuple 22'} > - > - [22, 'tuple 22'] > -box.space.memtx:insert{23, "tuple 23"} > +box.space.memtx:insert{23, 'tuple 23'} > - > - [23, 'tuple 23'] > -box.space.memtx:insert{24, "tuple 24"} > +box.space.memtx:insert{24, 'tuple 24'} > - > - [24, 'tuple 24'] > -box.space.vinyl:insert{20, "tuple 20"} > +box.space.vinyl:insert{20, 'tuple 20'} > - > - [20, 'tuple 20'] > -box.space.vinyl:insert{21, "tuple 21"} > +box.space.vinyl:insert{21, 'tuple 21'} > - > - [21, 'tuple 21'] > -box.space.vinyl:insert{22, "tuple 22"} > +box.space.vinyl:insert{22, 'tuple 22'} > - > - [22, 'tuple 22'] > -box.space.vinyl:insert{23, "tuple 23"} > +box.space.vinyl:insert{23, 'tuple 23'} > - > - [23, 'tuple 23'] > -box.space.vinyl:insert{24, "tuple 24"} > +box.space.vinyl:insert{24, 'tuple 24'} > - > - [24, 'tuple 24'] > box.space.memtx:select{20} > @@ -336,34 +336,34 @@ box.space.vinyl:select{23} > box.space.vinyl:select{24} > - > - [24, 'tuple 24'] > -box.space.memtx:insert{25, "tuple 25"} > +box.space.memtx:insert{25, 'tuple 25'} > - > - [25, 'tuple 25'] > -box.space.memtx:insert{26, "tuple 26"} > +box.space.memtx:insert{26, 'tuple 26'} > - > - [26, 'tuple 26'] > -box.space.memtx:insert{27, "tuple 27"} > +box.space.memtx:insert{27, 'tuple 27'} > - > - [27, 'tuple 27'] > -box.space.memtx:insert{28, "tuple 28"} > +box.space.memtx:insert{28, 'tuple 28'} > - > - [28, 'tuple 28'] > -box.space.memtx:insert{29, "tuple 29"} > +box.space.memtx:insert{29, 'tuple 29'} > - > - [29, 'tuple 29'] > -box.space.vinyl:insert{25, "tuple 25"} > +box.space.vinyl:insert{25, 'tuple 25'} > - > - [25, 'tuple 25'] > -box.space.vinyl:insert{26, "tuple 26"} > +box.space.vinyl:insert{26, 'tuple 26'} > - > - [26, 'tuple 26'] > -box.space.vinyl:insert{27, "tuple 27"} > +box.space.vinyl:insert{27, 'tuple 27'} > - > - [27, 'tuple 27'] > -box.space.vinyl:insert{28, "tuple 28"} > +box.space.vinyl:insert{28, 'tuple 28'} > - > - [28, 'tuple 28'] > -box.space.vinyl:insert{29, "tuple 29"} > +box.space.vinyl:insert{29, 'tuple 29'} > - > - [29, 'tuple 29'] > box.space.memtx:select{25} > @@ -402,34 +402,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{30, "tuple 30"} > +box.space.memtx:insert{30, 'tuple 30'} > - > - [30, 'tuple 30'] > -box.space.memtx:insert{31, "tuple 31"} > +box.space.memtx:insert{31, 'tuple 31'} > - > - [31, 'tuple 31'] > -box.space.memtx:insert{32, "tuple 32"} > +box.space.memtx:insert{32, 'tuple 32'} > - > - [32, 'tuple 32'] > -box.space.memtx:insert{33, "tuple 33"} > +box.space.memtx:insert{33, 'tuple 33'} > - > - [33, 'tuple 33'] > -box.space.memtx:insert{34, "tuple 34"} > +box.space.memtx:insert{34, 'tuple 34'} > - > - [34, 'tuple 34'] > -box.space.vinyl:insert{30, "tuple 30"} > +box.space.vinyl:insert{30, 'tuple 30'} > - > - [30, 'tuple 30'] > -box.space.vinyl:insert{31, "tuple 31"} > +box.space.vinyl:insert{31, 'tuple 31'} > - > - [31, 'tuple 31'] > -box.space.vinyl:insert{32, "tuple 32"} > +box.space.vinyl:insert{32, 'tuple 32'} > - > - [32, 'tuple 32'] > -box.space.vinyl:insert{33, "tuple 33"} > +box.space.vinyl:insert{33, 'tuple 33'} > - > - [33, 'tuple 33'] > -box.space.vinyl:insert{34, "tuple 34"} > +box.space.vinyl:insert{34, 'tuple 34'} > - > - [34, 'tuple 34'] > box.space.memtx:select{30} > @@ -462,34 +462,34 @@ box.space.vinyl:select{33} > box.space.vinyl:select{34} > - > - [34, 'tuple 34'] > -box.space.memtx:insert{35, "tuple 35"} > +box.space.memtx:insert{35, 'tuple 35'} > - > - [35, 'tuple 35'] > -box.space.memtx:insert{36, "tuple 36"} > +box.space.memtx:insert{36, 'tuple 36'} > - > - [36, 'tuple 36'] > -box.space.memtx:insert{37, "tuple 37"} > +box.space.memtx:insert{37, 'tuple 37'} > - > - [37, 'tuple 37'] > -box.space.memtx:insert{38, "tuple 38"} > +box.space.memtx:insert{38, 'tuple 38'} > - > - [38, 'tuple 38'] > -box.space.memtx:insert{39, "tuple 39"} > +box.space.memtx:insert{39, 'tuple 39'} > - > - [39, 'tuple 39'] > -box.space.vinyl:insert{35, "tuple 35"} > +box.space.vinyl:insert{35, 'tuple 35'} > - > - [35, 'tuple 35'] > -box.space.vinyl:insert{36, "tuple 36"} > +box.space.vinyl:insert{36, 'tuple 36'} > - > - [36, 'tuple 36'] > -box.space.vinyl:insert{37, "tuple 37"} > +box.space.vinyl:insert{37, 'tuple 37'} > - > - [37, 'tuple 37'] > -box.space.vinyl:insert{38, "tuple 38"} > +box.space.vinyl:insert{38, 'tuple 38'} > - > - [38, 'tuple 38'] > -box.space.vinyl:insert{39, "tuple 39"} > +box.space.vinyl:insert{39, 'tuple 39'} > - > - [39, 'tuple 39'] > box.space.memtx:select{35} > @@ -529,34 +529,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 2 iteration > -box.space.memtx:insert{40, "tuple 40"} > +box.space.memtx:insert{40, 'tuple 40'} > - > - [40, 'tuple 40'] > -box.space.memtx:insert{41, "tuple 41"} > +box.space.memtx:insert{41, 'tuple 41'} > - > - [41, 'tuple 41'] > -box.space.memtx:insert{42, "tuple 42"} > +box.space.memtx:insert{42, 'tuple 42'} > - > - [42, 'tuple 42'] > -box.space.memtx:insert{43, "tuple 43"} > +box.space.memtx:insert{43, 'tuple 43'} > - > - [43, 'tuple 43'] > -box.space.memtx:insert{44, "tuple 44"} > +box.space.memtx:insert{44, 'tuple 44'} > - > - [44, 'tuple 44'] > -box.space.vinyl:insert{40, "tuple 40"} > +box.space.vinyl:insert{40, 'tuple 40'} > - > - [40, 'tuple 40'] > -box.space.vinyl:insert{41, "tuple 41"} > +box.space.vinyl:insert{41, 'tuple 41'} > - > - [41, 'tuple 41'] > -box.space.vinyl:insert{42, "tuple 42"} > +box.space.vinyl:insert{42, 'tuple 42'} > - > - [42, 'tuple 42'] > -box.space.vinyl:insert{43, "tuple 43"} > +box.space.vinyl:insert{43, 'tuple 43'} > - > - [43, 'tuple 43'] > -box.space.vinyl:insert{44, "tuple 44"} > +box.space.vinyl:insert{44, 'tuple 44'} > - > - [44, 'tuple 44'] > box.space.memtx:select{40} > @@ -589,34 +589,34 @@ box.space.vinyl:select{43} > box.space.vinyl:select{44} > - > - [44, 'tuple 44'] > -box.space.memtx:insert{45, "tuple 45"} > +box.space.memtx:insert{45, 'tuple 45'} > - > - [45, 'tuple 45'] > -box.space.memtx:insert{46, "tuple 46"} > +box.space.memtx:insert{46, 'tuple 46'} > - > - [46, 'tuple 46'] > -box.space.memtx:insert{47, "tuple 47"} > +box.space.memtx:insert{47, 'tuple 47'} > - > - [47, 'tuple 47'] > -box.space.memtx:insert{48, "tuple 48"} > +box.space.memtx:insert{48, 'tuple 48'} > - > - [48, 'tuple 48'] > -box.space.memtx:insert{49, "tuple 49"} > +box.space.memtx:insert{49, 'tuple 49'} > - > - [49, 'tuple 49'] > -box.space.vinyl:insert{45, "tuple 45"} > +box.space.vinyl:insert{45, 'tuple 45'} > - > - [45, 'tuple 45'] > -box.space.vinyl:insert{46, "tuple 46"} > +box.space.vinyl:insert{46, 'tuple 46'} > - > - [46, 'tuple 46'] > -box.space.vinyl:insert{47, "tuple 47"} > +box.space.vinyl:insert{47, 'tuple 47'} > - > - [47, 'tuple 47'] > -box.space.vinyl:insert{48, "tuple 48"} > +box.space.vinyl:insert{48, 'tuple 48'} > - > - [48, 'tuple 48'] > -box.space.vinyl:insert{49, "tuple 49"} > +box.space.vinyl:insert{49, 'tuple 49'} > - > - [49, 'tuple 49'] > box.space.memtx:select{45} > @@ -655,34 +655,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{50, "tuple 50"} > +box.space.memtx:insert{50, 'tuple 50'} > - > - [50, 'tuple 50'] > -box.space.memtx:insert{51, "tuple 51"} > +box.space.memtx:insert{51, 'tuple 51'} > - > - [51, 'tuple 51'] > -box.space.memtx:insert{52, "tuple 52"} > +box.space.memtx:insert{52, 'tuple 52'} > - > - [52, 'tuple 52'] > -box.space.memtx:insert{53, "tuple 53"} > +box.space.memtx:insert{53, 'tuple 53'} > - > - [53, 'tuple 53'] > -box.space.memtx:insert{54, "tuple 54"} > +box.space.memtx:insert{54, 'tuple 54'} > - > - [54, 'tuple 54'] > -box.space.vinyl:insert{50, "tuple 50"} > +box.space.vinyl:insert{50, 'tuple 50'} > - > - [50, 'tuple 50'] > -box.space.vinyl:insert{51, "tuple 51"} > +box.space.vinyl:insert{51, 'tuple 51'} > - > - [51, 'tuple 51'] > -box.space.vinyl:insert{52, "tuple 52"} > +box.space.vinyl:insert{52, 'tuple 52'} > - > - [52, 'tuple 52'] > -box.space.vinyl:insert{53, "tuple 53"} > +box.space.vinyl:insert{53, 'tuple 53'} > - > - [53, 'tuple 53'] > -box.space.vinyl:insert{54, "tuple 54"} > +box.space.vinyl:insert{54, 'tuple 54'} > - > - [54, 'tuple 54'] > box.space.memtx:select{50} > @@ -715,34 +715,34 @@ box.space.vinyl:select{53} > box.space.vinyl:select{54} > - > - [54, 'tuple 54'] > -box.space.memtx:insert{55, "tuple 55"} > +box.space.memtx:insert{55, 'tuple 55'} > - > - [55, 'tuple 55'] > -box.space.memtx:insert{56, "tuple 56"} > +box.space.memtx:insert{56, 'tuple 56'} > - > - [56, 'tuple 56'] > -box.space.memtx:insert{57, "tuple 57"} > +box.space.memtx:insert{57, 'tuple 57'} > - > - [57, 'tuple 57'] > -box.space.memtx:insert{58, "tuple 58"} > +box.space.memtx:insert{58, 'tuple 58'} > - > - [58, 'tuple 58'] > -box.space.memtx:insert{59, "tuple 59"} > +box.space.memtx:insert{59, 'tuple 59'} > - > - [59, 'tuple 59'] > -box.space.vinyl:insert{55, "tuple 55"} > +box.space.vinyl:insert{55, 'tuple 55'} > - > - [55, 'tuple 55'] > -box.space.vinyl:insert{56, "tuple 56"} > +box.space.vinyl:insert{56, 'tuple 56'} > - > - [56, 'tuple 56'] > -box.space.vinyl:insert{57, "tuple 57"} > +box.space.vinyl:insert{57, 'tuple 57'} > - > - [57, 'tuple 57'] > -box.space.vinyl:insert{58, "tuple 58"} > +box.space.vinyl:insert{58, 'tuple 58'} > - > - [58, 'tuple 58'] > -box.space.vinyl:insert{59, "tuple 59"} > +box.space.vinyl:insert{59, 'tuple 59'} > - > - [59, 'tuple 59'] > box.space.memtx:select{55} > @@ -782,34 +782,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 3 iteration > -box.space.memtx:insert{60, "tuple 60"} > +box.space.memtx:insert{60, 'tuple 60'} > - > - [60, 'tuple 60'] > -box.space.memtx:insert{61, "tuple 61"} > +box.space.memtx:insert{61, 'tuple 61'} > - > - [61, 'tuple 61'] > -box.space.memtx:insert{62, "tuple 62"} > +box.space.memtx:insert{62, 'tuple 62'} > - > - [62, 'tuple 62'] > -box.space.memtx:insert{63, "tuple 63"} > +box.space.memtx:insert{63, 'tuple 63'} > - > - [63, 'tuple 63'] > -box.space.memtx:insert{64, "tuple 64"} > +box.space.memtx:insert{64, 'tuple 64'} > - > - [64, 'tuple 64'] > -box.space.vinyl:insert{60, "tuple 60"} > +box.space.vinyl:insert{60, 'tuple 60'} > - > - [60, 'tuple 60'] > -box.space.vinyl:insert{61, "tuple 61"} > +box.space.vinyl:insert{61, 'tuple 61'} > - > - [61, 'tuple 61'] > -box.space.vinyl:insert{62, "tuple 62"} > +box.space.vinyl:insert{62, 'tuple 62'} > - > - [62, 'tuple 62'] > -box.space.vinyl:insert{63, "tuple 63"} > +box.space.vinyl:insert{63, 'tuple 63'} > - > - [63, 'tuple 63'] > -box.space.vinyl:insert{64, "tuple 64"} > +box.space.vinyl:insert{64, 'tuple 64'} > - > - [64, 'tuple 64'] > box.space.memtx:select{60} > @@ -842,34 +842,34 @@ box.space.vinyl:select{63} > box.space.vinyl:select{64} > - > - [64, 'tuple 64'] > -box.space.memtx:insert{65, "tuple 65"} > +box.space.memtx:insert{65, 'tuple 65'} > - > - [65, 'tuple 65'] > -box.space.memtx:insert{66, "tuple 66"} > +box.space.memtx:insert{66, 'tuple 66'} > - > - [66, 'tuple 66'] > -box.space.memtx:insert{67, "tuple 67"} > +box.space.memtx:insert{67, 'tuple 67'} > - > - [67, 'tuple 67'] > -box.space.memtx:insert{68, "tuple 68"} > +box.space.memtx:insert{68, 'tuple 68'} > - > - [68, 'tuple 68'] > -box.space.memtx:insert{69, "tuple 69"} > +box.space.memtx:insert{69, 'tuple 69'} > - > - [69, 'tuple 69'] > -box.space.vinyl:insert{65, "tuple 65"} > +box.space.vinyl:insert{65, 'tuple 65'} > - > - [65, 'tuple 65'] > -box.space.vinyl:insert{66, "tuple 66"} > +box.space.vinyl:insert{66, 'tuple 66'} > - > - [66, 'tuple 66'] > -box.space.vinyl:insert{67, "tuple 67"} > +box.space.vinyl:insert{67, 'tuple 67'} > - > - [67, 'tuple 67'] > -box.space.vinyl:insert{68, "tuple 68"} > +box.space.vinyl:insert{68, 'tuple 68'} > - > - [68, 'tuple 68'] > -box.space.vinyl:insert{69, "tuple 69"} > +box.space.vinyl:insert{69, 'tuple 69'} > - > - [69, 'tuple 69'] > box.space.memtx:select{65} > @@ -908,34 +908,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{70, "tuple 70"} > +box.space.memtx:insert{70, 'tuple 70'} > - > - [70, 'tuple 70'] > -box.space.memtx:insert{71, "tuple 71"} > +box.space.memtx:insert{71, 'tuple 71'} > - > - [71, 'tuple 71'] > -box.space.memtx:insert{72, "tuple 72"} > +box.space.memtx:insert{72, 'tuple 72'} > - > - [72, 'tuple 72'] > -box.space.memtx:insert{73, "tuple 73"} > +box.space.memtx:insert{73, 'tuple 73'} > - > - [73, 'tuple 73'] > -box.space.memtx:insert{74, "tuple 74"} > +box.space.memtx:insert{74, 'tuple 74'} > - > - [74, 'tuple 74'] > -box.space.vinyl:insert{70, "tuple 70"} > +box.space.vinyl:insert{70, 'tuple 70'} > - > - [70, 'tuple 70'] > -box.space.vinyl:insert{71, "tuple 71"} > +box.space.vinyl:insert{71, 'tuple 71'} > - > - [71, 'tuple 71'] > -box.space.vinyl:insert{72, "tuple 72"} > +box.space.vinyl:insert{72, 'tuple 72'} > - > - [72, 'tuple 72'] > -box.space.vinyl:insert{73, "tuple 73"} > +box.space.vinyl:insert{73, 'tuple 73'} > - > - [73, 'tuple 73'] > -box.space.vinyl:insert{74, "tuple 74"} > +box.space.vinyl:insert{74, 'tuple 74'} > - > - [74, 'tuple 74'] > box.space.memtx:select{70} > @@ -968,34 +968,34 @@ box.space.vinyl:select{73} > box.space.vinyl:select{74} > - > - [74, 'tuple 74'] > -box.space.memtx:insert{75, "tuple 75"} > +box.space.memtx:insert{75, 'tuple 75'} > - > - [75, 'tuple 75'] > -box.space.memtx:insert{76, "tuple 76"} > +box.space.memtx:insert{76, 'tuple 76'} > - > - [76, 'tuple 76'] > -box.space.memtx:insert{77, "tuple 77"} > +box.space.memtx:insert{77, 'tuple 77'} > - > - [77, 'tuple 77'] > -box.space.memtx:insert{78, "tuple 78"} > +box.space.memtx:insert{78, 'tuple 78'} > - > - [78, 'tuple 78'] > -box.space.memtx:insert{79, "tuple 79"} > +box.space.memtx:insert{79, 'tuple 79'} > - > - [79, 'tuple 79'] > -box.space.vinyl:insert{75, "tuple 75"} > +box.space.vinyl:insert{75, 'tuple 75'} > - > - [75, 'tuple 75'] > -box.space.vinyl:insert{76, "tuple 76"} > +box.space.vinyl:insert{76, 'tuple 76'} > - > - [76, 'tuple 76'] > -box.space.vinyl:insert{77, "tuple 77"} > +box.space.vinyl:insert{77, 'tuple 77'} > - > - [77, 'tuple 77'] > -box.space.vinyl:insert{78, "tuple 78"} > +box.space.vinyl:insert{78, 'tuple 78'} > - > - [78, 'tuple 78'] > -box.space.vinyl:insert{79, "tuple 79"} > +box.space.vinyl:insert{79, 'tuple 79'} > - > - [79, 'tuple 79'] > box.space.memtx:select{75} > @@ -1035,34 +1035,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 4 iteration > -box.space.memtx:insert{80, "tuple 80"} > +box.space.memtx:insert{80, 'tuple 80'} > - > - [80, 'tuple 80'] > -box.space.memtx:insert{81, "tuple 81"} > +box.space.memtx:insert{81, 'tuple 81'} > - > - [81, 'tuple 81'] > -box.space.memtx:insert{82, "tuple 82"} > +box.space.memtx:insert{82, 'tuple 82'} > - > - [82, 'tuple 82'] > -box.space.memtx:insert{83, "tuple 83"} > +box.space.memtx:insert{83, 'tuple 83'} > - > - [83, 'tuple 83'] > -box.space.memtx:insert{84, "tuple 84"} > +box.space.memtx:insert{84, 'tuple 84'} > - > - [84, 'tuple 84'] > -box.space.vinyl:insert{80, "tuple 80"} > +box.space.vinyl:insert{80, 'tuple 80'} > - > - [80, 'tuple 80'] > -box.space.vinyl:insert{81, "tuple 81"} > +box.space.vinyl:insert{81, 'tuple 81'} > - > - [81, 'tuple 81'] > -box.space.vinyl:insert{82, "tuple 82"} > +box.space.vinyl:insert{82, 'tuple 82'} > - > - [82, 'tuple 82'] > -box.space.vinyl:insert{83, "tuple 83"} > +box.space.vinyl:insert{83, 'tuple 83'} > - > - [83, 'tuple 83'] > -box.space.vinyl:insert{84, "tuple 84"} > +box.space.vinyl:insert{84, 'tuple 84'} > - > - [84, 'tuple 84'] > box.space.memtx:select{80} > @@ -1095,34 +1095,34 @@ box.space.vinyl:select{83} > box.space.vinyl:select{84} > - > - [84, 'tuple 84'] > -box.space.memtx:insert{85, "tuple 85"} > +box.space.memtx:insert{85, 'tuple 85'} > - > - [85, 'tuple 85'] > -box.space.memtx:insert{86, "tuple 86"} > +box.space.memtx:insert{86, 'tuple 86'} > - > - [86, 'tuple 86'] > -box.space.memtx:insert{87, "tuple 87"} > +box.space.memtx:insert{87, 'tuple 87'} > - > - [87, 'tuple 87'] > -box.space.memtx:insert{88, "tuple 88"} > +box.space.memtx:insert{88, 'tuple 88'} > - > - [88, 'tuple 88'] > -box.space.memtx:insert{89, "tuple 89"} > +box.space.memtx:insert{89, 'tuple 89'} > - > - [89, 'tuple 89'] > -box.space.vinyl:insert{85, "tuple 85"} > +box.space.vinyl:insert{85, 'tuple 85'} > - > - [85, 'tuple 85'] > -box.space.vinyl:insert{86, "tuple 86"} > +box.space.vinyl:insert{86, 'tuple 86'} > - > - [86, 'tuple 86'] > -box.space.vinyl:insert{87, "tuple 87"} > +box.space.vinyl:insert{87, 'tuple 87'} > - > - [87, 'tuple 87'] > -box.space.vinyl:insert{88, "tuple 88"} > +box.space.vinyl:insert{88, 'tuple 88'} > - > - [88, 'tuple 88'] > -box.space.vinyl:insert{89, "tuple 89"} > +box.space.vinyl:insert{89, 'tuple 89'} > - > - [89, 'tuple 89'] > box.space.memtx:select{85} > @@ -1161,34 +1161,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{90, "tuple 90"} > +box.space.memtx:insert{90, 'tuple 90'} > - > - [90, 'tuple 90'] > -box.space.memtx:insert{91, "tuple 91"} > +box.space.memtx:insert{91, 'tuple 91'} > - > - [91, 'tuple 91'] > -box.space.memtx:insert{92, "tuple 92"} > +box.space.memtx:insert{92, 'tuple 92'} > - > - [92, 'tuple 92'] > -box.space.memtx:insert{93, "tuple 93"} > +box.space.memtx:insert{93, 'tuple 93'} > - > - [93, 'tuple 93'] > -box.space.memtx:insert{94, "tuple 94"} > +box.space.memtx:insert{94, 'tuple 94'} > - > - [94, 'tuple 94'] > -box.space.vinyl:insert{90, "tuple 90"} > +box.space.vinyl:insert{90, 'tuple 90'} > - > - [90, 'tuple 90'] > -box.space.vinyl:insert{91, "tuple 91"} > +box.space.vinyl:insert{91, 'tuple 91'} > - > - [91, 'tuple 91'] > -box.space.vinyl:insert{92, "tuple 92"} > +box.space.vinyl:insert{92, 'tuple 92'} > - > - [92, 'tuple 92'] > -box.space.vinyl:insert{93, "tuple 93"} > +box.space.vinyl:insert{93, 'tuple 93'} > - > - [93, 'tuple 93'] > -box.space.vinyl:insert{94, "tuple 94"} > +box.space.vinyl:insert{94, 'tuple 94'} > - > - [94, 'tuple 94'] > box.space.memtx:select{90} > @@ -1221,34 +1221,34 @@ box.space.vinyl:select{93} > box.space.vinyl:select{94} > - > - [94, 'tuple 94'] > -box.space.memtx:insert{95, "tuple 95"} > +box.space.memtx:insert{95, 'tuple 95'} > - > - [95, 'tuple 95'] > -box.space.memtx:insert{96, "tuple 96"} > +box.space.memtx:insert{96, 'tuple 96'} > - > - [96, 'tuple 96'] > -box.space.memtx:insert{97, "tuple 97"} > +box.space.memtx:insert{97, 'tuple 97'} > - > - [97, 'tuple 97'] > -box.space.memtx:insert{98, "tuple 98"} > +box.space.memtx:insert{98, 'tuple 98'} > - > - [98, 'tuple 98'] > -box.space.memtx:insert{99, "tuple 99"} > +box.space.memtx:insert{99, 'tuple 99'} > - > - [99, 'tuple 99'] > -box.space.vinyl:insert{95, "tuple 95"} > +box.space.vinyl:insert{95, 'tuple 95'} > - > - [95, 'tuple 95'] > -box.space.vinyl:insert{96, "tuple 96"} > +box.space.vinyl:insert{96, 'tuple 96'} > - > - [96, 'tuple 96'] > -box.space.vinyl:insert{97, "tuple 97"} > +box.space.vinyl:insert{97, 'tuple 97'} > - > - [97, 'tuple 97'] > -box.space.vinyl:insert{98, "tuple 98"} > +box.space.vinyl:insert{98, 'tuple 98'} > - > - [98, 'tuple 98'] > -box.space.vinyl:insert{99, "tuple 99"} > +box.space.vinyl:insert{99, 'tuple 99'} > - > - [99, 'tuple 99'] > box.space.memtx:select{95} > @@ -1288,34 +1288,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 5 iteration > -box.space.memtx:insert{100, "tuple 100"} > +box.space.memtx:insert{100, 'tuple 100'} > - > - [100, 'tuple 100'] > -box.space.memtx:insert{101, "tuple 101"} > +box.space.memtx:insert{101, 'tuple 101'} > - > - [101, 'tuple 101'] > -box.space.memtx:insert{102, "tuple 102"} > +box.space.memtx:insert{102, 'tuple 102'} > - > - [102, 'tuple 102'] > -box.space.memtx:insert{103, "tuple 103"} > +box.space.memtx:insert{103, 'tuple 103'} > - > - [103, 'tuple 103'] > -box.space.memtx:insert{104, "tuple 104"} > +box.space.memtx:insert{104, 'tuple 104'} > - > - [104, 'tuple 104'] > -box.space.vinyl:insert{100, "tuple 100"} > +box.space.vinyl:insert{100, 'tuple 100'} > - > - [100, 'tuple 100'] > -box.space.vinyl:insert{101, "tuple 101"} > +box.space.vinyl:insert{101, 'tuple 101'} > - > - [101, 'tuple 101'] > -box.space.vinyl:insert{102, "tuple 102"} > +box.space.vinyl:insert{102, 'tuple 102'} > - > - [102, 'tuple 102'] > -box.space.vinyl:insert{103, "tuple 103"} > +box.space.vinyl:insert{103, 'tuple 103'} > - > - [103, 'tuple 103'] > -box.space.vinyl:insert{104, "tuple 104"} > +box.space.vinyl:insert{104, 'tuple 104'} > - > - [104, 'tuple 104'] > box.space.memtx:select{100} > @@ -1348,34 +1348,34 @@ box.space.vinyl:select{103} > box.space.vinyl:select{104} > - > - [104, 'tuple 104'] > -box.space.memtx:insert{105, "tuple 105"} > +box.space.memtx:insert{105, 'tuple 105'} > - > - [105, 'tuple 105'] > -box.space.memtx:insert{106, "tuple 106"} > +box.space.memtx:insert{106, 'tuple 106'} > - > - [106, 'tuple 106'] > -box.space.memtx:insert{107, "tuple 107"} > +box.space.memtx:insert{107, 'tuple 107'} > - > - [107, 'tuple 107'] > -box.space.memtx:insert{108, "tuple 108"} > +box.space.memtx:insert{108, 'tuple 108'} > - > - [108, 'tuple 108'] > -box.space.memtx:insert{109, "tuple 109"} > +box.space.memtx:insert{109, 'tuple 109'} > - > - [109, 'tuple 109'] > -box.space.vinyl:insert{105, "tuple 105"} > +box.space.vinyl:insert{105, 'tuple 105'} > - > - [105, 'tuple 105'] > -box.space.vinyl:insert{106, "tuple 106"} > +box.space.vinyl:insert{106, 'tuple 106'} > - > - [106, 'tuple 106'] > -box.space.vinyl:insert{107, "tuple 107"} > +box.space.vinyl:insert{107, 'tuple 107'} > - > - [107, 'tuple 107'] > -box.space.vinyl:insert{108, "tuple 108"} > +box.space.vinyl:insert{108, 'tuple 108'} > - > - [108, 'tuple 108'] > -box.space.vinyl:insert{109, "tuple 109"} > +box.space.vinyl:insert{109, 'tuple 109'} > - > - [109, 'tuple 109'] > box.space.memtx:select{105} > @@ -1414,34 +1414,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{110, "tuple 110"} > +box.space.memtx:insert{110, 'tuple 110'} > - > - [110, 'tuple 110'] > -box.space.memtx:insert{111, "tuple 111"} > +box.space.memtx:insert{111, 'tuple 111'} > - > - [111, 'tuple 111'] > -box.space.memtx:insert{112, "tuple 112"} > +box.space.memtx:insert{112, 'tuple 112'} > - > - [112, 'tuple 112'] > -box.space.memtx:insert{113, "tuple 113"} > +box.space.memtx:insert{113, 'tuple 113'} > - > - [113, 'tuple 113'] > -box.space.memtx:insert{114, "tuple 114"} > +box.space.memtx:insert{114, 'tuple 114'} > - > - [114, 'tuple 114'] > -box.space.vinyl:insert{110, "tuple 110"} > +box.space.vinyl:insert{110, 'tuple 110'} > - > - [110, 'tuple 110'] > -box.space.vinyl:insert{111, "tuple 111"} > +box.space.vinyl:insert{111, 'tuple 111'} > - > - [111, 'tuple 111'] > -box.space.vinyl:insert{112, "tuple 112"} > +box.space.vinyl:insert{112, 'tuple 112'} > - > - [112, 'tuple 112'] > -box.space.vinyl:insert{113, "tuple 113"} > +box.space.vinyl:insert{113, 'tuple 113'} > - > - [113, 'tuple 113'] > -box.space.vinyl:insert{114, "tuple 114"} > +box.space.vinyl:insert{114, 'tuple 114'} > - > - [114, 'tuple 114'] > box.space.memtx:select{110} > @@ -1474,34 +1474,34 @@ box.space.vinyl:select{113} > box.space.vinyl:select{114} > - > - [114, 'tuple 114'] > -box.space.memtx:insert{115, "tuple 115"} > +box.space.memtx:insert{115, 'tuple 115'} > - > - [115, 'tuple 115'] > -box.space.memtx:insert{116, "tuple 116"} > +box.space.memtx:insert{116, 'tuple 116'} > - > - [116, 'tuple 116'] > -box.space.memtx:insert{117, "tuple 117"} > +box.space.memtx:insert{117, 'tuple 117'} > - > - [117, 'tuple 117'] > -box.space.memtx:insert{118, "tuple 118"} > +box.space.memtx:insert{118, 'tuple 118'} > - > - [118, 'tuple 118'] > -box.space.memtx:insert{119, "tuple 119"} > +box.space.memtx:insert{119, 'tuple 119'} > - > - [119, 'tuple 119'] > -box.space.vinyl:insert{115, "tuple 115"} > +box.space.vinyl:insert{115, 'tuple 115'} > - > - [115, 'tuple 115'] > -box.space.vinyl:insert{116, "tuple 116"} > +box.space.vinyl:insert{116, 'tuple 116'} > - > - [116, 'tuple 116'] > -box.space.vinyl:insert{117, "tuple 117"} > +box.space.vinyl:insert{117, 'tuple 117'} > - > - [117, 'tuple 117'] > -box.space.vinyl:insert{118, "tuple 118"} > +box.space.vinyl:insert{118, 'tuple 118'} > - > - [118, 'tuple 118'] > -box.space.vinyl:insert{119, "tuple 119"} > +box.space.vinyl:insert{119, 'tuple 119'} > - > - [119, 'tuple 119'] > box.space.memtx:select{115} > @@ -1541,34 +1541,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 6 iteration > -box.space.memtx:insert{120, "tuple 120"} > +box.space.memtx:insert{120, 'tuple 120'} > - > - [120, 'tuple 120'] > -box.space.memtx:insert{121, "tuple 121"} > +box.space.memtx:insert{121, 'tuple 121'} > - > - [121, 'tuple 121'] > -box.space.memtx:insert{122, "tuple 122"} > +box.space.memtx:insert{122, 'tuple 122'} > - > - [122, 'tuple 122'] > -box.space.memtx:insert{123, "tuple 123"} > +box.space.memtx:insert{123, 'tuple 123'} > - > - [123, 'tuple 123'] > -box.space.memtx:insert{124, "tuple 124"} > +box.space.memtx:insert{124, 'tuple 124'} > - > - [124, 'tuple 124'] > -box.space.vinyl:insert{120, "tuple 120"} > +box.space.vinyl:insert{120, 'tuple 120'} > - > - [120, 'tuple 120'] > -box.space.vinyl:insert{121, "tuple 121"} > +box.space.vinyl:insert{121, 'tuple 121'} > - > - [121, 'tuple 121'] > -box.space.vinyl:insert{122, "tuple 122"} > +box.space.vinyl:insert{122, 'tuple 122'} > - > - [122, 'tuple 122'] > -box.space.vinyl:insert{123, "tuple 123"} > +box.space.vinyl:insert{123, 'tuple 123'} > - > - [123, 'tuple 123'] > -box.space.vinyl:insert{124, "tuple 124"} > +box.space.vinyl:insert{124, 'tuple 124'} > - > - [124, 'tuple 124'] > box.space.memtx:select{120} > @@ -1601,34 +1601,34 @@ box.space.vinyl:select{123} > box.space.vinyl:select{124} > - > - [124, 'tuple 124'] > -box.space.memtx:insert{125, "tuple 125"} > +box.space.memtx:insert{125, 'tuple 125'} > - > - [125, 'tuple 125'] > -box.space.memtx:insert{126, "tuple 126"} > +box.space.memtx:insert{126, 'tuple 126'} > - > - [126, 'tuple 126'] > -box.space.memtx:insert{127, "tuple 127"} > +box.space.memtx:insert{127, 'tuple 127'} > - > - [127, 'tuple 127'] > -box.space.memtx:insert{128, "tuple 128"} > +box.space.memtx:insert{128, 'tuple 128'} > - > - [128, 'tuple 128'] > -box.space.memtx:insert{129, "tuple 129"} > +box.space.memtx:insert{129, 'tuple 129'} > - > - [129, 'tuple 129'] > -box.space.vinyl:insert{125, "tuple 125"} > +box.space.vinyl:insert{125, 'tuple 125'} > - > - [125, 'tuple 125'] > -box.space.vinyl:insert{126, "tuple 126"} > +box.space.vinyl:insert{126, 'tuple 126'} > - > - [126, 'tuple 126'] > -box.space.vinyl:insert{127, "tuple 127"} > +box.space.vinyl:insert{127, 'tuple 127'} > - > - [127, 'tuple 127'] > -box.space.vinyl:insert{128, "tuple 128"} > +box.space.vinyl:insert{128, 'tuple 128'} > - > - [128, 'tuple 128'] > -box.space.vinyl:insert{129, "tuple 129"} > +box.space.vinyl:insert{129, 'tuple 129'} > - > - [129, 'tuple 129'] > box.space.memtx:select{125} > @@ -1667,34 +1667,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{130, "tuple 130"} > +box.space.memtx:insert{130, 'tuple 130'} > - > - [130, 'tuple 130'] > -box.space.memtx:insert{131, "tuple 131"} > +box.space.memtx:insert{131, 'tuple 131'} > - > - [131, 'tuple 131'] > -box.space.memtx:insert{132, "tuple 132"} > +box.space.memtx:insert{132, 'tuple 132'} > - > - [132, 'tuple 132'] > -box.space.memtx:insert{133, "tuple 133"} > +box.space.memtx:insert{133, 'tuple 133'} > - > - [133, 'tuple 133'] > -box.space.memtx:insert{134, "tuple 134"} > +box.space.memtx:insert{134, 'tuple 134'} > - > - [134, 'tuple 134'] > -box.space.vinyl:insert{130, "tuple 130"} > +box.space.vinyl:insert{130, 'tuple 130'} > - > - [130, 'tuple 130'] > -box.space.vinyl:insert{131, "tuple 131"} > +box.space.vinyl:insert{131, 'tuple 131'} > - > - [131, 'tuple 131'] > -box.space.vinyl:insert{132, "tuple 132"} > +box.space.vinyl:insert{132, 'tuple 132'} > - > - [132, 'tuple 132'] > -box.space.vinyl:insert{133, "tuple 133"} > +box.space.vinyl:insert{133, 'tuple 133'} > - > - [133, 'tuple 133'] > -box.space.vinyl:insert{134, "tuple 134"} > +box.space.vinyl:insert{134, 'tuple 134'} > - > - [134, 'tuple 134'] > box.space.memtx:select{130} > @@ -1727,34 +1727,34 @@ box.space.vinyl:select{133} > box.space.vinyl:select{134} > - > - [134, 'tuple 134'] > -box.space.memtx:insert{135, "tuple 135"} > +box.space.memtx:insert{135, 'tuple 135'} > - > - [135, 'tuple 135'] > -box.space.memtx:insert{136, "tuple 136"} > +box.space.memtx:insert{136, 'tuple 136'} > - > - [136, 'tuple 136'] > -box.space.memtx:insert{137, "tuple 137"} > +box.space.memtx:insert{137, 'tuple 137'} > - > - [137, 'tuple 137'] > -box.space.memtx:insert{138, "tuple 138"} > +box.space.memtx:insert{138, 'tuple 138'} > - > - [138, 'tuple 138'] > -box.space.memtx:insert{139, "tuple 139"} > +box.space.memtx:insert{139, 'tuple 139'} > - > - [139, 'tuple 139'] > -box.space.vinyl:insert{135, "tuple 135"} > +box.space.vinyl:insert{135, 'tuple 135'} > - > - [135, 'tuple 135'] > -box.space.vinyl:insert{136, "tuple 136"} > +box.space.vinyl:insert{136, 'tuple 136'} > - > - [136, 'tuple 136'] > -box.space.vinyl:insert{137, "tuple 137"} > +box.space.vinyl:insert{137, 'tuple 137'} > - > - [137, 'tuple 137'] > -box.space.vinyl:insert{138, "tuple 138"} > +box.space.vinyl:insert{138, 'tuple 138'} > - > - [138, 'tuple 138'] > -box.space.vinyl:insert{139, "tuple 139"} > +box.space.vinyl:insert{139, 'tuple 139'} > - > - [139, 'tuple 139'] > box.space.memtx:select{135} > @@ -1794,34 +1794,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 7 iteration > -box.space.memtx:insert{140, "tuple 140"} > +box.space.memtx:insert{140, 'tuple 140'} > - > - [140, 'tuple 140'] > -box.space.memtx:insert{141, "tuple 141"} > +box.space.memtx:insert{141, 'tuple 141'} > - > - [141, 'tuple 141'] > -box.space.memtx:insert{142, "tuple 142"} > +box.space.memtx:insert{142, 'tuple 142'} > - > - [142, 'tuple 142'] > -box.space.memtx:insert{143, "tuple 143"} > +box.space.memtx:insert{143, 'tuple 143'} > - > - [143, 'tuple 143'] > -box.space.memtx:insert{144, "tuple 144"} > +box.space.memtx:insert{144, 'tuple 144'} > - > - [144, 'tuple 144'] > -box.space.vinyl:insert{140, "tuple 140"} > +box.space.vinyl:insert{140, 'tuple 140'} > - > - [140, 'tuple 140'] > -box.space.vinyl:insert{141, "tuple 141"} > +box.space.vinyl:insert{141, 'tuple 141'} > - > - [141, 'tuple 141'] > -box.space.vinyl:insert{142, "tuple 142"} > +box.space.vinyl:insert{142, 'tuple 142'} > - > - [142, 'tuple 142'] > -box.space.vinyl:insert{143, "tuple 143"} > +box.space.vinyl:insert{143, 'tuple 143'} > - > - [143, 'tuple 143'] > -box.space.vinyl:insert{144, "tuple 144"} > +box.space.vinyl:insert{144, 'tuple 144'} > - > - [144, 'tuple 144'] > box.space.memtx:select{140} > @@ -1854,34 +1854,34 @@ box.space.vinyl:select{143} > box.space.vinyl:select{144} > - > - [144, 'tuple 144'] > -box.space.memtx:insert{145, "tuple 145"} > +box.space.memtx:insert{145, 'tuple 145'} > - > - [145, 'tuple 145'] > -box.space.memtx:insert{146, "tuple 146"} > +box.space.memtx:insert{146, 'tuple 146'} > - > - [146, 'tuple 146'] > -box.space.memtx:insert{147, "tuple 147"} > +box.space.memtx:insert{147, 'tuple 147'} > - > - [147, 'tuple 147'] > -box.space.memtx:insert{148, "tuple 148"} > +box.space.memtx:insert{148, 'tuple 148'} > - > - [148, 'tuple 148'] > -box.space.memtx:insert{149, "tuple 149"} > +box.space.memtx:insert{149, 'tuple 149'} > - > - [149, 'tuple 149'] > -box.space.vinyl:insert{145, "tuple 145"} > +box.space.vinyl:insert{145, 'tuple 145'} > - > - [145, 'tuple 145'] > -box.space.vinyl:insert{146, "tuple 146"} > +box.space.vinyl:insert{146, 'tuple 146'} > - > - [146, 'tuple 146'] > -box.space.vinyl:insert{147, "tuple 147"} > +box.space.vinyl:insert{147, 'tuple 147'} > - > - [147, 'tuple 147'] > -box.space.vinyl:insert{148, "tuple 148"} > +box.space.vinyl:insert{148, 'tuple 148'} > - > - [148, 'tuple 148'] > -box.space.vinyl:insert{149, "tuple 149"} > +box.space.vinyl:insert{149, 'tuple 149'} > - > - [149, 'tuple 149'] > box.space.memtx:select{145} > @@ -1920,34 +1920,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{150, "tuple 150"} > +box.space.memtx:insert{150, 'tuple 150'} > - > - [150, 'tuple 150'] > -box.space.memtx:insert{151, "tuple 151"} > +box.space.memtx:insert{151, 'tuple 151'} > - > - [151, 'tuple 151'] > -box.space.memtx:insert{152, "tuple 152"} > +box.space.memtx:insert{152, 'tuple 152'} > - > - [152, 'tuple 152'] > -box.space.memtx:insert{153, "tuple 153"} > +box.space.memtx:insert{153, 'tuple 153'} > - > - [153, 'tuple 153'] > -box.space.memtx:insert{154, "tuple 154"} > +box.space.memtx:insert{154, 'tuple 154'} > - > - [154, 'tuple 154'] > -box.space.vinyl:insert{150, "tuple 150"} > +box.space.vinyl:insert{150, 'tuple 150'} > - > - [150, 'tuple 150'] > -box.space.vinyl:insert{151, "tuple 151"} > +box.space.vinyl:insert{151, 'tuple 151'} > - > - [151, 'tuple 151'] > -box.space.vinyl:insert{152, "tuple 152"} > +box.space.vinyl:insert{152, 'tuple 152'} > - > - [152, 'tuple 152'] > -box.space.vinyl:insert{153, "tuple 153"} > +box.space.vinyl:insert{153, 'tuple 153'} > - > - [153, 'tuple 153'] > -box.space.vinyl:insert{154, "tuple 154"} > +box.space.vinyl:insert{154, 'tuple 154'} > - > - [154, 'tuple 154'] > box.space.memtx:select{150} > @@ -1980,34 +1980,34 @@ box.space.vinyl:select{153} > box.space.vinyl:select{154} > - > - [154, 'tuple 154'] > -box.space.memtx:insert{155, "tuple 155"} > +box.space.memtx:insert{155, 'tuple 155'} > - > - [155, 'tuple 155'] > -box.space.memtx:insert{156, "tuple 156"} > +box.space.memtx:insert{156, 'tuple 156'} > - > - [156, 'tuple 156'] > -box.space.memtx:insert{157, "tuple 157"} > +box.space.memtx:insert{157, 'tuple 157'} > - > - [157, 'tuple 157'] > -box.space.memtx:insert{158, "tuple 158"} > +box.space.memtx:insert{158, 'tuple 158'} > - > - [158, 'tuple 158'] > -box.space.memtx:insert{159, "tuple 159"} > +box.space.memtx:insert{159, 'tuple 159'} > - > - [159, 'tuple 159'] > -box.space.vinyl:insert{155, "tuple 155"} > +box.space.vinyl:insert{155, 'tuple 155'} > - > - [155, 'tuple 155'] > -box.space.vinyl:insert{156, "tuple 156"} > +box.space.vinyl:insert{156, 'tuple 156'} > - > - [156, 'tuple 156'] > -box.space.vinyl:insert{157, "tuple 157"} > +box.space.vinyl:insert{157, 'tuple 157'} > - > - [157, 'tuple 157'] > -box.space.vinyl:insert{158, "tuple 158"} > +box.space.vinyl:insert{158, 'tuple 158'} > - > - [158, 'tuple 158'] > -box.space.vinyl:insert{159, "tuple 159"} > +box.space.vinyl:insert{159, 'tuple 159'} > - > - [159, 'tuple 159'] > box.space.memtx:select{155} > @@ -2047,34 +2047,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 8 iteration > -box.space.memtx:insert{160, "tuple 160"} > +box.space.memtx:insert{160, 'tuple 160'} > - > - [160, 'tuple 160'] > -box.space.memtx:insert{161, "tuple 161"} > +box.space.memtx:insert{161, 'tuple 161'} > - > - [161, 'tuple 161'] > -box.space.memtx:insert{162, "tuple 162"} > +box.space.memtx:insert{162, 'tuple 162'} > - > - [162, 'tuple 162'] > -box.space.memtx:insert{163, "tuple 163"} > +box.space.memtx:insert{163, 'tuple 163'} > - > - [163, 'tuple 163'] > -box.space.memtx:insert{164, "tuple 164"} > +box.space.memtx:insert{164, 'tuple 164'} > - > - [164, 'tuple 164'] > -box.space.vinyl:insert{160, "tuple 160"} > +box.space.vinyl:insert{160, 'tuple 160'} > - > - [160, 'tuple 160'] > -box.space.vinyl:insert{161, "tuple 161"} > +box.space.vinyl:insert{161, 'tuple 161'} > - > - [161, 'tuple 161'] > -box.space.vinyl:insert{162, "tuple 162"} > +box.space.vinyl:insert{162, 'tuple 162'} > - > - [162, 'tuple 162'] > -box.space.vinyl:insert{163, "tuple 163"} > +box.space.vinyl:insert{163, 'tuple 163'} > - > - [163, 'tuple 163'] > -box.space.vinyl:insert{164, "tuple 164"} > +box.space.vinyl:insert{164, 'tuple 164'} > - > - [164, 'tuple 164'] > box.space.memtx:select{160} > @@ -2107,34 +2107,34 @@ box.space.vinyl:select{163} > box.space.vinyl:select{164} > - > - [164, 'tuple 164'] > -box.space.memtx:insert{165, "tuple 165"} > +box.space.memtx:insert{165, 'tuple 165'} > - > - [165, 'tuple 165'] > -box.space.memtx:insert{166, "tuple 166"} > +box.space.memtx:insert{166, 'tuple 166'} > - > - [166, 'tuple 166'] > -box.space.memtx:insert{167, "tuple 167"} > +box.space.memtx:insert{167, 'tuple 167'} > - > - [167, 'tuple 167'] > -box.space.memtx:insert{168, "tuple 168"} > +box.space.memtx:insert{168, 'tuple 168'} > - > - [168, 'tuple 168'] > -box.space.memtx:insert{169, "tuple 169"} > +box.space.memtx:insert{169, 'tuple 169'} > - > - [169, 'tuple 169'] > -box.space.vinyl:insert{165, "tuple 165"} > +box.space.vinyl:insert{165, 'tuple 165'} > - > - [165, 'tuple 165'] > -box.space.vinyl:insert{166, "tuple 166"} > +box.space.vinyl:insert{166, 'tuple 166'} > - > - [166, 'tuple 166'] > -box.space.vinyl:insert{167, "tuple 167"} > +box.space.vinyl:insert{167, 'tuple 167'} > - > - [167, 'tuple 167'] > -box.space.vinyl:insert{168, "tuple 168"} > +box.space.vinyl:insert{168, 'tuple 168'} > - > - [168, 'tuple 168'] > -box.space.vinyl:insert{169, "tuple 169"} > +box.space.vinyl:insert{169, 'tuple 169'} > - > - [169, 'tuple 169'] > box.space.memtx:select{165} > @@ -2173,34 +2173,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{170, "tuple 170"} > +box.space.memtx:insert{170, 'tuple 170'} > - > - [170, 'tuple 170'] > -box.space.memtx:insert{171, "tuple 171"} > +box.space.memtx:insert{171, 'tuple 171'} > - > - [171, 'tuple 171'] > -box.space.memtx:insert{172, "tuple 172"} > +box.space.memtx:insert{172, 'tuple 172'} > - > - [172, 'tuple 172'] > -box.space.memtx:insert{173, "tuple 173"} > +box.space.memtx:insert{173, 'tuple 173'} > - > - [173, 'tuple 173'] > -box.space.memtx:insert{174, "tuple 174"} > +box.space.memtx:insert{174, 'tuple 174'} > - > - [174, 'tuple 174'] > -box.space.vinyl:insert{170, "tuple 170"} > +box.space.vinyl:insert{170, 'tuple 170'} > - > - [170, 'tuple 170'] > -box.space.vinyl:insert{171, "tuple 171"} > +box.space.vinyl:insert{171, 'tuple 171'} > - > - [171, 'tuple 171'] > -box.space.vinyl:insert{172, "tuple 172"} > +box.space.vinyl:insert{172, 'tuple 172'} > - > - [172, 'tuple 172'] > -box.space.vinyl:insert{173, "tuple 173"} > +box.space.vinyl:insert{173, 'tuple 173'} > - > - [173, 'tuple 173'] > -box.space.vinyl:insert{174, "tuple 174"} > +box.space.vinyl:insert{174, 'tuple 174'} > - > - [174, 'tuple 174'] > box.space.memtx:select{170} > @@ -2233,34 +2233,34 @@ box.space.vinyl:select{173} > box.space.vinyl:select{174} > - > - [174, 'tuple 174'] > -box.space.memtx:insert{175, "tuple 175"} > +box.space.memtx:insert{175, 'tuple 175'} > - > - [175, 'tuple 175'] > -box.space.memtx:insert{176, "tuple 176"} > +box.space.memtx:insert{176, 'tuple 176'} > - > - [176, 'tuple 176'] > -box.space.memtx:insert{177, "tuple 177"} > +box.space.memtx:insert{177, 'tuple 177'} > - > - [177, 'tuple 177'] > -box.space.memtx:insert{178, "tuple 178"} > +box.space.memtx:insert{178, 'tuple 178'} > - > - [178, 'tuple 178'] > -box.space.memtx:insert{179, "tuple 179"} > +box.space.memtx:insert{179, 'tuple 179'} > - > - [179, 'tuple 179'] > -box.space.vinyl:insert{175, "tuple 175"} > +box.space.vinyl:insert{175, 'tuple 175'} > - > - [175, 'tuple 175'] > -box.space.vinyl:insert{176, "tuple 176"} > +box.space.vinyl:insert{176, 'tuple 176'} > - > - [176, 'tuple 176'] > -box.space.vinyl:insert{177, "tuple 177"} > +box.space.vinyl:insert{177, 'tuple 177'} > - > - [177, 'tuple 177'] > -box.space.vinyl:insert{178, "tuple 178"} > +box.space.vinyl:insert{178, 'tuple 178'} > - > - [178, 'tuple 178'] > -box.space.vinyl:insert{179, "tuple 179"} > +box.space.vinyl:insert{179, 'tuple 179'} > - > - [179, 'tuple 179'] > box.space.memtx:select{175} > @@ -2300,34 +2300,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 9 iteration > -box.space.memtx:insert{180, "tuple 180"} > +box.space.memtx:insert{180, 'tuple 180'} > - > - [180, 'tuple 180'] > -box.space.memtx:insert{181, "tuple 181"} > +box.space.memtx:insert{181, 'tuple 181'} > - > - [181, 'tuple 181'] > -box.space.memtx:insert{182, "tuple 182"} > +box.space.memtx:insert{182, 'tuple 182'} > - > - [182, 'tuple 182'] > -box.space.memtx:insert{183, "tuple 183"} > +box.space.memtx:insert{183, 'tuple 183'} > - > - [183, 'tuple 183'] > -box.space.memtx:insert{184, "tuple 184"} > +box.space.memtx:insert{184, 'tuple 184'} > - > - [184, 'tuple 184'] > -box.space.vinyl:insert{180, "tuple 180"} > +box.space.vinyl:insert{180, 'tuple 180'} > - > - [180, 'tuple 180'] > -box.space.vinyl:insert{181, "tuple 181"} > +box.space.vinyl:insert{181, 'tuple 181'} > - > - [181, 'tuple 181'] > -box.space.vinyl:insert{182, "tuple 182"} > +box.space.vinyl:insert{182, 'tuple 182'} > - > - [182, 'tuple 182'] > -box.space.vinyl:insert{183, "tuple 183"} > +box.space.vinyl:insert{183, 'tuple 183'} > - > - [183, 'tuple 183'] > -box.space.vinyl:insert{184, "tuple 184"} > +box.space.vinyl:insert{184, 'tuple 184'} > - > - [184, 'tuple 184'] > box.space.memtx:select{180} > @@ -2360,34 +2360,34 @@ box.space.vinyl:select{183} > box.space.vinyl:select{184} > - > - [184, 'tuple 184'] > -box.space.memtx:insert{185, "tuple 185"} > +box.space.memtx:insert{185, 'tuple 185'} > - > - [185, 'tuple 185'] > -box.space.memtx:insert{186, "tuple 186"} > +box.space.memtx:insert{186, 'tuple 186'} > - > - [186, 'tuple 186'] > -box.space.memtx:insert{187, "tuple 187"} > +box.space.memtx:insert{187, 'tuple 187'} > - > - [187, 'tuple 187'] > -box.space.memtx:insert{188, "tuple 188"} > +box.space.memtx:insert{188, 'tuple 188'} > - > - [188, 'tuple 188'] > -box.space.memtx:insert{189, "tuple 189"} > +box.space.memtx:insert{189, 'tuple 189'} > - > - [189, 'tuple 189'] > -box.space.vinyl:insert{185, "tuple 185"} > +box.space.vinyl:insert{185, 'tuple 185'} > - > - [185, 'tuple 185'] > -box.space.vinyl:insert{186, "tuple 186"} > +box.space.vinyl:insert{186, 'tuple 186'} > - > - [186, 'tuple 186'] > -box.space.vinyl:insert{187, "tuple 187"} > +box.space.vinyl:insert{187, 'tuple 187'} > - > - [187, 'tuple 187'] > -box.space.vinyl:insert{188, "tuple 188"} > +box.space.vinyl:insert{188, 'tuple 188'} > - > - [188, 'tuple 188'] > -box.space.vinyl:insert{189, "tuple 189"} > +box.space.vinyl:insert{189, 'tuple 189'} > - > - [189, 'tuple 189'] > box.space.memtx:select{185} > @@ -2426,34 +2426,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{190, "tuple 190"} > +box.space.memtx:insert{190, 'tuple 190'} > - > - [190, 'tuple 190'] > -box.space.memtx:insert{191, "tuple 191"} > +box.space.memtx:insert{191, 'tuple 191'} > - > - [191, 'tuple 191'] > -box.space.memtx:insert{192, "tuple 192"} > +box.space.memtx:insert{192, 'tuple 192'} > - > - [192, 'tuple 192'] > -box.space.memtx:insert{193, "tuple 193"} > +box.space.memtx:insert{193, 'tuple 193'} > - > - [193, 'tuple 193'] > -box.space.memtx:insert{194, "tuple 194"} > +box.space.memtx:insert{194, 'tuple 194'} > - > - [194, 'tuple 194'] > -box.space.vinyl:insert{190, "tuple 190"} > +box.space.vinyl:insert{190, 'tuple 190'} > - > - [190, 'tuple 190'] > -box.space.vinyl:insert{191, "tuple 191"} > +box.space.vinyl:insert{191, 'tuple 191'} > - > - [191, 'tuple 191'] > -box.space.vinyl:insert{192, "tuple 192"} > +box.space.vinyl:insert{192, 'tuple 192'} > - > - [192, 'tuple 192'] > -box.space.vinyl:insert{193, "tuple 193"} > +box.space.vinyl:insert{193, 'tuple 193'} > - > - [193, 'tuple 193'] > -box.space.vinyl:insert{194, "tuple 194"} > +box.space.vinyl:insert{194, 'tuple 194'} > - > - [194, 'tuple 194'] > box.space.memtx:select{190} > @@ -2486,34 +2486,34 @@ box.space.vinyl:select{193} > box.space.vinyl:select{194} > - > - [194, 'tuple 194'] > -box.space.memtx:insert{195, "tuple 195"} > +box.space.memtx:insert{195, 'tuple 195'} > - > - [195, 'tuple 195'] > -box.space.memtx:insert{196, "tuple 196"} > +box.space.memtx:insert{196, 'tuple 196'} > - > - [196, 'tuple 196'] > -box.space.memtx:insert{197, "tuple 197"} > +box.space.memtx:insert{197, 'tuple 197'} > - > - [197, 'tuple 197'] > -box.space.memtx:insert{198, "tuple 198"} > +box.space.memtx:insert{198, 'tuple 198'} > - > - [198, 'tuple 198'] > -box.space.memtx:insert{199, "tuple 199"} > +box.space.memtx:insert{199, 'tuple 199'} > - > - [199, 'tuple 199'] > -box.space.vinyl:insert{195, "tuple 195"} > +box.space.vinyl:insert{195, 'tuple 195'} > - > - [195, 'tuple 195'] > -box.space.vinyl:insert{196, "tuple 196"} > +box.space.vinyl:insert{196, 'tuple 196'} > - > - [196, 'tuple 196'] > -box.space.vinyl:insert{197, "tuple 197"} > +box.space.vinyl:insert{197, 'tuple 197'} > - > - [197, 'tuple 197'] > -box.space.vinyl:insert{198, "tuple 198"} > +box.space.vinyl:insert{198, 'tuple 198'} > - > - [198, 'tuple 198'] > -box.space.vinyl:insert{199, "tuple 199"} > +box.space.vinyl:insert{199, 'tuple 199'} > - > - [199, 'tuple 199'] > box.space.memtx:select{195} > @@ -2553,34 +2553,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 10 iteration > -box.space.memtx:insert{200, "tuple 200"} > +box.space.memtx:insert{200, 'tuple 200'} > - > - [200, 'tuple 200'] > -box.space.memtx:insert{201, "tuple 201"} > +box.space.memtx:insert{201, 'tuple 201'} > - > - [201, 'tuple 201'] > -box.space.memtx:insert{202, "tuple 202"} > +box.space.memtx:insert{202, 'tuple 202'} > - > - [202, 'tuple 202'] > -box.space.memtx:insert{203, "tuple 203"} > +box.space.memtx:insert{203, 'tuple 203'} > - > - [203, 'tuple 203'] > -box.space.memtx:insert{204, "tuple 204"} > +box.space.memtx:insert{204, 'tuple 204'} > - > - [204, 'tuple 204'] > -box.space.vinyl:insert{200, "tuple 200"} > +box.space.vinyl:insert{200, 'tuple 200'} > - > - [200, 'tuple 200'] > -box.space.vinyl:insert{201, "tuple 201"} > +box.space.vinyl:insert{201, 'tuple 201'} > - > - [201, 'tuple 201'] > -box.space.vinyl:insert{202, "tuple 202"} > +box.space.vinyl:insert{202, 'tuple 202'} > - > - [202, 'tuple 202'] > -box.space.vinyl:insert{203, "tuple 203"} > +box.space.vinyl:insert{203, 'tuple 203'} > - > - [203, 'tuple 203'] > -box.space.vinyl:insert{204, "tuple 204"} > +box.space.vinyl:insert{204, 'tuple 204'} > - > - [204, 'tuple 204'] > box.space.memtx:select{200} > @@ -2613,34 +2613,34 @@ box.space.vinyl:select{203} > box.space.vinyl:select{204} > - > - [204, 'tuple 204'] > -box.space.memtx:insert{205, "tuple 205"} > +box.space.memtx:insert{205, 'tuple 205'} > - > - [205, 'tuple 205'] > -box.space.memtx:insert{206, "tuple 206"} > +box.space.memtx:insert{206, 'tuple 206'} > - > - [206, 'tuple 206'] > -box.space.memtx:insert{207, "tuple 207"} > +box.space.memtx:insert{207, 'tuple 207'} > - > - [207, 'tuple 207'] > -box.space.memtx:insert{208, "tuple 208"} > +box.space.memtx:insert{208, 'tuple 208'} > - > - [208, 'tuple 208'] > -box.space.memtx:insert{209, "tuple 209"} > +box.space.memtx:insert{209, 'tuple 209'} > - > - [209, 'tuple 209'] > -box.space.vinyl:insert{205, "tuple 205"} > +box.space.vinyl:insert{205, 'tuple 205'} > - > - [205, 'tuple 205'] > -box.space.vinyl:insert{206, "tuple 206"} > +box.space.vinyl:insert{206, 'tuple 206'} > - > - [206, 'tuple 206'] > -box.space.vinyl:insert{207, "tuple 207"} > +box.space.vinyl:insert{207, 'tuple 207'} > - > - [207, 'tuple 207'] > -box.space.vinyl:insert{208, "tuple 208"} > +box.space.vinyl:insert{208, 'tuple 208'} > - > - [208, 'tuple 208'] > -box.space.vinyl:insert{209, "tuple 209"} > +box.space.vinyl:insert{209, 'tuple 209'} > - > - [209, 'tuple 209'] > box.space.memtx:select{205} > @@ -2679,34 +2679,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{210, "tuple 210"} > +box.space.memtx:insert{210, 'tuple 210'} > - > - [210, 'tuple 210'] > -box.space.memtx:insert{211, "tuple 211"} > +box.space.memtx:insert{211, 'tuple 211'} > - > - [211, 'tuple 211'] > -box.space.memtx:insert{212, "tuple 212"} > +box.space.memtx:insert{212, 'tuple 212'} > - > - [212, 'tuple 212'] > -box.space.memtx:insert{213, "tuple 213"} > +box.space.memtx:insert{213, 'tuple 213'} > - > - [213, 'tuple 213'] > -box.space.memtx:insert{214, "tuple 214"} > +box.space.memtx:insert{214, 'tuple 214'} > - > - [214, 'tuple 214'] > -box.space.vinyl:insert{210, "tuple 210"} > +box.space.vinyl:insert{210, 'tuple 210'} > - > - [210, 'tuple 210'] > -box.space.vinyl:insert{211, "tuple 211"} > +box.space.vinyl:insert{211, 'tuple 211'} > - > - [211, 'tuple 211'] > -box.space.vinyl:insert{212, "tuple 212"} > +box.space.vinyl:insert{212, 'tuple 212'} > - > - [212, 'tuple 212'] > -box.space.vinyl:insert{213, "tuple 213"} > +box.space.vinyl:insert{213, 'tuple 213'} > - > - [213, 'tuple 213'] > -box.space.vinyl:insert{214, "tuple 214"} > +box.space.vinyl:insert{214, 'tuple 214'} > - > - [214, 'tuple 214'] > box.space.memtx:select{210} > @@ -2739,34 +2739,34 @@ box.space.vinyl:select{213} > box.space.vinyl:select{214} > - > - [214, 'tuple 214'] > -box.space.memtx:insert{215, "tuple 215"} > +box.space.memtx:insert{215, 'tuple 215'} > - > - [215, 'tuple 215'] > -box.space.memtx:insert{216, "tuple 216"} > +box.space.memtx:insert{216, 'tuple 216'} > - > - [216, 'tuple 216'] > -box.space.memtx:insert{217, "tuple 217"} > +box.space.memtx:insert{217, 'tuple 217'} > - > - [217, 'tuple 217'] > -box.space.memtx:insert{218, "tuple 218"} > +box.space.memtx:insert{218, 'tuple 218'} > - > - [218, 'tuple 218'] > -box.space.memtx:insert{219, "tuple 219"} > +box.space.memtx:insert{219, 'tuple 219'} > - > - [219, 'tuple 219'] > -box.space.vinyl:insert{215, "tuple 215"} > +box.space.vinyl:insert{215, 'tuple 215'} > - > - [215, 'tuple 215'] > -box.space.vinyl:insert{216, "tuple 216"} > +box.space.vinyl:insert{216, 'tuple 216'} > - > - [216, 'tuple 216'] > -box.space.vinyl:insert{217, "tuple 217"} > +box.space.vinyl:insert{217, 'tuple 217'} > - > - [217, 'tuple 217'] > -box.space.vinyl:insert{218, "tuple 218"} > +box.space.vinyl:insert{218, 'tuple 218'} > - > - [218, 'tuple 218'] > -box.space.vinyl:insert{219, "tuple 219"} > +box.space.vinyl:insert{219, 'tuple 219'} > - > - [219, 'tuple 219'] > box.space.memtx:select{215} > @@ -2806,34 +2806,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 11 iteration > -box.space.memtx:insert{220, "tuple 220"} > +box.space.memtx:insert{220, 'tuple 220'} > - > - [220, 'tuple 220'] > -box.space.memtx:insert{221, "tuple 221"} > +box.space.memtx:insert{221, 'tuple 221'} > - > - [221, 'tuple 221'] > -box.space.memtx:insert{222, "tuple 222"} > +box.space.memtx:insert{222, 'tuple 222'} > - > - [222, 'tuple 222'] > -box.space.memtx:insert{223, "tuple 223"} > +box.space.memtx:insert{223, 'tuple 223'} > - > - [223, 'tuple 223'] > -box.space.memtx:insert{224, "tuple 224"} > +box.space.memtx:insert{224, 'tuple 224'} > - > - [224, 'tuple 224'] > -box.space.vinyl:insert{220, "tuple 220"} > +box.space.vinyl:insert{220, 'tuple 220'} > - > - [220, 'tuple 220'] > -box.space.vinyl:insert{221, "tuple 221"} > +box.space.vinyl:insert{221, 'tuple 221'} > - > - [221, 'tuple 221'] > -box.space.vinyl:insert{222, "tuple 222"} > +box.space.vinyl:insert{222, 'tuple 222'} > - > - [222, 'tuple 222'] > -box.space.vinyl:insert{223, "tuple 223"} > +box.space.vinyl:insert{223, 'tuple 223'} > - > - [223, 'tuple 223'] > -box.space.vinyl:insert{224, "tuple 224"} > +box.space.vinyl:insert{224, 'tuple 224'} > - > - [224, 'tuple 224'] > box.space.memtx:select{220} > @@ -2866,34 +2866,34 @@ box.space.vinyl:select{223} > box.space.vinyl:select{224} > - > - [224, 'tuple 224'] > -box.space.memtx:insert{225, "tuple 225"} > +box.space.memtx:insert{225, 'tuple 225'} > - > - [225, 'tuple 225'] > -box.space.memtx:insert{226, "tuple 226"} > +box.space.memtx:insert{226, 'tuple 226'} > - > - [226, 'tuple 226'] > -box.space.memtx:insert{227, "tuple 227"} > +box.space.memtx:insert{227, 'tuple 227'} > - > - [227, 'tuple 227'] > -box.space.memtx:insert{228, "tuple 228"} > +box.space.memtx:insert{228, 'tuple 228'} > - > - [228, 'tuple 228'] > -box.space.memtx:insert{229, "tuple 229"} > +box.space.memtx:insert{229, 'tuple 229'} > - > - [229, 'tuple 229'] > -box.space.vinyl:insert{225, "tuple 225"} > +box.space.vinyl:insert{225, 'tuple 225'} > - > - [225, 'tuple 225'] > -box.space.vinyl:insert{226, "tuple 226"} > +box.space.vinyl:insert{226, 'tuple 226'} > - > - [226, 'tuple 226'] > -box.space.vinyl:insert{227, "tuple 227"} > +box.space.vinyl:insert{227, 'tuple 227'} > - > - [227, 'tuple 227'] > -box.space.vinyl:insert{228, "tuple 228"} > +box.space.vinyl:insert{228, 'tuple 228'} > - > - [228, 'tuple 228'] > -box.space.vinyl:insert{229, "tuple 229"} > +box.space.vinyl:insert{229, 'tuple 229'} > - > - [229, 'tuple 229'] > box.space.memtx:select{225} > @@ -2932,34 +2932,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{230, "tuple 230"} > +box.space.memtx:insert{230, 'tuple 230'} > - > - [230, 'tuple 230'] > -box.space.memtx:insert{231, "tuple 231"} > +box.space.memtx:insert{231, 'tuple 231'} > - > - [231, 'tuple 231'] > -box.space.memtx:insert{232, "tuple 232"} > +box.space.memtx:insert{232, 'tuple 232'} > - > - [232, 'tuple 232'] > -box.space.memtx:insert{233, "tuple 233"} > +box.space.memtx:insert{233, 'tuple 233'} > - > - [233, 'tuple 233'] > -box.space.memtx:insert{234, "tuple 234"} > +box.space.memtx:insert{234, 'tuple 234'} > - > - [234, 'tuple 234'] > -box.space.vinyl:insert{230, "tuple 230"} > +box.space.vinyl:insert{230, 'tuple 230'} > - > - [230, 'tuple 230'] > -box.space.vinyl:insert{231, "tuple 231"} > +box.space.vinyl:insert{231, 'tuple 231'} > - > - [231, 'tuple 231'] > -box.space.vinyl:insert{232, "tuple 232"} > +box.space.vinyl:insert{232, 'tuple 232'} > - > - [232, 'tuple 232'] > -box.space.vinyl:insert{233, "tuple 233"} > +box.space.vinyl:insert{233, 'tuple 233'} > - > - [233, 'tuple 233'] > -box.space.vinyl:insert{234, "tuple 234"} > +box.space.vinyl:insert{234, 'tuple 234'} > - > - [234, 'tuple 234'] > box.space.memtx:select{230} > @@ -2992,34 +2992,34 @@ box.space.vinyl:select{233} > box.space.vinyl:select{234} > - > - [234, 'tuple 234'] > -box.space.memtx:insert{235, "tuple 235"} > +box.space.memtx:insert{235, 'tuple 235'} > - > - [235, 'tuple 235'] > -box.space.memtx:insert{236, "tuple 236"} > +box.space.memtx:insert{236, 'tuple 236'} > - > - [236, 'tuple 236'] > -box.space.memtx:insert{237, "tuple 237"} > +box.space.memtx:insert{237, 'tuple 237'} > - > - [237, 'tuple 237'] > -box.space.memtx:insert{238, "tuple 238"} > +box.space.memtx:insert{238, 'tuple 238'} > - > - [238, 'tuple 238'] > -box.space.memtx:insert{239, "tuple 239"} > +box.space.memtx:insert{239, 'tuple 239'} > - > - [239, 'tuple 239'] > -box.space.vinyl:insert{235, "tuple 235"} > +box.space.vinyl:insert{235, 'tuple 235'} > - > - [235, 'tuple 235'] > -box.space.vinyl:insert{236, "tuple 236"} > +box.space.vinyl:insert{236, 'tuple 236'} > - > - [236, 'tuple 236'] > -box.space.vinyl:insert{237, "tuple 237"} > +box.space.vinyl:insert{237, 'tuple 237'} > - > - [237, 'tuple 237'] > -box.space.vinyl:insert{238, "tuple 238"} > +box.space.vinyl:insert{238, 'tuple 238'} > - > - [238, 'tuple 238'] > -box.space.vinyl:insert{239, "tuple 239"} > +box.space.vinyl:insert{239, 'tuple 239'} > - > - [239, 'tuple 239'] > box.space.memtx:select{235} > @@ -3059,34 +3059,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 12 iteration > -box.space.memtx:insert{240, "tuple 240"} > +box.space.memtx:insert{240, 'tuple 240'} > - > - [240, 'tuple 240'] > -box.space.memtx:insert{241, "tuple 241"} > +box.space.memtx:insert{241, 'tuple 241'} > - > - [241, 'tuple 241'] > -box.space.memtx:insert{242, "tuple 242"} > +box.space.memtx:insert{242, 'tuple 242'} > - > - [242, 'tuple 242'] > -box.space.memtx:insert{243, "tuple 243"} > +box.space.memtx:insert{243, 'tuple 243'} > - > - [243, 'tuple 243'] > -box.space.memtx:insert{244, "tuple 244"} > +box.space.memtx:insert{244, 'tuple 244'} > - > - [244, 'tuple 244'] > -box.space.vinyl:insert{240, "tuple 240"} > +box.space.vinyl:insert{240, 'tuple 240'} > - > - [240, 'tuple 240'] > -box.space.vinyl:insert{241, "tuple 241"} > +box.space.vinyl:insert{241, 'tuple 241'} > - > - [241, 'tuple 241'] > -box.space.vinyl:insert{242, "tuple 242"} > +box.space.vinyl:insert{242, 'tuple 242'} > - > - [242, 'tuple 242'] > -box.space.vinyl:insert{243, "tuple 243"} > +box.space.vinyl:insert{243, 'tuple 243'} > - > - [243, 'tuple 243'] > -box.space.vinyl:insert{244, "tuple 244"} > +box.space.vinyl:insert{244, 'tuple 244'} > - > - [244, 'tuple 244'] > box.space.memtx:select{240} > @@ -3119,34 +3119,34 @@ box.space.vinyl:select{243} > box.space.vinyl:select{244} > - > - [244, 'tuple 244'] > -box.space.memtx:insert{245, "tuple 245"} > +box.space.memtx:insert{245, 'tuple 245'} > - > - [245, 'tuple 245'] > -box.space.memtx:insert{246, "tuple 246"} > +box.space.memtx:insert{246, 'tuple 246'} > - > - [246, 'tuple 246'] > -box.space.memtx:insert{247, "tuple 247"} > +box.space.memtx:insert{247, 'tuple 247'} > - > - [247, 'tuple 247'] > -box.space.memtx:insert{248, "tuple 248"} > +box.space.memtx:insert{248, 'tuple 248'} > - > - [248, 'tuple 248'] > -box.space.memtx:insert{249, "tuple 249"} > +box.space.memtx:insert{249, 'tuple 249'} > - > - [249, 'tuple 249'] > -box.space.vinyl:insert{245, "tuple 245"} > +box.space.vinyl:insert{245, 'tuple 245'} > - > - [245, 'tuple 245'] > -box.space.vinyl:insert{246, "tuple 246"} > +box.space.vinyl:insert{246, 'tuple 246'} > - > - [246, 'tuple 246'] > -box.space.vinyl:insert{247, "tuple 247"} > +box.space.vinyl:insert{247, 'tuple 247'} > - > - [247, 'tuple 247'] > -box.space.vinyl:insert{248, "tuple 248"} > +box.space.vinyl:insert{248, 'tuple 248'} > - > - [248, 'tuple 248'] > -box.space.vinyl:insert{249, "tuple 249"} > +box.space.vinyl:insert{249, 'tuple 249'} > - > - [249, 'tuple 249'] > box.space.memtx:select{245} > @@ -3185,34 +3185,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{250, "tuple 250"} > +box.space.memtx:insert{250, 'tuple 250'} > - > - [250, 'tuple 250'] > -box.space.memtx:insert{251, "tuple 251"} > +box.space.memtx:insert{251, 'tuple 251'} > - > - [251, 'tuple 251'] > -box.space.memtx:insert{252, "tuple 252"} > +box.space.memtx:insert{252, 'tuple 252'} > - > - [252, 'tuple 252'] > -box.space.memtx:insert{253, "tuple 253"} > +box.space.memtx:insert{253, 'tuple 253'} > - > - [253, 'tuple 253'] > -box.space.memtx:insert{254, "tuple 254"} > +box.space.memtx:insert{254, 'tuple 254'} > - > - [254, 'tuple 254'] > -box.space.vinyl:insert{250, "tuple 250"} > +box.space.vinyl:insert{250, 'tuple 250'} > - > - [250, 'tuple 250'] > -box.space.vinyl:insert{251, "tuple 251"} > +box.space.vinyl:insert{251, 'tuple 251'} > - > - [251, 'tuple 251'] > -box.space.vinyl:insert{252, "tuple 252"} > +box.space.vinyl:insert{252, 'tuple 252'} > - > - [252, 'tuple 252'] > -box.space.vinyl:insert{253, "tuple 253"} > +box.space.vinyl:insert{253, 'tuple 253'} > - > - [253, 'tuple 253'] > -box.space.vinyl:insert{254, "tuple 254"} > +box.space.vinyl:insert{254, 'tuple 254'} > - > - [254, 'tuple 254'] > box.space.memtx:select{250} > @@ -3245,34 +3245,34 @@ box.space.vinyl:select{253} > box.space.vinyl:select{254} > - > - [254, 'tuple 254'] > -box.space.memtx:insert{255, "tuple 255"} > +box.space.memtx:insert{255, 'tuple 255'} > - > - [255, 'tuple 255'] > -box.space.memtx:insert{256, "tuple 256"} > +box.space.memtx:insert{256, 'tuple 256'} > - > - [256, 'tuple 256'] > -box.space.memtx:insert{257, "tuple 257"} > +box.space.memtx:insert{257, 'tuple 257'} > - > - [257, 'tuple 257'] > -box.space.memtx:insert{258, "tuple 258"} > +box.space.memtx:insert{258, 'tuple 258'} > - > - [258, 'tuple 258'] > -box.space.memtx:insert{259, "tuple 259"} > +box.space.memtx:insert{259, 'tuple 259'} > - > - [259, 'tuple 259'] > -box.space.vinyl:insert{255, "tuple 255"} > +box.space.vinyl:insert{255, 'tuple 255'} > - > - [255, 'tuple 255'] > -box.space.vinyl:insert{256, "tuple 256"} > +box.space.vinyl:insert{256, 'tuple 256'} > - > - [256, 'tuple 256'] > -box.space.vinyl:insert{257, "tuple 257"} > +box.space.vinyl:insert{257, 'tuple 257'} > - > - [257, 'tuple 257'] > -box.space.vinyl:insert{258, "tuple 258"} > +box.space.vinyl:insert{258, 'tuple 258'} > - > - [258, 'tuple 258'] > -box.space.vinyl:insert{259, "tuple 259"} > +box.space.vinyl:insert{259, 'tuple 259'} > - > - [259, 'tuple 259'] > box.space.memtx:select{255} > @@ -3312,34 +3312,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 13 iteration > -box.space.memtx:insert{260, "tuple 260"} > +box.space.memtx:insert{260, 'tuple 260'} > - > - [260, 'tuple 260'] > -box.space.memtx:insert{261, "tuple 261"} > +box.space.memtx:insert{261, 'tuple 261'} > - > - [261, 'tuple 261'] > -box.space.memtx:insert{262, "tuple 262"} > +box.space.memtx:insert{262, 'tuple 262'} > - > - [262, 'tuple 262'] > -box.space.memtx:insert{263, "tuple 263"} > +box.space.memtx:insert{263, 'tuple 263'} > - > - [263, 'tuple 263'] > -box.space.memtx:insert{264, "tuple 264"} > +box.space.memtx:insert{264, 'tuple 264'} > - > - [264, 'tuple 264'] > -box.space.vinyl:insert{260, "tuple 260"} > +box.space.vinyl:insert{260, 'tuple 260'} > - > - [260, 'tuple 260'] > -box.space.vinyl:insert{261, "tuple 261"} > +box.space.vinyl:insert{261, 'tuple 261'} > - > - [261, 'tuple 261'] > -box.space.vinyl:insert{262, "tuple 262"} > +box.space.vinyl:insert{262, 'tuple 262'} > - > - [262, 'tuple 262'] > -box.space.vinyl:insert{263, "tuple 263"} > +box.space.vinyl:insert{263, 'tuple 263'} > - > - [263, 'tuple 263'] > -box.space.vinyl:insert{264, "tuple 264"} > +box.space.vinyl:insert{264, 'tuple 264'} > - > - [264, 'tuple 264'] > box.space.memtx:select{260} > @@ -3372,34 +3372,34 @@ box.space.vinyl:select{263} > box.space.vinyl:select{264} > - > - [264, 'tuple 264'] > -box.space.memtx:insert{265, "tuple 265"} > +box.space.memtx:insert{265, 'tuple 265'} > - > - [265, 'tuple 265'] > -box.space.memtx:insert{266, "tuple 266"} > +box.space.memtx:insert{266, 'tuple 266'} > - > - [266, 'tuple 266'] > -box.space.memtx:insert{267, "tuple 267"} > +box.space.memtx:insert{267, 'tuple 267'} > - > - [267, 'tuple 267'] > -box.space.memtx:insert{268, "tuple 268"} > +box.space.memtx:insert{268, 'tuple 268'} > - > - [268, 'tuple 268'] > -box.space.memtx:insert{269, "tuple 269"} > +box.space.memtx:insert{269, 'tuple 269'} > - > - [269, 'tuple 269'] > -box.space.vinyl:insert{265, "tuple 265"} > +box.space.vinyl:insert{265, 'tuple 265'} > - > - [265, 'tuple 265'] > -box.space.vinyl:insert{266, "tuple 266"} > +box.space.vinyl:insert{266, 'tuple 266'} > - > - [266, 'tuple 266'] > -box.space.vinyl:insert{267, "tuple 267"} > +box.space.vinyl:insert{267, 'tuple 267'} > - > - [267, 'tuple 267'] > -box.space.vinyl:insert{268, "tuple 268"} > +box.space.vinyl:insert{268, 'tuple 268'} > - > - [268, 'tuple 268'] > -box.space.vinyl:insert{269, "tuple 269"} > +box.space.vinyl:insert{269, 'tuple 269'} > - > - [269, 'tuple 269'] > box.space.memtx:select{265} > @@ -3438,34 +3438,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{270, "tuple 270"} > +box.space.memtx:insert{270, 'tuple 270'} > - > - [270, 'tuple 270'] > -box.space.memtx:insert{271, "tuple 271"} > +box.space.memtx:insert{271, 'tuple 271'} > - > - [271, 'tuple 271'] > -box.space.memtx:insert{272, "tuple 272"} > +box.space.memtx:insert{272, 'tuple 272'} > - > - [272, 'tuple 272'] > -box.space.memtx:insert{273, "tuple 273"} > +box.space.memtx:insert{273, 'tuple 273'} > - > - [273, 'tuple 273'] > -box.space.memtx:insert{274, "tuple 274"} > +box.space.memtx:insert{274, 'tuple 274'} > - > - [274, 'tuple 274'] > -box.space.vinyl:insert{270, "tuple 270"} > +box.space.vinyl:insert{270, 'tuple 270'} > - > - [270, 'tuple 270'] > -box.space.vinyl:insert{271, "tuple 271"} > +box.space.vinyl:insert{271, 'tuple 271'} > - > - [271, 'tuple 271'] > -box.space.vinyl:insert{272, "tuple 272"} > +box.space.vinyl:insert{272, 'tuple 272'} > - > - [272, 'tuple 272'] > -box.space.vinyl:insert{273, "tuple 273"} > +box.space.vinyl:insert{273, 'tuple 273'} > - > - [273, 'tuple 273'] > -box.space.vinyl:insert{274, "tuple 274"} > +box.space.vinyl:insert{274, 'tuple 274'} > - > - [274, 'tuple 274'] > box.space.memtx:select{270} > @@ -3498,34 +3498,34 @@ box.space.vinyl:select{273} > box.space.vinyl:select{274} > - > - [274, 'tuple 274'] > -box.space.memtx:insert{275, "tuple 275"} > +box.space.memtx:insert{275, 'tuple 275'} > - > - [275, 'tuple 275'] > -box.space.memtx:insert{276, "tuple 276"} > +box.space.memtx:insert{276, 'tuple 276'} > - > - [276, 'tuple 276'] > -box.space.memtx:insert{277, "tuple 277"} > +box.space.memtx:insert{277, 'tuple 277'} > - > - [277, 'tuple 277'] > -box.space.memtx:insert{278, "tuple 278"} > +box.space.memtx:insert{278, 'tuple 278'} > - > - [278, 'tuple 278'] > -box.space.memtx:insert{279, "tuple 279"} > +box.space.memtx:insert{279, 'tuple 279'} > - > - [279, 'tuple 279'] > -box.space.vinyl:insert{275, "tuple 275"} > +box.space.vinyl:insert{275, 'tuple 275'} > - > - [275, 'tuple 275'] > -box.space.vinyl:insert{276, "tuple 276"} > +box.space.vinyl:insert{276, 'tuple 276'} > - > - [276, 'tuple 276'] > -box.space.vinyl:insert{277, "tuple 277"} > +box.space.vinyl:insert{277, 'tuple 277'} > - > - [277, 'tuple 277'] > -box.space.vinyl:insert{278, "tuple 278"} > +box.space.vinyl:insert{278, 'tuple 278'} > - > - [278, 'tuple 278'] > -box.space.vinyl:insert{279, "tuple 279"} > +box.space.vinyl:insert{279, 'tuple 279'} > - > - [279, 'tuple 279'] > box.space.memtx:select{275} > @@ -3565,34 +3565,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 14 iteration > -box.space.memtx:insert{280, "tuple 280"} > +box.space.memtx:insert{280, 'tuple 280'} > - > - [280, 'tuple 280'] > -box.space.memtx:insert{281, "tuple 281"} > +box.space.memtx:insert{281, 'tuple 281'} > - > - [281, 'tuple 281'] > -box.space.memtx:insert{282, "tuple 282"} > +box.space.memtx:insert{282, 'tuple 282'} > - > - [282, 'tuple 282'] > -box.space.memtx:insert{283, "tuple 283"} > +box.space.memtx:insert{283, 'tuple 283'} > - > - [283, 'tuple 283'] > -box.space.memtx:insert{284, "tuple 284"} > +box.space.memtx:insert{284, 'tuple 284'} > - > - [284, 'tuple 284'] > -box.space.vinyl:insert{280, "tuple 280"} > +box.space.vinyl:insert{280, 'tuple 280'} > - > - [280, 'tuple 280'] > -box.space.vinyl:insert{281, "tuple 281"} > +box.space.vinyl:insert{281, 'tuple 281'} > - > - [281, 'tuple 281'] > -box.space.vinyl:insert{282, "tuple 282"} > +box.space.vinyl:insert{282, 'tuple 282'} > - > - [282, 'tuple 282'] > -box.space.vinyl:insert{283, "tuple 283"} > +box.space.vinyl:insert{283, 'tuple 283'} > - > - [283, 'tuple 283'] > -box.space.vinyl:insert{284, "tuple 284"} > +box.space.vinyl:insert{284, 'tuple 284'} > - > - [284, 'tuple 284'] > box.space.memtx:select{280} > @@ -3625,34 +3625,34 @@ box.space.vinyl:select{283} > box.space.vinyl:select{284} > - > - [284, 'tuple 284'] > -box.space.memtx:insert{285, "tuple 285"} > +box.space.memtx:insert{285, 'tuple 285'} > - > - [285, 'tuple 285'] > -box.space.memtx:insert{286, "tuple 286"} > +box.space.memtx:insert{286, 'tuple 286'} > - > - [286, 'tuple 286'] > -box.space.memtx:insert{287, "tuple 287"} > +box.space.memtx:insert{287, 'tuple 287'} > - > - [287, 'tuple 287'] > -box.space.memtx:insert{288, "tuple 288"} > +box.space.memtx:insert{288, 'tuple 288'} > - > - [288, 'tuple 288'] > -box.space.memtx:insert{289, "tuple 289"} > +box.space.memtx:insert{289, 'tuple 289'} > - > - [289, 'tuple 289'] > -box.space.vinyl:insert{285, "tuple 285"} > +box.space.vinyl:insert{285, 'tuple 285'} > - > - [285, 'tuple 285'] > -box.space.vinyl:insert{286, "tuple 286"} > +box.space.vinyl:insert{286, 'tuple 286'} > - > - [286, 'tuple 286'] > -box.space.vinyl:insert{287, "tuple 287"} > +box.space.vinyl:insert{287, 'tuple 287'} > - > - [287, 'tuple 287'] > -box.space.vinyl:insert{288, "tuple 288"} > +box.space.vinyl:insert{288, 'tuple 288'} > - > - [288, 'tuple 288'] > -box.space.vinyl:insert{289, "tuple 289"} > +box.space.vinyl:insert{289, 'tuple 289'} > - > - [289, 'tuple 289'] > box.space.memtx:select{285} > @@ -3691,34 +3691,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{290, "tuple 290"} > +box.space.memtx:insert{290, 'tuple 290'} > - > - [290, 'tuple 290'] > -box.space.memtx:insert{291, "tuple 291"} > +box.space.memtx:insert{291, 'tuple 291'} > - > - [291, 'tuple 291'] > -box.space.memtx:insert{292, "tuple 292"} > +box.space.memtx:insert{292, 'tuple 292'} > - > - [292, 'tuple 292'] > -box.space.memtx:insert{293, "tuple 293"} > +box.space.memtx:insert{293, 'tuple 293'} > - > - [293, 'tuple 293'] > -box.space.memtx:insert{294, "tuple 294"} > +box.space.memtx:insert{294, 'tuple 294'} > - > - [294, 'tuple 294'] > -box.space.vinyl:insert{290, "tuple 290"} > +box.space.vinyl:insert{290, 'tuple 290'} > - > - [290, 'tuple 290'] > -box.space.vinyl:insert{291, "tuple 291"} > +box.space.vinyl:insert{291, 'tuple 291'} > - > - [291, 'tuple 291'] > -box.space.vinyl:insert{292, "tuple 292"} > +box.space.vinyl:insert{292, 'tuple 292'} > - > - [292, 'tuple 292'] > -box.space.vinyl:insert{293, "tuple 293"} > +box.space.vinyl:insert{293, 'tuple 293'} > - > - [293, 'tuple 293'] > -box.space.vinyl:insert{294, "tuple 294"} > +box.space.vinyl:insert{294, 'tuple 294'} > - > - [294, 'tuple 294'] > box.space.memtx:select{290} > @@ -3751,34 +3751,34 @@ box.space.vinyl:select{293} > box.space.vinyl:select{294} > - > - [294, 'tuple 294'] > -box.space.memtx:insert{295, "tuple 295"} > +box.space.memtx:insert{295, 'tuple 295'} > - > - [295, 'tuple 295'] > -box.space.memtx:insert{296, "tuple 296"} > +box.space.memtx:insert{296, 'tuple 296'} > - > - [296, 'tuple 296'] > -box.space.memtx:insert{297, "tuple 297"} > +box.space.memtx:insert{297, 'tuple 297'} > - > - [297, 'tuple 297'] > -box.space.memtx:insert{298, "tuple 298"} > +box.space.memtx:insert{298, 'tuple 298'} > - > - [298, 'tuple 298'] > -box.space.memtx:insert{299, "tuple 299"} > +box.space.memtx:insert{299, 'tuple 299'} > - > - [299, 'tuple 299'] > -box.space.vinyl:insert{295, "tuple 295"} > +box.space.vinyl:insert{295, 'tuple 295'} > - > - [295, 'tuple 295'] > -box.space.vinyl:insert{296, "tuple 296"} > +box.space.vinyl:insert{296, 'tuple 296'} > - > - [296, 'tuple 296'] > -box.space.vinyl:insert{297, "tuple 297"} > +box.space.vinyl:insert{297, 'tuple 297'} > - > - [297, 'tuple 297'] > -box.space.vinyl:insert{298, "tuple 298"} > +box.space.vinyl:insert{298, 'tuple 298'} > - > - [298, 'tuple 298'] > -box.space.vinyl:insert{299, "tuple 299"} > +box.space.vinyl:insert{299, 'tuple 299'} > - > - [299, 'tuple 299'] > box.space.memtx:select{295} > @@ -3818,34 +3818,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 15 iteration > -box.space.memtx:insert{300, "tuple 300"} > +box.space.memtx:insert{300, 'tuple 300'} > - > - [300, 'tuple 300'] > -box.space.memtx:insert{301, "tuple 301"} > +box.space.memtx:insert{301, 'tuple 301'} > - > - [301, 'tuple 301'] > -box.space.memtx:insert{302, "tuple 302"} > +box.space.memtx:insert{302, 'tuple 302'} > - > - [302, 'tuple 302'] > -box.space.memtx:insert{303, "tuple 303"} > +box.space.memtx:insert{303, 'tuple 303'} > - > - [303, 'tuple 303'] > -box.space.memtx:insert{304, "tuple 304"} > +box.space.memtx:insert{304, 'tuple 304'} > - > - [304, 'tuple 304'] > -box.space.vinyl:insert{300, "tuple 300"} > +box.space.vinyl:insert{300, 'tuple 300'} > - > - [300, 'tuple 300'] > -box.space.vinyl:insert{301, "tuple 301"} > +box.space.vinyl:insert{301, 'tuple 301'} > - > - [301, 'tuple 301'] > -box.space.vinyl:insert{302, "tuple 302"} > +box.space.vinyl:insert{302, 'tuple 302'} > - > - [302, 'tuple 302'] > -box.space.vinyl:insert{303, "tuple 303"} > +box.space.vinyl:insert{303, 'tuple 303'} > - > - [303, 'tuple 303'] > -box.space.vinyl:insert{304, "tuple 304"} > +box.space.vinyl:insert{304, 'tuple 304'} > - > - [304, 'tuple 304'] > box.space.memtx:select{300} > @@ -3878,34 +3878,34 @@ box.space.vinyl:select{303} > box.space.vinyl:select{304} > - > - [304, 'tuple 304'] > -box.space.memtx:insert{305, "tuple 305"} > +box.space.memtx:insert{305, 'tuple 305'} > - > - [305, 'tuple 305'] > -box.space.memtx:insert{306, "tuple 306"} > +box.space.memtx:insert{306, 'tuple 306'} > - > - [306, 'tuple 306'] > -box.space.memtx:insert{307, "tuple 307"} > +box.space.memtx:insert{307, 'tuple 307'} > - > - [307, 'tuple 307'] > -box.space.memtx:insert{308, "tuple 308"} > +box.space.memtx:insert{308, 'tuple 308'} > - > - [308, 'tuple 308'] > -box.space.memtx:insert{309, "tuple 309"} > +box.space.memtx:insert{309, 'tuple 309'} > - > - [309, 'tuple 309'] > -box.space.vinyl:insert{305, "tuple 305"} > +box.space.vinyl:insert{305, 'tuple 305'} > - > - [305, 'tuple 305'] > -box.space.vinyl:insert{306, "tuple 306"} > +box.space.vinyl:insert{306, 'tuple 306'} > - > - [306, 'tuple 306'] > -box.space.vinyl:insert{307, "tuple 307"} > +box.space.vinyl:insert{307, 'tuple 307'} > - > - [307, 'tuple 307'] > -box.space.vinyl:insert{308, "tuple 308"} > +box.space.vinyl:insert{308, 'tuple 308'} > - > - [308, 'tuple 308'] > -box.space.vinyl:insert{309, "tuple 309"} > +box.space.vinyl:insert{309, 'tuple 309'} > - > - [309, 'tuple 309'] > box.space.memtx:select{305} > @@ -3944,34 +3944,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{310, "tuple 310"} > +box.space.memtx:insert{310, 'tuple 310'} > - > - [310, 'tuple 310'] > -box.space.memtx:insert{311, "tuple 311"} > +box.space.memtx:insert{311, 'tuple 311'} > - > - [311, 'tuple 311'] > -box.space.memtx:insert{312, "tuple 312"} > +box.space.memtx:insert{312, 'tuple 312'} > - > - [312, 'tuple 312'] > -box.space.memtx:insert{313, "tuple 313"} > +box.space.memtx:insert{313, 'tuple 313'} > - > - [313, 'tuple 313'] > -box.space.memtx:insert{314, "tuple 314"} > +box.space.memtx:insert{314, 'tuple 314'} > - > - [314, 'tuple 314'] > -box.space.vinyl:insert{310, "tuple 310"} > +box.space.vinyl:insert{310, 'tuple 310'} > - > - [310, 'tuple 310'] > -box.space.vinyl:insert{311, "tuple 311"} > +box.space.vinyl:insert{311, 'tuple 311'} > - > - [311, 'tuple 311'] > -box.space.vinyl:insert{312, "tuple 312"} > +box.space.vinyl:insert{312, 'tuple 312'} > - > - [312, 'tuple 312'] > -box.space.vinyl:insert{313, "tuple 313"} > +box.space.vinyl:insert{313, 'tuple 313'} > - > - [313, 'tuple 313'] > -box.space.vinyl:insert{314, "tuple 314"} > +box.space.vinyl:insert{314, 'tuple 314'} > - > - [314, 'tuple 314'] > box.space.memtx:select{310} > @@ -4004,34 +4004,34 @@ box.space.vinyl:select{313} > box.space.vinyl:select{314} > - > - [314, 'tuple 314'] > -box.space.memtx:insert{315, "tuple 315"} > +box.space.memtx:insert{315, 'tuple 315'} > - > - [315, 'tuple 315'] > -box.space.memtx:insert{316, "tuple 316"} > +box.space.memtx:insert{316, 'tuple 316'} > - > - [316, 'tuple 316'] > -box.space.memtx:insert{317, "tuple 317"} > +box.space.memtx:insert{317, 'tuple 317'} > - > - [317, 'tuple 317'] > -box.space.memtx:insert{318, "tuple 318"} > +box.space.memtx:insert{318, 'tuple 318'} > - > - [318, 'tuple 318'] > -box.space.memtx:insert{319, "tuple 319"} > +box.space.memtx:insert{319, 'tuple 319'} > - > - [319, 'tuple 319'] > -box.space.vinyl:insert{315, "tuple 315"} > +box.space.vinyl:insert{315, 'tuple 315'} > - > - [315, 'tuple 315'] > -box.space.vinyl:insert{316, "tuple 316"} > +box.space.vinyl:insert{316, 'tuple 316'} > - > - [316, 'tuple 316'] > -box.space.vinyl:insert{317, "tuple 317"} > +box.space.vinyl:insert{317, 'tuple 317'} > - > - [317, 'tuple 317'] > -box.space.vinyl:insert{318, "tuple 318"} > +box.space.vinyl:insert{318, 'tuple 318'} > - > - [318, 'tuple 318'] > -box.space.vinyl:insert{319, "tuple 319"} > +box.space.vinyl:insert{319, 'tuple 319'} > - > - [319, 'tuple 319'] > box.space.memtx:select{315} > @@ -4071,34 +4071,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 16 iteration > -box.space.memtx:insert{320, "tuple 320"} > +box.space.memtx:insert{320, 'tuple 320'} > - > - [320, 'tuple 320'] > -box.space.memtx:insert{321, "tuple 321"} > +box.space.memtx:insert{321, 'tuple 321'} > - > - [321, 'tuple 321'] > -box.space.memtx:insert{322, "tuple 322"} > +box.space.memtx:insert{322, 'tuple 322'} > - > - [322, 'tuple 322'] > -box.space.memtx:insert{323, "tuple 323"} > +box.space.memtx:insert{323, 'tuple 323'} > - > - [323, 'tuple 323'] > -box.space.memtx:insert{324, "tuple 324"} > +box.space.memtx:insert{324, 'tuple 324'} > - > - [324, 'tuple 324'] > -box.space.vinyl:insert{320, "tuple 320"} > +box.space.vinyl:insert{320, 'tuple 320'} > - > - [320, 'tuple 320'] > -box.space.vinyl:insert{321, "tuple 321"} > +box.space.vinyl:insert{321, 'tuple 321'} > - > - [321, 'tuple 321'] > -box.space.vinyl:insert{322, "tuple 322"} > +box.space.vinyl:insert{322, 'tuple 322'} > - > - [322, 'tuple 322'] > -box.space.vinyl:insert{323, "tuple 323"} > +box.space.vinyl:insert{323, 'tuple 323'} > - > - [323, 'tuple 323'] > -box.space.vinyl:insert{324, "tuple 324"} > +box.space.vinyl:insert{324, 'tuple 324'} > - > - [324, 'tuple 324'] > box.space.memtx:select{320} > @@ -4131,34 +4131,34 @@ box.space.vinyl:select{323} > box.space.vinyl:select{324} > - > - [324, 'tuple 324'] > -box.space.memtx:insert{325, "tuple 325"} > +box.space.memtx:insert{325, 'tuple 325'} > - > - [325, 'tuple 325'] > -box.space.memtx:insert{326, "tuple 326"} > +box.space.memtx:insert{326, 'tuple 326'} > - > - [326, 'tuple 326'] > -box.space.memtx:insert{327, "tuple 327"} > +box.space.memtx:insert{327, 'tuple 327'} > - > - [327, 'tuple 327'] > -box.space.memtx:insert{328, "tuple 328"} > +box.space.memtx:insert{328, 'tuple 328'} > - > - [328, 'tuple 328'] > -box.space.memtx:insert{329, "tuple 329"} > +box.space.memtx:insert{329, 'tuple 329'} > - > - [329, 'tuple 329'] > -box.space.vinyl:insert{325, "tuple 325"} > +box.space.vinyl:insert{325, 'tuple 325'} > - > - [325, 'tuple 325'] > -box.space.vinyl:insert{326, "tuple 326"} > +box.space.vinyl:insert{326, 'tuple 326'} > - > - [326, 'tuple 326'] > -box.space.vinyl:insert{327, "tuple 327"} > +box.space.vinyl:insert{327, 'tuple 327'} > - > - [327, 'tuple 327'] > -box.space.vinyl:insert{328, "tuple 328"} > +box.space.vinyl:insert{328, 'tuple 328'} > - > - [328, 'tuple 328'] > -box.space.vinyl:insert{329, "tuple 329"} > +box.space.vinyl:insert{329, 'tuple 329'} > - > - [329, 'tuple 329'] > box.space.memtx:select{325} > @@ -4197,34 +4197,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{330, "tuple 330"} > +box.space.memtx:insert{330, 'tuple 330'} > - > - [330, 'tuple 330'] > -box.space.memtx:insert{331, "tuple 331"} > +box.space.memtx:insert{331, 'tuple 331'} > - > - [331, 'tuple 331'] > -box.space.memtx:insert{332, "tuple 332"} > +box.space.memtx:insert{332, 'tuple 332'} > - > - [332, 'tuple 332'] > -box.space.memtx:insert{333, "tuple 333"} > +box.space.memtx:insert{333, 'tuple 333'} > - > - [333, 'tuple 333'] > -box.space.memtx:insert{334, "tuple 334"} > +box.space.memtx:insert{334, 'tuple 334'} > - > - [334, 'tuple 334'] > -box.space.vinyl:insert{330, "tuple 330"} > +box.space.vinyl:insert{330, 'tuple 330'} > - > - [330, 'tuple 330'] > -box.space.vinyl:insert{331, "tuple 331"} > +box.space.vinyl:insert{331, 'tuple 331'} > - > - [331, 'tuple 331'] > -box.space.vinyl:insert{332, "tuple 332"} > +box.space.vinyl:insert{332, 'tuple 332'} > - > - [332, 'tuple 332'] > -box.space.vinyl:insert{333, "tuple 333"} > +box.space.vinyl:insert{333, 'tuple 333'} > - > - [333, 'tuple 333'] > -box.space.vinyl:insert{334, "tuple 334"} > +box.space.vinyl:insert{334, 'tuple 334'} > - > - [334, 'tuple 334'] > box.space.memtx:select{330} > @@ -4257,34 +4257,34 @@ box.space.vinyl:select{333} > box.space.vinyl:select{334} > - > - [334, 'tuple 334'] > -box.space.memtx:insert{335, "tuple 335"} > +box.space.memtx:insert{335, 'tuple 335'} > - > - [335, 'tuple 335'] > -box.space.memtx:insert{336, "tuple 336"} > +box.space.memtx:insert{336, 'tuple 336'} > - > - [336, 'tuple 336'] > -box.space.memtx:insert{337, "tuple 337"} > +box.space.memtx:insert{337, 'tuple 337'} > - > - [337, 'tuple 337'] > -box.space.memtx:insert{338, "tuple 338"} > +box.space.memtx:insert{338, 'tuple 338'} > - > - [338, 'tuple 338'] > -box.space.memtx:insert{339, "tuple 339"} > +box.space.memtx:insert{339, 'tuple 339'} > - > - [339, 'tuple 339'] > -box.space.vinyl:insert{335, "tuple 335"} > +box.space.vinyl:insert{335, 'tuple 335'} > - > - [335, 'tuple 335'] > -box.space.vinyl:insert{336, "tuple 336"} > +box.space.vinyl:insert{336, 'tuple 336'} > - > - [336, 'tuple 336'] > -box.space.vinyl:insert{337, "tuple 337"} > +box.space.vinyl:insert{337, 'tuple 337'} > - > - [337, 'tuple 337'] > -box.space.vinyl:insert{338, "tuple 338"} > +box.space.vinyl:insert{338, 'tuple 338'} > - > - [338, 'tuple 338'] > -box.space.vinyl:insert{339, "tuple 339"} > +box.space.vinyl:insert{339, 'tuple 339'} > - > - [339, 'tuple 339'] > box.space.memtx:select{335} > @@ -4324,34 +4324,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 17 iteration > -box.space.memtx:insert{340, "tuple 340"} > +box.space.memtx:insert{340, 'tuple 340'} > - > - [340, 'tuple 340'] > -box.space.memtx:insert{341, "tuple 341"} > +box.space.memtx:insert{341, 'tuple 341'} > - > - [341, 'tuple 341'] > -box.space.memtx:insert{342, "tuple 342"} > +box.space.memtx:insert{342, 'tuple 342'} > - > - [342, 'tuple 342'] > -box.space.memtx:insert{343, "tuple 343"} > +box.space.memtx:insert{343, 'tuple 343'} > - > - [343, 'tuple 343'] > -box.space.memtx:insert{344, "tuple 344"} > +box.space.memtx:insert{344, 'tuple 344'} > - > - [344, 'tuple 344'] > -box.space.vinyl:insert{340, "tuple 340"} > +box.space.vinyl:insert{340, 'tuple 340'} > - > - [340, 'tuple 340'] > -box.space.vinyl:insert{341, "tuple 341"} > +box.space.vinyl:insert{341, 'tuple 341'} > - > - [341, 'tuple 341'] > -box.space.vinyl:insert{342, "tuple 342"} > +box.space.vinyl:insert{342, 'tuple 342'} > - > - [342, 'tuple 342'] > -box.space.vinyl:insert{343, "tuple 343"} > +box.space.vinyl:insert{343, 'tuple 343'} > - > - [343, 'tuple 343'] > -box.space.vinyl:insert{344, "tuple 344"} > +box.space.vinyl:insert{344, 'tuple 344'} > - > - [344, 'tuple 344'] > box.space.memtx:select{340} > @@ -4384,34 +4384,34 @@ box.space.vinyl:select{343} > box.space.vinyl:select{344} > - > - [344, 'tuple 344'] > -box.space.memtx:insert{345, "tuple 345"} > +box.space.memtx:insert{345, 'tuple 345'} > - > - [345, 'tuple 345'] > -box.space.memtx:insert{346, "tuple 346"} > +box.space.memtx:insert{346, 'tuple 346'} > - > - [346, 'tuple 346'] > -box.space.memtx:insert{347, "tuple 347"} > +box.space.memtx:insert{347, 'tuple 347'} > - > - [347, 'tuple 347'] > -box.space.memtx:insert{348, "tuple 348"} > +box.space.memtx:insert{348, 'tuple 348'} > - > - [348, 'tuple 348'] > -box.space.memtx:insert{349, "tuple 349"} > +box.space.memtx:insert{349, 'tuple 349'} > - > - [349, 'tuple 349'] > -box.space.vinyl:insert{345, "tuple 345"} > +box.space.vinyl:insert{345, 'tuple 345'} > - > - [345, 'tuple 345'] > -box.space.vinyl:insert{346, "tuple 346"} > +box.space.vinyl:insert{346, 'tuple 346'} > - > - [346, 'tuple 346'] > -box.space.vinyl:insert{347, "tuple 347"} > +box.space.vinyl:insert{347, 'tuple 347'} > - > - [347, 'tuple 347'] > -box.space.vinyl:insert{348, "tuple 348"} > +box.space.vinyl:insert{348, 'tuple 348'} > - > - [348, 'tuple 348'] > -box.space.vinyl:insert{349, "tuple 349"} > +box.space.vinyl:insert{349, 'tuple 349'} > - > - [349, 'tuple 349'] > box.space.memtx:select{345} > @@ -4450,34 +4450,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{350, "tuple 350"} > +box.space.memtx:insert{350, 'tuple 350'} > - > - [350, 'tuple 350'] > -box.space.memtx:insert{351, "tuple 351"} > +box.space.memtx:insert{351, 'tuple 351'} > - > - [351, 'tuple 351'] > -box.space.memtx:insert{352, "tuple 352"} > +box.space.memtx:insert{352, 'tuple 352'} > - > - [352, 'tuple 352'] > -box.space.memtx:insert{353, "tuple 353"} > +box.space.memtx:insert{353, 'tuple 353'} > - > - [353, 'tuple 353'] > -box.space.memtx:insert{354, "tuple 354"} > +box.space.memtx:insert{354, 'tuple 354'} > - > - [354, 'tuple 354'] > -box.space.vinyl:insert{350, "tuple 350"} > +box.space.vinyl:insert{350, 'tuple 350'} > - > - [350, 'tuple 350'] > -box.space.vinyl:insert{351, "tuple 351"} > +box.space.vinyl:insert{351, 'tuple 351'} > - > - [351, 'tuple 351'] > -box.space.vinyl:insert{352, "tuple 352"} > +box.space.vinyl:insert{352, 'tuple 352'} > - > - [352, 'tuple 352'] > -box.space.vinyl:insert{353, "tuple 353"} > +box.space.vinyl:insert{353, 'tuple 353'} > - > - [353, 'tuple 353'] > -box.space.vinyl:insert{354, "tuple 354"} > +box.space.vinyl:insert{354, 'tuple 354'} > - > - [354, 'tuple 354'] > box.space.memtx:select{350} > @@ -4510,34 +4510,34 @@ box.space.vinyl:select{353} > box.space.vinyl:select{354} > - > - [354, 'tuple 354'] > -box.space.memtx:insert{355, "tuple 355"} > +box.space.memtx:insert{355, 'tuple 355'} > - > - [355, 'tuple 355'] > -box.space.memtx:insert{356, "tuple 356"} > +box.space.memtx:insert{356, 'tuple 356'} > - > - [356, 'tuple 356'] > -box.space.memtx:insert{357, "tuple 357"} > +box.space.memtx:insert{357, 'tuple 357'} > - > - [357, 'tuple 357'] > -box.space.memtx:insert{358, "tuple 358"} > +box.space.memtx:insert{358, 'tuple 358'} > - > - [358, 'tuple 358'] > -box.space.memtx:insert{359, "tuple 359"} > +box.space.memtx:insert{359, 'tuple 359'} > - > - [359, 'tuple 359'] > -box.space.vinyl:insert{355, "tuple 355"} > +box.space.vinyl:insert{355, 'tuple 355'} > - > - [355, 'tuple 355'] > -box.space.vinyl:insert{356, "tuple 356"} > +box.space.vinyl:insert{356, 'tuple 356'} > - > - [356, 'tuple 356'] > -box.space.vinyl:insert{357, "tuple 357"} > +box.space.vinyl:insert{357, 'tuple 357'} > - > - [357, 'tuple 357'] > -box.space.vinyl:insert{358, "tuple 358"} > +box.space.vinyl:insert{358, 'tuple 358'} > - > - [358, 'tuple 358'] > -box.space.vinyl:insert{359, "tuple 359"} > +box.space.vinyl:insert{359, 'tuple 359'} > - > - [359, 'tuple 359'] > box.space.memtx:select{355} > @@ -4577,34 +4577,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 18 iteration > -box.space.memtx:insert{360, "tuple 360"} > +box.space.memtx:insert{360, 'tuple 360'} > - > - [360, 'tuple 360'] > -box.space.memtx:insert{361, "tuple 361"} > +box.space.memtx:insert{361, 'tuple 361'} > - > - [361, 'tuple 361'] > -box.space.memtx:insert{362, "tuple 362"} > +box.space.memtx:insert{362, 'tuple 362'} > - > - [362, 'tuple 362'] > -box.space.memtx:insert{363, "tuple 363"} > +box.space.memtx:insert{363, 'tuple 363'} > - > - [363, 'tuple 363'] > -box.space.memtx:insert{364, "tuple 364"} > +box.space.memtx:insert{364, 'tuple 364'} > - > - [364, 'tuple 364'] > -box.space.vinyl:insert{360, "tuple 360"} > +box.space.vinyl:insert{360, 'tuple 360'} > - > - [360, 'tuple 360'] > -box.space.vinyl:insert{361, "tuple 361"} > +box.space.vinyl:insert{361, 'tuple 361'} > - > - [361, 'tuple 361'] > -box.space.vinyl:insert{362, "tuple 362"} > +box.space.vinyl:insert{362, 'tuple 362'} > - > - [362, 'tuple 362'] > -box.space.vinyl:insert{363, "tuple 363"} > +box.space.vinyl:insert{363, 'tuple 363'} > - > - [363, 'tuple 363'] > -box.space.vinyl:insert{364, "tuple 364"} > +box.space.vinyl:insert{364, 'tuple 364'} > - > - [364, 'tuple 364'] > box.space.memtx:select{360} > @@ -4637,34 +4637,34 @@ box.space.vinyl:select{363} > box.space.vinyl:select{364} > - > - [364, 'tuple 364'] > -box.space.memtx:insert{365, "tuple 365"} > +box.space.memtx:insert{365, 'tuple 365'} > - > - [365, 'tuple 365'] > -box.space.memtx:insert{366, "tuple 366"} > +box.space.memtx:insert{366, 'tuple 366'} > - > - [366, 'tuple 366'] > -box.space.memtx:insert{367, "tuple 367"} > +box.space.memtx:insert{367, 'tuple 367'} > - > - [367, 'tuple 367'] > -box.space.memtx:insert{368, "tuple 368"} > +box.space.memtx:insert{368, 'tuple 368'} > - > - [368, 'tuple 368'] > -box.space.memtx:insert{369, "tuple 369"} > +box.space.memtx:insert{369, 'tuple 369'} > - > - [369, 'tuple 369'] > -box.space.vinyl:insert{365, "tuple 365"} > +box.space.vinyl:insert{365, 'tuple 365'} > - > - [365, 'tuple 365'] > -box.space.vinyl:insert{366, "tuple 366"} > +box.space.vinyl:insert{366, 'tuple 366'} > - > - [366, 'tuple 366'] > -box.space.vinyl:insert{367, "tuple 367"} > +box.space.vinyl:insert{367, 'tuple 367'} > - > - [367, 'tuple 367'] > -box.space.vinyl:insert{368, "tuple 368"} > +box.space.vinyl:insert{368, 'tuple 368'} > - > - [368, 'tuple 368'] > -box.space.vinyl:insert{369, "tuple 369"} > +box.space.vinyl:insert{369, 'tuple 369'} > - > - [369, 'tuple 369'] > box.space.memtx:select{365} > @@ -4703,34 +4703,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{370, "tuple 370"} > +box.space.memtx:insert{370, 'tuple 370'} > - > - [370, 'tuple 370'] > -box.space.memtx:insert{371, "tuple 371"} > +box.space.memtx:insert{371, 'tuple 371'} > - > - [371, 'tuple 371'] > -box.space.memtx:insert{372, "tuple 372"} > +box.space.memtx:insert{372, 'tuple 372'} > - > - [372, 'tuple 372'] > -box.space.memtx:insert{373, "tuple 373"} > +box.space.memtx:insert{373, 'tuple 373'} > - > - [373, 'tuple 373'] > -box.space.memtx:insert{374, "tuple 374"} > +box.space.memtx:insert{374, 'tuple 374'} > - > - [374, 'tuple 374'] > -box.space.vinyl:insert{370, "tuple 370"} > +box.space.vinyl:insert{370, 'tuple 370'} > - > - [370, 'tuple 370'] > -box.space.vinyl:insert{371, "tuple 371"} > +box.space.vinyl:insert{371, 'tuple 371'} > - > - [371, 'tuple 371'] > -box.space.vinyl:insert{372, "tuple 372"} > +box.space.vinyl:insert{372, 'tuple 372'} > - > - [372, 'tuple 372'] > -box.space.vinyl:insert{373, "tuple 373"} > +box.space.vinyl:insert{373, 'tuple 373'} > - > - [373, 'tuple 373'] > -box.space.vinyl:insert{374, "tuple 374"} > +box.space.vinyl:insert{374, 'tuple 374'} > - > - [374, 'tuple 374'] > box.space.memtx:select{370} > @@ -4763,34 +4763,34 @@ box.space.vinyl:select{373} > box.space.vinyl:select{374} > - > - [374, 'tuple 374'] > -box.space.memtx:insert{375, "tuple 375"} > +box.space.memtx:insert{375, 'tuple 375'} > - > - [375, 'tuple 375'] > -box.space.memtx:insert{376, "tuple 376"} > +box.space.memtx:insert{376, 'tuple 376'} > - > - [376, 'tuple 376'] > -box.space.memtx:insert{377, "tuple 377"} > +box.space.memtx:insert{377, 'tuple 377'} > - > - [377, 'tuple 377'] > -box.space.memtx:insert{378, "tuple 378"} > +box.space.memtx:insert{378, 'tuple 378'} > - > - [378, 'tuple 378'] > -box.space.memtx:insert{379, "tuple 379"} > +box.space.memtx:insert{379, 'tuple 379'} > - > - [379, 'tuple 379'] > -box.space.vinyl:insert{375, "tuple 375"} > +box.space.vinyl:insert{375, 'tuple 375'} > - > - [375, 'tuple 375'] > -box.space.vinyl:insert{376, "tuple 376"} > +box.space.vinyl:insert{376, 'tuple 376'} > - > - [376, 'tuple 376'] > -box.space.vinyl:insert{377, "tuple 377"} > +box.space.vinyl:insert{377, 'tuple 377'} > - > - [377, 'tuple 377'] > -box.space.vinyl:insert{378, "tuple 378"} > +box.space.vinyl:insert{378, 'tuple 378'} > - > - [378, 'tuple 378'] > -box.space.vinyl:insert{379, "tuple 379"} > +box.space.vinyl:insert{379, 'tuple 379'} > - > - [379, 'tuple 379'] > box.space.memtx:select{375} > @@ -4830,34 +4830,34 @@ box.cfg{replication=''} > ... > switch replica to replica > test 19 iteration > -box.space.memtx:insert{380, "tuple 380"} > +box.space.memtx:insert{380, 'tuple 380'} > - > - [380, 'tuple 380'] > -box.space.memtx:insert{381, "tuple 381"} > +box.space.memtx:insert{381, 'tuple 381'} > - > - [381, 'tuple 381'] > -box.space.memtx:insert{382, "tuple 382"} > +box.space.memtx:insert{382, 'tuple 382'} > - > - [382, 'tuple 382'] > -box.space.memtx:insert{383, "tuple 383"} > +box.space.memtx:insert{383, 'tuple 383'} > - > - [383, 'tuple 383'] > -box.space.memtx:insert{384, "tuple 384"} > +box.space.memtx:insert{384, 'tuple 384'} > - > - [384, 'tuple 384'] > -box.space.vinyl:insert{380, "tuple 380"} > +box.space.vinyl:insert{380, 'tuple 380'} > - > - [380, 'tuple 380'] > -box.space.vinyl:insert{381, "tuple 381"} > +box.space.vinyl:insert{381, 'tuple 381'} > - > - [381, 'tuple 381'] > -box.space.vinyl:insert{382, "tuple 382"} > +box.space.vinyl:insert{382, 'tuple 382'} > - > - [382, 'tuple 382'] > -box.space.vinyl:insert{383, "tuple 383"} > +box.space.vinyl:insert{383, 'tuple 383'} > - > - [383, 'tuple 383'] > -box.space.vinyl:insert{384, "tuple 384"} > +box.space.vinyl:insert{384, 'tuple 384'} > - > - [384, 'tuple 384'] > box.space.memtx:select{380} > @@ -4890,34 +4890,34 @@ box.space.vinyl:select{383} > box.space.vinyl:select{384} > - > - [384, 'tuple 384'] > -box.space.memtx:insert{385, "tuple 385"} > +box.space.memtx:insert{385, 'tuple 385'} > - > - [385, 'tuple 385'] > -box.space.memtx:insert{386, "tuple 386"} > +box.space.memtx:insert{386, 'tuple 386'} > - > - [386, 'tuple 386'] > -box.space.memtx:insert{387, "tuple 387"} > +box.space.memtx:insert{387, 'tuple 387'} > - > - [387, 'tuple 387'] > -box.space.memtx:insert{388, "tuple 388"} > +box.space.memtx:insert{388, 'tuple 388'} > - > - [388, 'tuple 388'] > -box.space.memtx:insert{389, "tuple 389"} > +box.space.memtx:insert{389, 'tuple 389'} > - > - [389, 'tuple 389'] > -box.space.vinyl:insert{385, "tuple 385"} > +box.space.vinyl:insert{385, 'tuple 385'} > - > - [385, 'tuple 385'] > -box.space.vinyl:insert{386, "tuple 386"} > +box.space.vinyl:insert{386, 'tuple 386'} > - > - [386, 'tuple 386'] > -box.space.vinyl:insert{387, "tuple 387"} > +box.space.vinyl:insert{387, 'tuple 387'} > - > - [387, 'tuple 387'] > -box.space.vinyl:insert{388, "tuple 388"} > +box.space.vinyl:insert{388, 'tuple 388'} > - > - [388, 'tuple 388'] > -box.space.vinyl:insert{389, "tuple 389"} > +box.space.vinyl:insert{389, 'tuple 389'} > - > - [389, 'tuple 389'] > box.space.memtx:select{385} > @@ -4956,34 +4956,34 @@ box.cfg{replication=''} > --- > ... > switch master to replica > -box.space.memtx:insert{390, "tuple 390"} > +box.space.memtx:insert{390, 'tuple 390'} > - > - [390, 'tuple 390'] > -box.space.memtx:insert{391, "tuple 391"} > +box.space.memtx:insert{391, 'tuple 391'} > - > - [391, 'tuple 391'] > -box.space.memtx:insert{392, "tuple 392"} > +box.space.memtx:insert{392, 'tuple 392'} > - > - [392, 'tuple 392'] > -box.space.memtx:insert{393, "tuple 393"} > +box.space.memtx:insert{393, 'tuple 393'} > - > - [393, 'tuple 393'] > -box.space.memtx:insert{394, "tuple 394"} > +box.space.memtx:insert{394, 'tuple 394'} > - > - [394, 'tuple 394'] > -box.space.vinyl:insert{390, "tuple 390"} > +box.space.vinyl:insert{390, 'tuple 390'} > - > - [390, 'tuple 390'] > -box.space.vinyl:insert{391, "tuple 391"} > +box.space.vinyl:insert{391, 'tuple 391'} > - > - [391, 'tuple 391'] > -box.space.vinyl:insert{392, "tuple 392"} > +box.space.vinyl:insert{392, 'tuple 392'} > - > - [392, 'tuple 392'] > -box.space.vinyl:insert{393, "tuple 393"} > +box.space.vinyl:insert{393, 'tuple 393'} > - > - [393, 'tuple 393'] > -box.space.vinyl:insert{394, "tuple 394"} > +box.space.vinyl:insert{394, 'tuple 394'} > - > - [394, 'tuple 394'] > box.space.memtx:select{390} > @@ -5016,34 +5016,34 @@ box.space.vinyl:select{393} > box.space.vinyl:select{394} > - > - [394, 'tuple 394'] > -box.space.memtx:insert{395, "tuple 395"} > +box.space.memtx:insert{395, 'tuple 395'} > - > - [395, 'tuple 395'] > -box.space.memtx:insert{396, "tuple 396"} > +box.space.memtx:insert{396, 'tuple 396'} > - > - [396, 'tuple 396'] > -box.space.memtx:insert{397, "tuple 397"} > +box.space.memtx:insert{397, 'tuple 397'} > - > - [397, 'tuple 397'] > -box.space.memtx:insert{398, "tuple 398"} > +box.space.memtx:insert{398, 'tuple 398'} > - > - [398, 'tuple 398'] > -box.space.memtx:insert{399, "tuple 399"} > +box.space.memtx:insert{399, 'tuple 399'} > - > - [399, 'tuple 399'] > -box.space.vinyl:insert{395, "tuple 395"} > +box.space.vinyl:insert{395, 'tuple 395'} > - > - [395, 'tuple 395'] > -box.space.vinyl:insert{396, "tuple 396"} > +box.space.vinyl:insert{396, 'tuple 396'} > - > - [396, 'tuple 396'] > -box.space.vinyl:insert{397, "tuple 397"} > +box.space.vinyl:insert{397, 'tuple 397'} > - > - [397, 'tuple 397'] > -box.space.vinyl:insert{398, "tuple 398"} > +box.space.vinyl:insert{398, 'tuple 398'} > - > - [398, 'tuple 398'] > -box.space.vinyl:insert{399, "tuple 399"} > +box.space.vinyl:insert{399, 'tuple 399'} > - > - [399, 'tuple 399'] > box.space.memtx:select{395} > diff --git a/test/replication-py/swap.test.py b/test/replication-py/swap.test.py > index 98eeeea6d..c5718cffd 100644 > --- a/test/replication-py/swap.test.py > +++ b/test/replication-py/swap.test.py > @@ -1,3 +1,5 @@ > +from __future__ import print_function > + > import os > import tarantool > from lib.tarantool_server import TarantoolServer > @@ -7,26 +9,26 @@ import yaml > REPEAT = 20 > ID_BEGIN = 0 > ID_STEP = 5 > -LOGIN = 'test' > -PASSWORD = 'pass123456' > +LOGIN = "test" > +PASSWORD = "pass123456" > > -engines = ['memtx', 'vinyl'] > +engines = ["memtx", "vinyl"] > > def insert_tuples(_server, begin, end, msg = "tuple"): > for engine in engines: > for i in range(begin, end): > - print 'box.space.%s:insert{%d, "%s %d"}' % (engine, i, msg, i) > - print '-' > + print("box.space.{}:insert{{{}, '{} {}'}}".format(engine, i, msg, i)) > + print("-") > space = _server.iproto.py_con.space(engine) > - print space.insert((i, '%s %d' % (msg, i))) > + print(space.insert((i, "{} {}".format(msg, i)))) > > def select_tuples(_server, begin, end): > for engine in engines: > for i in range(begin, end): > - print 'box.space.%s:select{%d}' % (engine, i) > - print '-' > + print("box.space.{}:select{{{}}}".format(engine, i)) > + print("-") > space = _server.iproto.py_con.space(engine) > - print space.select(i) > + print(space.select(i)) > > # master server > master = server > @@ -34,11 +36,11 @@ master = server > master.stop() > master.cleanup() > master.deploy() > -master.admin("box.schema.user.create('%s', { password = '%s'})" % (LOGIN, PASSWORD)) > -master.admin("box.schema.user.grant('%s', 'read,write,execute', 'universe')" % LOGIN) > +master.admin("box.schema.user.create('{}', {{ password = '{}'}})".format(LOGIN, PASSWORD)) > +master.admin("box.schema.user.grant('{}', 'read,write,execute', 'universe')".format(LOGIN)) > master.iproto.py_con.authenticate(LOGIN, PASSWORD) > -master.uri = '%s:%s@%s' % (LOGIN, PASSWORD, master.iproto.uri) > -os.putenv('MASTER', master.uri) > +master.uri = "{}:{}@{}".format(LOGIN, PASSWORD, master.iproto.uri) > +os.putenv("MASTER", master.uri) > > # replica server > replica = TarantoolServer() > @@ -46,27 +48,27 @@ replica.script = "replication-py/replica.lua" > replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') > replica.deploy() > replica.admin("while box.info.id == 0 do require('fiber').sleep(0.01) end") > -replica.uri = '%s:%s@%s' % (LOGIN, PASSWORD, replica.iproto.uri) > +replica.uri = "{}:{}@{}".format(LOGIN, PASSWORD, replica.iproto.uri) > replica.admin("while box.space['_priv']:len() < 1 do require('fiber').sleep(0.01) end") > replica.iproto.py_con.authenticate(LOGIN, PASSWORD) > > for engine in engines: > - master.admin("s = box.schema.space.create('%s', { engine = '%s'})" % (engine, engine)) > + master.admin("s = box.schema.space.create('{}', {{ engine = '{}'}})".format(engine, engine)) > master.admin("index = s:create_index('primary', {type = 'tree'})") > > ### gh-343: replica.cc must not add login and password to proc title > #status = replica.get_param("status") > -#host_port = "%s:%s" % master.iproto.uri 4) No changes are needed here. > -#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{}") >