ethanfurman / aenum

Advanced Enumerations for Python
179 stars 13 forks source link

Test failures in Python 3.10 #7

Closed tirkarthi closed 2 years ago

tirkarthi commented 3 years ago

It seems imports like os, unittest and shutil are also missing in test_v3.py when the file is ran standalone. See also for a report in fedora : https://bugzilla.redhat.com/show_bug.cgi?id=1899122

PYTHONPATH=. ~/cpython/python aenum/test.py
.....................................................E................E...................................................E.........................................................................F.E.............................................................................................................................................................E../root/checked_repos/aenum/aenum/test.py:64: DeprecationWarning: invalid escape sequence \.
  'inspect\.getargspec\(\) is deprecated',
/root/checked_repos/aenum/aenum/test.py:3054: DeprecationWarning: invalid escape sequence \.
  with self.assertRaisesRegex(TypeError, 'Field\.BLAH: number of fields provided do not match init'):
F
======================================================================
ERROR: test_enum_with_value_name (__main__.TestEnum)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test.py", line 1264, in test_enum_with_value_name
    class Huh(Enum):
  File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
    enum_class.__dict__[name].__set_name__(enum_class, name)
KeyError: 'name'

======================================================================
ERROR: test_extending5 (__main__.TestEnum)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test.py", line 2539, in test_extending5
    class Color(Enum):
  File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
    enum_class.__dict__[name].__set_name__(enum_class, name)
KeyError: 'value'

======================================================================
ERROR: test_no_duplicates_kinda (__main__.TestEnum)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test.py", line 2757, in test_no_duplicates_kinda
    class Silly(UniqueEnum):
  File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
    enum_class.__dict__[name].__set_name__(enum_class, name)
KeyError: 'name'

======================================================================
ERROR: test_no_duplicates_kinda (aenum.test_v3.TestEnumV3)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test_v3.py", line 448, in test_no_duplicates_kinda
    class Silly(UniqueEnum):
  File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
    enum_class.__dict__[name].__set_name__(enum_class, name)
KeyError: 'name'

======================================================================
ERROR: test_unique_with_name (__main__.TestUnique)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test.py", line 5714, in test_unique_with_name
    class Silly(Enum):
  File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
    enum_class.__dict__[name].__set_name__(enum_class, name)
KeyError: 'name'

======================================================================
FAIL: test_nested_classes_in_enum_do_not_create_members (aenum.test_v3.TestEnumV3)
Support locally-defined nested classes.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/checked_repos/aenum/aenum/test_v3.py", line 713, in test_nested_classes_in_enum_do_not_create_members
    self.assertTrue(isinstance(Outer.Inner, type))
AssertionError: False is not true

======================================================================
FAIL: /root/checked_repos/aenum/aenum/doc/aenum.rst
Doctest: aenum.rst
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/cpython/Lib/doctest.py", line 2208, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for aenum.rst
  File "/root/checked_repos/aenum/aenum/doc/aenum.rst", line 0

----------------------------------------------------------------------
File "/root/checked_repos/aenum/aenum/doc/aenum.rst", line 1247, in aenum.rst
Failed example:
    class FieldTypes(Enum):
        name = 1
        value = 2
        size = 3
Exception raised:
    Traceback (most recent call last):
      File "/root/cpython/Lib/doctest.py", line 1340, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest aenum.rst[148]>", line 1, in <module>
        class FieldTypes(Enum):
      File "/root/checked_repos/aenum/aenum/__init__.py", line 2391, in __new__
        enum_class.__dict__[name].__set_name__(enum_class, name)
    KeyError: 'name'
----------------------------------------------------------------------
File "/root/checked_repos/aenum/aenum/doc/aenum.rst", line 1252, in aenum.rst
Failed example:
    FieldTypes.size.value
Exception raised:
    Traceback (most recent call last):
      File "/root/cpython/Lib/doctest.py", line 1340, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest aenum.rst[149]>", line 1, in <module>
        FieldTypes.size.value
    NameError: name 'FieldTypes' is not defined
----------------------------------------------------------------------
File "/root/checked_repos/aenum/aenum/doc/aenum.rst", line 1254, in aenum.rst
Failed example:
    FieldTypes.size
Exception raised:
    Traceback (most recent call last):
      File "/root/cpython/Lib/doctest.py", line 1340, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest aenum.rst[150]>", line 1, in <module>
        FieldTypes.size
    NameError: name 'FieldTypes' is not defined
----------------------------------------------------------------------
File "/root/checked_repos/aenum/aenum/doc/aenum.rst", line 1256, in aenum.rst
Failed example:
    FieldTypes.value.size
Expected:
    Traceback (most recent call last):
    ...
    AttributeError: FieldTypes: no attribute 'size'
Got:
    Traceback (most recent call last):
      File "/root/cpython/Lib/doctest.py", line 1340, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest aenum.rst[151]>", line 1, in <module>
        FieldTypes.value.size
    NameError: name 'FieldTypes' is not defined

----------------------------------------------------------------------
Ran 360 tests in 1.478s

FAILED (failures=2, errors=5)

Python 3.10.0a5+ (heads/master:cd80f430da, Feb 17 2021, 14:08:19)

ethanfurman commented 2 years ago

test_v3.py is not meant to be run by itself -- it's imported into test.py and included in those runs.

ethanfurman commented 2 years ago

Is this still a problem in the latest version? (3.1.2 as of this comment.)