You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OS: all
Python version: 3.8
Toolkit: Qt
Qt API: PySide6
Description
Tests fail when ETS_TOOLKIT is set to 'qt4'. The TestQt4ImportHooks assume that the qt4 modules have not been imported yet which is probably not true in this case. I think that the testcase should detect that ETS_TOOLKIT is qt4 and skip the related tests or ask the user to stop using the qt4 value.
FAIL: test_qt4_import_no_hook (pyface.ui.qt.tests.test_qt4_import_hooks.TestQt4ImportHooks)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/itziakos/.edm/envs/build-env/lib/python3.8/site-packages/pyface/ui/qt/tests/test_qt4_import_hooks.py", line 33, in test_qt4_import_no_hook
import pyface.ui.qt4.tests.good_package.good_import # noqa F401
AssertionError: ModuleNotFoundError not raised
======================================================================
FAIL: test_qt4_import_other_package_hook (pyface.ui.qt.tests.test_qt4_import_hooks.TestQt4ImportHooks)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/itziakos/.edm/envs/build-env/lib/python3.8/site-packages/pyface/ui/qt/tests/test_qt4_import_hooks.py", line 53, in test_qt4_import_other_package_hook
import pyface.ui.qt4.tests.good_package.good_import # noqa F401
AssertionError: ModuleNotFoundError not raised
======================================================================
FAIL: test_qt4_import_with_ets_toolkit_qt (pyface.ui.qt.tests.test_qt4_import_hooks.TestQt4ImportHooks)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/itziakos/.edm/envs/build-env/lib/python3.8/site-packages/pyface/ui/qt/tests/test_qt4_import_hooks.py", line 171, in test_qt4_import_with_ets_toolkit_qt
import pyface.ui.qt4.tests.good_package.good_import # noqa F401
AssertionError: ModuleNotFoundError not raised
======================================================================
FAIL: test_qt4_import_with_etsconfig_toolkit_qt (pyface.ui.qt.tests.test_qt4_import_hooks.TestQt4ImportHooks)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/itziakos/.edm/envs/build-env/lib/python3.8/site-packages/pyface/ui/qt/tests/test_qt4_import_hooks.py", line 204, in test_qt4_import_with_etsconfig_toolkit_qt
import pyface.ui.qt4.tests.good_package.good_import # noqa F401
AssertionError: ModuleNotFoundError not raised
The text was updated successfully, but these errors were encountered:
itziakos
changed the title
Bug report: Tests should be skipped when ETS_TOOLKIT=qt4
Bug report: (some) tests should be skipped when ETS_TOOLKIT=qt4
Jun 27, 2023
I think this is more an issue with the tests themselves - they should be robust against unexpected values for ETS_TOOLKIT - but yes, skipping would be a first step to resolving.
No "qt4" refers to an old ETS_TOOLKIT value. Back in the day, it used to be that setting ETS_TOOLKIT=qt4 would force the Qt backend (at that time Qt 4.x). When the Qt 5.x and 6.x python wrappers became available, the ETS_TOOLKIT=qt value was added to replace qt4. Note that qt4, is (almost) equivalent to qt and it is still around to help with the transition (see https://docs.enthought.com/pyface/toolkits.html#the-qt4-toolkit)
Environment
OS: all
Python version: 3.8
Toolkit: Qt
Qt API: PySide6
Description
Tests fail when ETS_TOOLKIT is set to 'qt4'. The TestQt4ImportHooks assume that the qt4 modules have not been imported yet which is probably not true in this case. I think that the testcase should detect that ETS_TOOLKIT is qt4 and skip the related tests or ask the user to stop using the qt4 value.
Steps to Reproduce
failed tests:
The text was updated successfully, but these errors were encountered: