[Tarantool-patches] [PATCH v3 3/5] test: make strings compatible with Python 3
Sergey Bronnikov
sergeyb at tarantool.org
Thu Dec 24 14:03:23 MSK 2020
Thanks for review!
On 23.12.2020 18:40, Vladislav Shpilevoy wrote:
> Thanks for the patch!
>
> See 3 comments below.
>
>> diff --git a/test/box-py/iproto.test.py b/test/box-py/iproto.test.py
>> index 6723e03f5..c518b0d73 100644
>> --- a/test/box-py/iproto.test.py
>> +++ b/test/box-py/iproto.test.py
>> @@ -197,16 +197,19 @@ for test in TESTS:
>> print("STR", size)
>> print("--")
>> for fmt in it:
>> - print("0x" + fmt.encode("hex"), "=>", end=" ")
>> + if sys.version[0] == '2':
> 1. '2' -> "2". It is a normal string, not byte string. Correct?
Yep.
--- a/test/box-py/iproto.test.py
+++ b/test/box-py/iproto.test.py
@@ -197,7 +197,7 @@ for test in TESTS:
print("STR", size)
print("--")
for fmt in it:
- if sys.version[0] == '2':
+ if sys.version[0] == "2":
print("0x" + fmt.encode("hex"), "=>", end=" ")
else:
print("0x" + fmt.hex(), "=>", end=" ")
>> + print("0x" + fmt.encode("hex"), "=>", end=" ")
>> + else:
>> + print("0x" + fmt.hex(), "=>", end=" ")
>> field = "*" * size
>> - c._send_request(RawInsert(c, space_id, "\x91" + fmt + field))
>> + c._send_request(RawInsert(c, space_id, b'\x91' + fmt + field.encode("utf-8")))
>> tuple = space.select(field)[0]
>> 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]
>> + b'\x91' + fmt2 + field.encode("utf-8")))[0]
>> print(len(tuple[0]) == size and "ok" or "fail", end=" ")
>> tuple = space.delete(field)[0]
>> print(len(tuple[0]) == size and "ok" or "fail", end="")
>> @@ -357,15 +360,18 @@ s = c._socket
>> header = { "hello": "world"}
>> body = { "bug": 272 }
>> resp = test_request(header, body)
>> -print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR)))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> + resp["body"].get(IPROTO_ERROR).decode("utf-8")))
> 2. It seems this file used 4 char indentation. Lets conform.
it seems same indentation used in lines above and below, so I kept it as is.
>> header = { IPROTO_CODE : REQUEST_TYPE_SELECT }
>> header[IPROTO_SYNC] = 1234
>> resp = test_request(header, body)
>> -print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR)))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> + resp["body"].get(IPROTO_ERROR).decode("utf-8")))
>> header[IPROTO_SYNC] = 5678
>> body = { IPROTO_SPACE_ID: 304, IPROTO_KEY: [], IPROTO_LIMIT: 1 }
>> resp = test_request(header, body)
>> -print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR)))
>> +print("sync={}, {}".format(resp["header"][IPROTO_SYNC],
>> + resp["body"].get(IPROTO_ERROR).decode("utf-8")))
>> c.close()
>>
>>
>> @@ -424,7 +430,10 @@ header = { IPROTO_CODE: REQUEST_TYPE_CALL, IPROTO_SYNC: 100 }
>> body = { IPROTO_FUNCTION_NAME: "kek" }
>> resp = test_request(header, body)
>> print("Sync: ", resp["header"][IPROTO_SYNC])
>> -print("Retcode: ", resp["body"][IPROTO_DATA])
>> +body = resp["body"][IPROTO_DATA]
>> +if sys.version[0] == '3':
> 3. '3' -> "3".
@@ -431,7 +431,7 @@ body = { IPROTO_FUNCTION_NAME: "kek" }
resp = test_request(header, body)
print("Sync: ", resp["header"][IPROTO_SYNC])
body = resp["body"][IPROTO_DATA]
-if sys.version[0] == '3':
+if sys.version[0] == "3":
body = [body[0].decode("utf-8")]
print("Retcode: ", body)
More information about the Tarantool-patches
mailing list