Tarantool development patches archive
 help / color / mirror / Atom feed
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: Thu, 17 Dec 2020 21:26:08 +0300	[thread overview]
Message-ID: <09d776ce-85fc-d5a5-f85a-2bf86f2d73fc@tarantool.org> (raw)
In-Reply-To: <45fa75d8-129b-3170-eda2-5d170e225748@tarantool.org>

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?

> 
> 
>> 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]
>>>

  reply	other threads:[~2020-12-17 18:27 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 [this message]
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
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=09d776ce-85fc-d5a5-f85a-2bf86f2d73fc@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