scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
Python versions.
---
scripts/glibcelf.py | 6 ++++++
1 file changed, 6 insertions(+)
Comments
* Florian Weimer:
> enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
> Python versions.
>
> ---
> scripts/glibcelf.py | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
> index 8f7d0ca184..da0d5380f3 100644
> --- a/scripts/glibcelf.py
> +++ b/scripts/glibcelf.py
> @@ -28,6 +28,12 @@ import collections
> import enum
> import struct
>
> +if not hasattr(enum, 'IntFlag'):
> + import sys
> + sys.stdout.write(
> + 'warning: glibcelf.py needs Python 3.6 for enum support\n')
> + sys.exit(77)
> +
> class _OpenIntEnum(enum.IntEnum):
> """Integer enumeration that supports arbitrary int values."""
> @classmethod
I've pushed this, to avoid masking other failures in Joseph's tester.
Thanks,
Florian
On 25/04/2022 04:17, Florian Weimer via Libc-alpha wrote:
> * Florian Weimer:
>
>> enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
>> Python versions.
>>
>> ---
>> scripts/glibcelf.py | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
>> index 8f7d0ca184..da0d5380f3 100644
>> --- a/scripts/glibcelf.py
>> +++ b/scripts/glibcelf.py
>> @@ -28,6 +28,12 @@ import collections
>> import enum
>> import struct
>>
>> +if not hasattr(enum, 'IntFlag'):
>> + import sys
>> + sys.stdout.write(
>> + 'warning: glibcelf.py needs Python 3.6 for enum support\n')
>> + sys.exit(77)
>> +
>> class _OpenIntEnum(enum.IntEnum):
>> """Integer enumeration that supports arbitrary int values."""
>> @classmethod
>
> I've pushed this, to avoid masking other failures in Joseph's tester.
We still indicate that Python 3.4 is supported on INSTALL. I think we
should either update it or add a fallback code on glibcelf.py.
* Adhemerval Zanella via Libc-alpha:
> On 25/04/2022 04:17, Florian Weimer via Libc-alpha wrote:
>> * Florian Weimer:
>>
>>> enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
>>> Python versions.
>>>
>>> ---
>>> scripts/glibcelf.py | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
>>> index 8f7d0ca184..da0d5380f3 100644
>>> --- a/scripts/glibcelf.py
>>> +++ b/scripts/glibcelf.py
>>> @@ -28,6 +28,12 @@ import collections
>>> import enum
>>> import struct
>>>
>>> +if not hasattr(enum, 'IntFlag'):
>>> + import sys
>>> + sys.stdout.write(
>>> + 'warning: glibcelf.py needs Python 3.6 for enum support\n')
>>> + sys.exit(77)
>>> +
>>> class _OpenIntEnum(enum.IntEnum):
>>> """Integer enumeration that supports arbitrary int values."""
>>> @classmethod
>>
>> I've pushed this, to avoid masking other failures in Joseph's tester.
>
> We still indicate that Python 3.4 is supported on INSTALL. I think we
> should either update it or add a fallback code on glibcelf.py.
Tests using scripts/glibcelf.py are marked as UNSUPPORTED. Isn't this
sufficient for now?
We can say that Python 3.6 or later is recommended for full test
coverage.
Thanks,
Florian
On 25/04/2022 18:06, Florian Weimer wrote:
> * Adhemerval Zanella via Libc-alpha:
>
>> On 25/04/2022 04:17, Florian Weimer via Libc-alpha wrote:
>>> * Florian Weimer:
>>>
>>>> enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
>>>> Python versions.
>>>>
>>>> ---
>>>> scripts/glibcelf.py | 6 ++++++
>>>> 1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
>>>> index 8f7d0ca184..da0d5380f3 100644
>>>> --- a/scripts/glibcelf.py
>>>> +++ b/scripts/glibcelf.py
>>>> @@ -28,6 +28,12 @@ import collections
>>>> import enum
>>>> import struct
>>>>
>>>> +if not hasattr(enum, 'IntFlag'):
>>>> + import sys
>>>> + sys.stdout.write(
>>>> + 'warning: glibcelf.py needs Python 3.6 for enum support\n')
>>>> + sys.exit(77)
>>>> +
>>>> class _OpenIntEnum(enum.IntEnum):
>>>> """Integer enumeration that supports arbitrary int values."""
>>>> @classmethod
>>>
>>> I've pushed this, to avoid masking other failures in Joseph's tester.
>>
>> We still indicate that Python 3.4 is supported on INSTALL. I think we
>> should either update it or add a fallback code on glibcelf.py.
>
> Tests using scripts/glibcelf.py are marked as UNSUPPORTED. Isn't this
> sufficient for now?
>
> We can say that Python 3.6 or later is recommended for full test
> coverage.
It would be good to have it proper documented yes, but would be possible
to adapt the glibcelf.py to work with Python 3.4? So there will be no
need to have to document that we support two different minor Python
versions where if you use the older one you will have less test
coverage (which I think it is not ideal).
On 2022-04-26, Adhemerval Zanella via Libc-alpha wrote:
>
>
>On 25/04/2022 18:06, Florian Weimer wrote:
>> * Adhemerval Zanella via Libc-alpha:
>>
>>> On 25/04/2022 04:17, Florian Weimer via Libc-alpha wrote:
>>>> * Florian Weimer:
>>>>
>>>>> enum.IntFlag and enum.EnumMeta._missing_ support is not present in those
>>>>> Python versions.
>>>>>
>>>>> ---
>>>>> scripts/glibcelf.py | 6 ++++++
>>>>> 1 file changed, 6 insertions(+)
>>>>>
>>>>> diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
>>>>> index 8f7d0ca184..da0d5380f3 100644
>>>>> --- a/scripts/glibcelf.py
>>>>> +++ b/scripts/glibcelf.py
>>>>> @@ -28,6 +28,12 @@ import collections
>>>>> import enum
>>>>> import struct
>>>>>
>>>>> +if not hasattr(enum, 'IntFlag'):
>>>>> + import sys
>>>>> + sys.stdout.write(
>>>>> + 'warning: glibcelf.py needs Python 3.6 for enum support\n')
>>>>> + sys.exit(77)
>>>>> +
>>>>> class _OpenIntEnum(enum.IntEnum):
>>>>> """Integer enumeration that supports arbitrary int values."""
>>>>> @classmethod
>>>>
>>>> I've pushed this, to avoid masking other failures in Joseph's tester.
>>>
>>> We still indicate that Python 3.4 is supported on INSTALL. I think we
>>> should either update it or add a fallback code on glibcelf.py.
>>
>> Tests using scripts/glibcelf.py are marked as UNSUPPORTED. Isn't this
>> sufficient for now?
>>
>> We can say that Python 3.6 or later is recommended for full test
>> coverage.
>
>It would be good to have it proper documented yes, but would be possible
>to adapt the glibcelf.py to work with Python 3.4? So there will be no
>need to have to document that we support two different minor Python
>versions where if you use the older one you will have less test
>coverage (which I think it is not ideal).
Even Python 3.6 has reached end of life, so I think it is perhaps
reasonable to assume that at least 3.5 is needed for additional test
coverage but not the build...
@@ -28,6 +28,12 @@ import collections
import enum
import struct
+if not hasattr(enum, 'IntFlag'):
+ import sys
+ sys.stdout.write(
+ 'warning: glibcelf.py needs Python 3.6 for enum support\n')
+ sys.exit(77)
+
class _OpenIntEnum(enum.IntEnum):
"""Integer enumeration that supports arbitrary int values."""
@classmethod