Skip to content

Commit

Permalink
test: use yaml.safe_load() instead of yaml.load()
Browse files Browse the repository at this point in the history
The primary reason why this change is needed is that yaml.load() w/o an
explicit loader was banned in Gentoo Linux for recent pyyaml versions;
see [1].

We don't use the pyyaml feature that allows to construct a Python object
based on a yaml tag, so safe_load() fit our needs.

See also related changes in test-run and tarantool-python ([2], [3], [4]).

[1]: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79ba924d94cb0cf8559565178414c2a1d687b90c
[2]: tarantool/test-run@38400e9
[3]: tarantool/test-run@89808d6
[4]: tarantool/tarantool-python@350771d

(cherry picked from commit d5fdc53)
  • Loading branch information
Totktonada committed Apr 30, 2019
1 parent dd2d9e9 commit 154345f
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 19 deletions.
6 changes: 3 additions & 3 deletions test/box-py/snapshot.test.py
Expand Up @@ -23,7 +23,7 @@
admin("space:insert{2, 'second tuple'}")
#
# Check for other errors, e.g. "Permission denied".
lsn = int(yaml.load(admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])
snapshot = str(lsn).zfill(20) + ".snap"
snapshot = os.path.join(os.path.join(server.vardir, server.name), snapshot)
# Make snapshot path unwritable
Expand All @@ -49,8 +49,8 @@

admin("space:insert{1, 'Test tuple'}")

pid = int(yaml.load(admin("box.info.pid", silent=True))[0])
lsn = int(yaml.load(admin("box.info.lsn", silent=True))[0])
pid = int(yaml.safe_load(admin("box.info.pid", silent=True))[0])
lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])

snapshot = str(lsn).zfill(20) + ".snap"
snapshot = os.path.join(os.path.join(server.vardir, server.name), snapshot)
Expand Down
6 changes: 3 additions & 3 deletions test/replication-py/cluster.test.py
Expand Up @@ -9,7 +9,7 @@
## Get cluster uuid
cluster_uuid = ''
try:
cluster_uuid = yaml.load(server.admin("box.space._schema:get('cluster')",
cluster_uuid = yaml.safe_load(server.admin("box.space._schema:get('cluster')",
silent = True))[0][1]
uuid.UUID('{' + cluster_uuid + '}')
print 'ok - cluster uuid'
Expand Down Expand Up @@ -170,7 +170,7 @@ def check_join(msg):
print '-------------------------------------------------------------'
print 'Connect master to replica'
print '-------------------------------------------------------------'
replication_source = yaml.load(replica.admin('box.cfg.listen', silent = True))[0]
replication_source = yaml.safe_load(replica.admin('box.cfg.listen', silent = True))[0]
sys.stdout.push_filter(replication_source, '<replication_source>')
master.admin("box.cfg{ replication_source = '%s' }" % replication_source)
master.wait_lsn(replica_id, replica.get_lsn(replica_id))
Expand Down Expand Up @@ -200,7 +200,7 @@ def check_join(msg):
print 'Master must not crash then receives orphan rows from replica'
print '-------------------------------------------------------------'

replication_source = yaml.load(replica.admin('box.cfg.listen', silent = True))[0]
replication_source = yaml.safe_load(replica.admin('box.cfg.listen', silent = True))[0]
sys.stdout.push_filter(replication_source, '<replication>')
master.admin("box.cfg{ replication = '%s' }" % replication_source)

Expand Down
4 changes: 2 additions & 2 deletions test/replication-py/conflict.test.py
Expand Up @@ -25,10 +25,10 @@ def parallel_run(cmd1, cmd2, compare):
replica.admin.socket.recv(2048)

# wait for status changing in tarantool
master_status = yaml.load(master.admin(
master_status = yaml.safe_load(master.admin(
'box.info().replication[2].upstream.status', silent=True
))[0]
replica_status = yaml.load(replica.admin(
replica_status = yaml.safe_load(replica.admin(
'box.info().replication[1].upstream.status', silent=True
))[0]

Expand Down
4 changes: 2 additions & 2 deletions test/replication-py/multi.test.py
Expand Up @@ -34,7 +34,7 @@
# Make a list of servers
sources = []
for server in cluster:
sources.append(yaml.load(server.admin('box.cfg.listen', silent = True))[0])
sources.append(yaml.safe_load(server.admin('box.cfg.listen', silent = True))[0])
server.id = server.get_param('id')

print 'done'
Expand Down Expand Up @@ -89,7 +89,7 @@

print 'Check data'
for server in cluster:
cnt = yaml.load(server.admin("box.space.test:len()", silent = True))[0]
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
Expand Down
2 changes: 1 addition & 1 deletion test/xlog-py/dup_key.test.py
Expand Up @@ -13,7 +13,7 @@
server.admin("index = box.space.test:create_index('primary')")
server.admin("box.snapshot()")

lsn = int(yaml.load(server.admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(server.admin("box.info.lsn", silent=True))[0])
filename = str(lsn).zfill(20) + ".xlog"
vardir = os.path.join(server.vardir, server.name)
wal_old = os.path.join(vardir, "old_" + filename)
Expand Down
2 changes: 1 addition & 1 deletion test/xlog-py/empty.test.py
Expand Up @@ -12,7 +12,7 @@
#
server.stop()
server.deploy()
lsn = str(yaml.load(server.admin("box.info.lsn", silent=True))[0])
lsn = str(yaml.safe_load(server.admin("box.info.lsn", silent=True))[0])
path = os.path.join(server.vardir, server.name)
filename = os.path.join(path, lsn.zfill(20) + ".xlog")
f = open(filename, "w+")
Expand Down
2 changes: 1 addition & 1 deletion test/xlog-py/lsn_gap.test.py
Expand Up @@ -12,7 +12,7 @@
server.admin("index = box.space.test:create_index('primary')")
server.admin("box.space.test:insert{1, 'first tuple'}")
server.admin("box.space.test:insert{2, 'second tuple'}")
lsn = int(yaml.load(server.admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(server.admin("box.info.lsn", silent=True))[0])
path = os.path.join(server.vardir, server.name)
wal = os.path.join(path, str(lsn).zfill(20) + ".xlog")
server.stop()
Expand Down
10 changes: 5 additions & 5 deletions test/xlog-py/misc.test.py
Expand Up @@ -6,7 +6,7 @@
# cleanup server.vardir
server.stop()
server.deploy()
lsn = int(yaml.load(server.admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(server.admin("box.info.lsn", silent=True))[0])
server.stop()

data_path = os.path.join(server.vardir, server.name)
Expand Down Expand Up @@ -56,7 +56,7 @@
wal = os.path.join(data_path, filename)
server.admin("box.space.tweedledum:insert{4, 'fourth tuple'}")
server.admin("box.space.tweedledum:insert{5, 'Unfinished record'}")
pid = int(yaml.load(server.admin("require('tarantool').pid()", silent=True))[0])
pid = int(yaml.safe_load(server.admin("require('tarantool').pid()", silent=True))[0])
from signal import SIGKILL
if pid > 0:
os.kill(pid, SIGKILL)
Expand All @@ -78,13 +78,13 @@
lsn += 1

server.start()
orig_lsn = int(yaml.load(admin("box.info.lsn", silent=True))[0])
orig_lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])

# create .snap.inprogress
admin("box.snapshot()")
admin("box.space._schema:insert({'test', 'test'})")
admin("box.snapshot()")
lsn = int(yaml.load(admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])
snapshot = str(lsn).zfill(20) + ".snap"
snapshot = os.path.join(data_path, snapshot)
server.stop()
Expand All @@ -96,6 +96,6 @@

# check that .snap.inprogress is ignored during scan
server.start()
lsn = int(yaml.load(admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0])
if lsn == orig_lsn:
print ".snap.inprogress is ignored"
2 changes: 1 addition & 1 deletion test/xlog-py/missing.test.py
Expand Up @@ -14,7 +14,7 @@
server.start()
# these inserts will be in their own xlog, which then will
# get "lost"
lsn = int(yaml.load(server.admin("box.info.lsn", silent=True))[0])
lsn = int(yaml.safe_load(server.admin("box.info.lsn", silent=True))[0])
data_path = os.path.join(server.vardir, server.name)
wal = os.path.join(data_path, str(lsn).zfill(20) + ".xlog")
server.admin("box.space.test:insert{1, 'first tuple'}")
Expand Down

0 comments on commit 154345f

Please sign in to comment.