public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
@ 2022-04-22 17:36 Florian Weimer
  2022-04-25  7:17 ` Florian Weimer
  0 siblings, 1 reply; 6+ messages in thread
From: Florian Weimer @ 2022-04-22 17:36 UTC (permalink / raw)
  To: libc-alpha

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
  2022-04-22 17:36 [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier Florian Weimer
@ 2022-04-25  7:17 ` Florian Weimer
  2022-04-25 17:21   ` Adhemerval Zanella
  0 siblings, 1 reply; 6+ messages in thread
From: Florian Weimer @ 2022-04-25  7:17 UTC (permalink / raw)
  To: libc-alpha

* 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
  2022-04-25  7:17 ` Florian Weimer
@ 2022-04-25 17:21   ` Adhemerval Zanella
  2022-04-25 21:06     ` Florian Weimer
  0 siblings, 1 reply; 6+ messages in thread
From: Adhemerval Zanella @ 2022-04-25 17:21 UTC (permalink / raw)
  To: 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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
  2022-04-25 17:21   ` Adhemerval Zanella
@ 2022-04-25 21:06     ` Florian Weimer
  2022-04-26 13:19       ` Adhemerval Zanella
  0 siblings, 1 reply; 6+ messages in thread
From: Florian Weimer @ 2022-04-25 21:06 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
  2022-04-25 21:06     ` Florian Weimer
@ 2022-04-26 13:19       ` Adhemerval Zanella
  2022-04-27 20:45         ` Fangrui Song
  0 siblings, 1 reply; 6+ messages in thread
From: Adhemerval Zanella @ 2022-04-26 13:19 UTC (permalink / raw)
  To: Florian Weimer, Adhemerval Zanella via Libc-alpha



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).

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
  2022-04-26 13:19       ` Adhemerval Zanella
@ 2022-04-27 20:45         ` Fangrui Song
  0 siblings, 0 replies; 6+ messages in thread
From: Fangrui Song @ 2022-04-27 20:45 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: Florian Weimer, Adhemerval Zanella via Libc-alpha

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-27 20:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 17:36 [PATCH] scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier Florian Weimer
2022-04-25  7:17 ` Florian Weimer
2022-04-25 17:21   ` Adhemerval Zanella
2022-04-25 21:06     ` Florian Weimer
2022-04-26 13:19       ` Adhemerval Zanella
2022-04-27 20:45         ` Fangrui Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).