[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 6/9] iotests.py: Add is_str()
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH 6/9] iotests.py: Add is_str() |
Date: |
Wed, 30 Jan 2019 14:23:47 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 29.01.19 22:35, John Snow wrote:
>
>
> On 1/23/19 9:46 AM, Max Reitz wrote:
>> Strings can have various representations, this helper function checks
>> whether a given value is in any of them.
>>
>> Signed-off-by: Max Reitz <address@hidden>
>> ---
>> tests/qemu-iotests/iotests.py | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
>> index f51456fa63..29e4e3306f 100644
>> --- a/tests/qemu-iotests/iotests.py
>> +++ b/tests/qemu-iotests/iotests.py
>> @@ -221,6 +221,12 @@ def image_size(img):
>> r = qemu_img_pipe('info', '--output=json', '-f', imgfmt, img)
>> return json.loads(r)['virtual-size']
>>
>> +def is_str(val):
>> + if sys.version_info.major >= 3:
>> + return isinstance(val, str) or isinstance(val, bytes)
>> + else:
>> + return isinstance(val, str) or isinstance(val, unicode)
>> +
>
> conflating bytes with strings under a function named "is_str()" makes me
> nervous, but... I have no concrete objections beyond hypothetically
> "What if people take this function name literally?"
Hm. Well, the strings from 2.x are byte strings in 3.x, so.
But then there's this:
$ python2
[...]
>>> 'foo'.replace('f', 'g')
'goo'
>>> u'foo'.replace('f', 'g')
u'goo'
$ python3
[...]
>>> 'foo'.replace('f', 'g')
'goo'
>>> b'foo'.replace('f', 'g')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
So that just doesn't work for the next patch. How about I just drop the
bytes test and if at some point someone feels the need to add it, we can
think about it again?
Max
> *prays for 2.x support to get dropped*
>
> Reviewed-by: John Snow <address@hidden>
>
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH 5/9] iotests: Fix 237 for Python 2.x, (continued)
- [Qemu-devel] [PATCH 4/9] iotests: Fix 207 to use QMP filters for qmp_log, Max Reitz, 2019/01/23
- [Qemu-devel] [PATCH 3/9] iotests: Fix 232 for LUKS, Max Reitz, 2019/01/23
- [Qemu-devel] [PATCH 6/9] iotests.py: Add is_str(), Max Reitz, 2019/01/23
- [Qemu-devel] [PATCH 8/9] iotests: Filter SSH paths, Max Reitz, 2019/01/23
- [Qemu-devel] [PATCH 7/9] iotests.py: Filter filename in any string value, Max Reitz, 2019/01/23
- [Qemu-devel] [PATCH 9/9] iotests.py: s/_/-/g on keys in qmp_log(), Max Reitz, 2019/01/23