From: Leonid Vasiliev <lvasiliev@tarantool.org>
To: Sergey Bronnikov <sergeyb@tarantool.org>,
tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org,
imun@tarantool.org
Cc: alexander.turenko@tarantool.org
Subject: Re: [Tarantool-patches] [PATCH 3/4] test: make convert to hex compatible with Python 3.x
Date: Wed, 23 Dec 2020 13:00:08 +0300 [thread overview]
Message-ID: <2023af09-b519-9fff-1697-9ea476242fbf@tarantool.org> (raw)
In-Reply-To: <ae4c5d0e-8d51-fb58-35fd-05fb82acf321@tarantool.org>
Hi!
On 22.12.2020 11:19, Sergey Bronnikov wrote:
> Hi,
>
> On 17.12.2020 21:26, Leonid Vasiliev wrote:
>> Hi!
>>
>> On 16.12.2020 17:04, Sergey Bronnikov wrote:
>>> Hello,
>>>
>>>
>>> On 15.12.2020 14:55, Leonid Vasiliev wrote:
>>>> Hi! Thank you for the patch.
>>>>
>>>> On 11.12.2020 11:42, Sergey Bronnikov via Tarantool-patches wrote:
>>>>> From: Sergey Bronnikov <sergeyb@tarantool.org>
>>>>>
>>>>> Part of #5538
>>>>> ---
>>>>> test/box-py/iproto.test.py | 6 +++++-
>>>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/test/box-py/iproto.test.py b/test/box-py/iproto.test.py
>>>>> index 25ead43c4..72400923c 100644
>>>>> --- a/test/box-py/iproto.test.py
>>>>> +++ b/test/box-py/iproto.test.pyHi
>>>>> @@ -191,7 +191,11 @@ for test in TESTS:
>>>>> print("STR", size)
>>>>> print("--")
>>>>> for fmt in it:
>>>>> - print("0x" + fmt.encode("hex"), "=>", end=" ")
>>>>> + try:
>>>>> + # Python 3
>>>>> + print("0x" + "hex".encode("utf-8").hex(), "=>", end=" ")
>>>>
>>>> Maybe fmt.encode("utf-8").hex()?
>>>
>>> I would be glad to use it in Python 3, but fmt module was removed there.
>>
>> Sorry, but I don't understand which module "fmt" you mean. I don't see
>> any `import fmt...` here. AFAIU `fmt` in this context is a string from
>> one of the tuples from the list `TESTS`.
>>
>> So, I copy this hunk:
>> ```
>> from __future__ import print_function
>>
>> TESTS = [
>> (1, "\xa1", "\xd9\x01", "\xda\x00\x01", "\xdb\x00\x00\x00\x01"),
>> (31, "\xbf", "\xd9\x1f", "\xda\x00\x1f", "\xdb\x00\x00\x00\x1f"),
>> (32, "\xd9\x20", "\xda\x00\x20", "\xdb\x00\x00\x00\x20"),
>> (255, "\xd9\xff", "\xda\x00\xff", "\xdb\x00\x00\x00\xff"),
>> (256, "\xda\x01\x00", "\xdb\x00\x00\x01\x00"),
>> (65535, "\xda\xff\xff", "\xdb\x00\x00\xff\xff"),
>> (65536, "\xdb\x00\x01\x00\x00"),
>> ]
>>
>> for test in TESTS:
>> it = iter(test)
>> size = next(it)
>> print("STR", size)
>> print("--")
>> for fmt in it:
>> try:
>> # Python 3
>> print("0x" + "hex".encode("utf-8").hex(), "=>", end=" ")
>> except AttributeError:
>> print("0x" + fmt.encode("hex"), "=>", end=" ")
>> print()
>> print()
>> ```
>>
>> and run it on python2 and python3.
>> Results doesn't look identically.
>>
>> Python2:
>> ```
>> ┌─[leonid@vasya-L460]─[~/work/mail/tarantool/tmp]
>> └──╼ python2 test.py
>> STR 1
>> --
>> 0xa1 =>
>> 0xd901 =>
>> 0xda0001 =>
>> 0xdb00000001 =>
>>
>> STR 31
>> --
>> 0xbf =>
>> 0xd91f =>
>> 0xda001f =>
>> 0xdb0000001f =>
>>
>> STR 32
>> --
>> 0xd920 =>
>> 0xda0020 =>
>> 0xdb00000020 =>
>>
>> STR 255
>> --
>> 0xd9ff =>
>> 0xda00ff =>
>> 0xdb000000ff =>
>>
>> STR 256
>> --
>> 0xda0100 =>
>> 0xdb00000100 =>
>>
>> STR 65535
>> --
>> 0xdaffff =>
>> 0xdb0000ffff =>
>>
>> STR 65536
>> --
>> 0xdb00010000 =>
>>
>> ```
>>
>> Python3:
>> ```
>> ┌─[leonid@vasya-L460]─[~/work/mail/tarantool/tmp]
>> └──╼ python3 test.py
>> STR 1
>> --
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 31
>> --
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 32
>> --
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 255
>> --
>> 0x686578 =>
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 256
>> --
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 65535
>> --
>> 0x686578 =>
>> 0x686578 =>
>>
>> STR 65536
>> --
>> 0x686578 =>
>>
>> ```
>>
>> Am I doing something wrong or a bug in the patch?
>
> Yep, patch was incorrect. I have removed it and added new one to the
> branch and send to this thread [1].
>
> Could you please take a look?
>
> 1.
> https://lists.tarantool.org/pipermail/tarantool-patches/2020-December/021528.html
Done.
>
>
>
>>
>>>
>>>
>>>> Please, add a comment that describing the difference between python2
>>>> and
>>>> python3 in this print.
>>>>
>>> Added comment to a commit message and force-pushed.
>>>>> + except AttributeError:
>>>>> + print("0x" + fmt.encode("hex"), "=>", end=" ")
>>>>> field = "*" * size
>>>>> c._send_request(RawInsert(c, space_id, "\x91" + fmt +
>>>>> field))
>>>>> tuple = space.select(field)[0]
>>>>>
next prev parent reply other threads:[~2020-12-23 10:00 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1607675470.git.sergeyb@tarantool.org>
2020-12-11 8:42 ` [Tarantool-patches] [PATCH 1/4] test: convert print to function and make quotes use consistent sergeyb
2020-12-13 17:58 ` Vladislav Shpilevoy
2020-12-14 11:44 ` Sergey Bronnikov
2020-12-15 10:05 ` Leonid Vasiliev
2020-12-15 11:51 ` Sergey Bronnikov
2020-12-20 16:47 ` Vladislav Shpilevoy
2020-12-23 12:34 ` Sergey Bronnikov
2020-12-11 8:42 ` [Tarantool-patches] [PATCH 2/4] test: make dict.items() compatible with Python 3.x sergeyb
2020-12-13 17:58 ` Vladislav Shpilevoy
2020-12-15 12:40 ` Leonid Vasiliev
2020-12-11 8:42 ` [Tarantool-patches] [PATCH 3/4] test: make convert to hex " sergeyb
2020-12-15 11:55 ` Leonid Vasiliev
2020-12-16 14:04 ` Sergey Bronnikov
2020-12-17 18:26 ` Leonid Vasiliev
2020-12-22 8:15 ` [Tarantool-patches] [PATCH] test: make strings compatible with Python 3 sergeyb
2020-12-23 9:59 ` Leonid Vasiliev
2020-12-23 10:35 ` Sergey Bronnikov
2020-12-23 11:09 ` Leonid Vasiliev
2020-12-22 8:19 ` [Tarantool-patches] [PATCH 3/4] test: make convert to hex compatible with Python 3.x Sergey Bronnikov
2020-12-23 10:00 ` Leonid Vasiliev [this message]
2020-12-11 8:42 ` [Tarantool-patches] [PATCH 4/4] test: remove dead code in Python tests end extra newline sergeyb
2020-12-15 12:51 ` Leonid Vasiliev
2020-12-15 13:00 ` Sergey Bronnikov
2020-12-13 19:02 ` [Tarantool-patches] [PATCH v3 0/4] Support Python 3 in tests and PEPify source code Sergey Bronnikov
2020-12-23 10:07 ` Leonid Vasiliev
2020-12-23 12:42 ` Sergey Bronnikov
2020-12-23 23:51 ` Leonid Vasiliev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2023af09-b519-9fff-1697-9ea476242fbf@tarantool.org \
--to=lvasiliev@tarantool.org \
--cc=alexander.turenko@tarantool.org \
--cc=imun@tarantool.org \
--cc=sergeyb@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 3/4] test: make convert to hex compatible with Python 3.x' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox