[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