[Tarantool-patches] [PATCH v3 3/5] test: make strings compatible with Python 3
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Wed Dec 23 18:40:00 MSK 2020
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?
> + 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.
> 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".
More information about the Tarantool-patches
mailing list