enthought / pyface

pyface: traits-capable windowing framework
Other
104 stars 55 forks source link

Bug report: NotImplementedError wx test failure with 8.0.0 #1244

Open opoplawski opened 1 year ago

opoplawski commented 1 year ago

Environment

OS: Fedora Rawhide Python version: 3.11 Toolkit: Wx

Description

I'm trying to update the Fedora pyface package to 8.0.0 and running into a test failure:

+ export ETS_TOOLKIT=wx
+ ETS_TOOLKIT=wx
+ unset QT_API
+ export EXCLUDE_TESTS=qt
+ EXCLUDE_TESTS=qt
+ xvfb-run /usr/bin/python3 -Xfaulthandler -s -m unittest discover -v pyface
 21:46:07: Debug: Adding duplicate image handler for 'Windows bitmap file'
21:46:07: Debug: Adding duplicate animation handler for '1' type
21:46:07: Debug: Adding duplicate animation handler for '2' type
21:46:07: Debug: Adding duplicate image handler for 'Windows bitmap file'
21:46:07: Debug: Adding duplicate animation handler for '1' type
21:46:07: Debug: Adding duplicate animation handler for '2' type
21:46:07: Debug: Adding duplicate image handler for 'Windows bitmap file'
21:46:07: Debug: Adding duplicate animation handler for '1' type
21:46:07: Debug: Adding duplicate animation handler for '2' type
pyface (unittest.loader._FailedTest.pyface) ... ERROR

======================================================================
ERROR: pyface (unittest.loader._FailedTest.pyface)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.x86_64/usr/lib/python3.11/site-packages/pyface/__init__.py", line 47, in load_tests
    package_tests = loader.discover(start_dir=this_dir, pattern=pattern)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/loader.py", line 322, in discover
    tests = list(self._find_tests(start_dir, pattern))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/loader.py", line 385, in _find_tests
    yield from self._find_tests(full_path, pattern)
  File "/usr/lib64/python3.11/unittest/loader.py", line 385, in _find_tests
    yield from self._find_tests(full_path, pattern)
  File "/usr/lib64/python3.11/unittest/loader.py", line 385, in _find_tests
    yield from self._find_tests(full_path, pattern)
  [Previous line repeated 1 more time]
  File "/usr/lib64/python3.11/unittest/loader.py", line 377, in _find_tests
    tests, should_recurse = self._find_test_path(full_path, pattern)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/loader.py", line 431, in _find_test_path
    return self.loadTestsFromModule(module, pattern=pattern), False
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/loader.py", line 124, in loadTestsFromModule
    tests.append(self.loadTestsFromTestCase(obj))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/loader.py", line 93, in loadTestsFromTestCase
    loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/suite.py", line 24, in __init__
    self.addTests(tests)
  File "/usr/lib64/python3.11/unittest/suite.py", line 57, in addTests
    for test in tests:
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.x86_64/usr/lib/python3.11/site-packages/pyface/base_toolkit.py", line 165, in __init__
    raise NotImplementedError(msg % (toolkit, package, name))
NotImplementedError: the wx pyface.ui.wx backend doesn't implement util.gui_test_assistant:GuiTestAssistant
opoplawski commented 1 year ago

Same with ETS_TOOLKIT=null:

NotImplementedError: the null pyface.ui.null backend doesn't implement util.gui_test_assistant:GuiTestAssistant

pyqt5 pyqt6 pyside2 all seem to complete fine.