#1270 Remove trait change exception handler in reraise_exceptions

Merged Pseudo commit used to compare (6f25745...815cfb0)
Coverage Reach
wx/tree_editor.py wx/table_editor.py wx/tabular_editor.py wx/ui_panel.py wx/range_editor.py wx/list_str_editor.py wx/date_editor.py wx/table_model.py wx/list_editor.py wx/extra/bounds_editor.py wx/extra/windows/ie_html_editor.py wx/extra/windows/flash_editor.py wx/extra/led_editor.py wx/scrubber_editor.py wx/instance_editor.py wx/helper.py wx/toolkit.py wx/image_slice.py wx/enum_editor.py wx/set_editor.py wx/ui_live.py wx/code_editor.py wx/file_editor.py wx/color_editor.py wx/menu.py wx/ui_modal.py wx/dnd_editor.py wx/text_editor.py wx/check_list_editor.py wx/font_editor.py wx/ui_base.py wx/editor.py wx/ui_wizard.py wx/image_control.py wx/history_control.py wx/color_trait.py wx/image_enum_editor.py wx/key_binding_editor.py wx/font_trait.py wx/editor_factory.py wx/progress_editor.py wx/editors_gen.py wx/drop_editor.py wx/view_application.py wx/html_editor.py wx/search_editor.py wx/history_editor.py wx/button_editor.py wx/ui_window.py wx/time_editor.py wx/rgb_color_trait.py wx/compound_editor.py wx/animated_gif_editor.py wx/key_event_to_name.py wx/directory_editor.py wx/boolean_editor.py wx/constants.py wx/rgb_color_editor.py wx/image_editor.py wx/custom_editor.py wx/csv_list_editor.py wx/title_editor.py wx/null_editor.py wx/array_editor.py wx/value_editor.py wx/basic_editor_factory.py wx/tuple_editor.py wx/ui_editor.py wx/shell_editor.py wx/data_frame_editor.py wx/popup_editor.py wx/array_view_editor.py wx/color_column.py wx/__init__.py qt4/tree_editor.py qt4/table_editor.py qt4/ui_panel.py qt4/tabular_editor.py qt4/range_editor.py qt4/extra/bounds_editor.py qt4/extra/range_slider.py qt4/extra/checkbox_renderer.py qt4/extra/qt_view.py qt4/extra/table_image_renderer.py qt4/extra/progress_renderer.py qt4/extra/led_editor.py qt4/list_editor.py qt4/toolkit.py qt4/list_str_editor.py qt4/table_model.py qt4/instance_editor.py qt4/enum_editor.py qt4/set_editor.py qt4/editor.py qt4/ui_base.py qt4/tabular_model.py qt4/file_editor.py qt4/code_editor.py qt4/image_enum_editor.py qt4/menu.py qt4/list_str_model.py qt4/check_list_editor.py qt4/date_editor.py qt4/color_editor.py qt4/helper.py qt4/text_editor.py qt4/image_editor.py qt4/ui_modal.py qt4/font_editor.py qt4/ui_live.py qt4/font_trait.py qt4/button_editor.py qt4/key_binding_editor.py qt4/drop_editor.py qt4/styled_date_editor.py qt4/editor_factory.py qt4/datetime_editor.py qt4/progress_editor.py qt4/tree_node_renderers.py qt4/search_editor.py qt4/date_range_editor.py qt4/history_editor.py qt4/color_trait.py qt4/html_editor.py qt4/view_application.py qt4/boolean_editor.py qt4/time_editor.py qt4/compound_editor.py qt4/clipboard.py qt4/key_event_to_name.py qt4/rgb_color_trait.py qt4/directory_editor.py qt4/rgb_color_editor.py qt4/title_editor.py qt4/csv_list_editor.py qt4/constants.py qt4/custom_editor.py qt4/null_editor.py qt4/value_editor.py qt4/array_editor.py qt4/basic_editor_factory.py qt4/shell_editor.py qt4/ui_editor.py qt4/tuple_editor.py qt4/data_frame_editor.py qt4/array_view_editor.py qt4/__init__.py editors/table_editor.py editors/range_editor.py editors/array_editor.py editors/shell_editor.py editors/csv_list_editor.py editors/tuple_editor.py editors/html_editor.py editors/list_editor.py editors/api.py editors/tree_editor.py editors/tabular_editor.py editors/image_enum_editor.py editors/button_editor.py editors/popup_editor.py editors/value_editor.py editors/code_editor.py editors/list_str_editor.py editors/text_editor.py editors/date_editor.py editors/enum_editor.py editors/default_override.py editors/instance_editor.py editors/file_editor.py editors/scrubber_editor.py editors/custom_editor.py editors/progress_editor.py editors/color_editor.py editors/image_editor.py editors/search_editor.py editors/boolean_editor.py editors/font_editor.py editors/rgb_color_editor.py editors/title_editor.py editors/history_editor.py editors/set_editor.py editors/datetime_editor.py editors/styled_date_editor.py editors/time_editor.py editors/drop_editor.py editors/compound_editor.py editors/dnd_editor.py editors/null_editor.py editors/key_binding_editor.py editors/check_list_editor.py editors/date_range_editor.py editors/directory_editor.py editors/__init__.py testing/tester/_ui_tester_registry/wx/_traitsui/enum_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/list_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/range_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/check_list_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/button_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/instance_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/text_editor.py testing/tester/_ui_tester_registry/wx/_traitsui/editor_factory.py testing/tester/_ui_tester_registry/wx/_traitsui/ui_base.py testing/tester/_ui_tester_registry/wx/_traitsui/font_editor.py testing/tester/_ui_tester_registry/wx/_interaction_helpers.py testing/tester/_ui_tester_registry/wx/default_registry.py testing/tester/_ui_tester_registry/wx/_registry_helper.py testing/tester/_ui_tester_registry/qt4/_traitsui/enum_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/list_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/range_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/check_list_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/instance_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/text_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/button_editor.py testing/tester/_ui_tester_registry/qt4/_traitsui/ui_base.py testing/tester/_ui_tester_registry/qt4/_traitsui/editor_factory.py testing/tester/_ui_tester_registry/qt4/_traitsui/font_editor.py testing/tester/_ui_tester_registry/qt4/_interaction_helpers.py testing/tester/_ui_tester_registry/qt4/default_registry.py testing/tester/_ui_tester_registry/qt4/_registry_helper.py testing/tester/_ui_tester_registry/_traitsui_ui.py testing/tester/_ui_tester_registry/_layout.py testing/tester/_ui_tester_registry/default_registry.py testing/tester/_ui_tester_registry/_common_ui_targets.py testing/tester/_ui_tester_registry/_compat.py testing/tester/ui_wrapper.py testing/tester/registry.py testing/tester/ui_tester.py testing/tester/exceptions.py testing/tester/locator.py testing/tester/command.py testing/tester/query.py testing/_exception_handling.py testing/_gui.py tree_node.py extras/_demo_legacy.py extras/saving.py extras/has_dynamic_views.py extras/progress_column.py extras/checkbox_column.py extras/edit_column.py extras/api.py extras/_demo_info.py extras/demo.py ui.py table_column.py tabular_adapter.py editor.py ui_editors/data_frame_editor.py ui_editors/array_view_editor.py group.py table_filter.py undo.py file_dialog.py value_tree.py handler.py item.py list_str_adapter.py key_bindings.py view.py null/font_trait.py null/toolkit.py null/rgb_color_trait.py null/color_trait.py null/__init__.py editor_factory.py toolkit.py helper.py view_element.py ui_traits.py instance_choice.py view_elements.py base_panel.py theme.py dockable_view_element.py dock_window_theme.py delegating_handler.py api.py menu.py message.py color_column.py __init__.py ui_editor.py editors_gen.py basic_editor_factory.py help_template.py ui_info.py context_value.py tree_node_renderer.py toolkit_traits.py help.py include.py default_dock_window_theme.py image/image.py mimedata.py

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.

Showing 1 of 59 files from the diff.
Other files ignored by Codecov
setup.cfg has changed.

@@ -14,11 +14,6 @@
Loading
14 14
import sys
15 15
import traceback
16 16
17 -
from traits.api import (
18 -
    pop_exception_handler,
19 -
    push_exception_handler,
20 -
)
21 -
22 17
_TRAITSUI_LOGGER = logging.getLogger("traitsui")
23 18
24 19
@@ -39,8 +34,6 @@
Loading
39 34
    """ Context manager to capture all exceptions occurred in the context and
40 35
    then reraise a RuntimeError if there are any exceptions captured.
41 36
42 -
    Exceptions from traits change notifications are also captured and reraised.
43 -
44 37
    Depending on the GUI toolkit backend, unexpected exceptions occurred in the
45 38
    GUI event loop may (1) cause fatal early exit of the test suite or (2) be
46 39
    printed to the console without causing the test to error. This context
@@ -62,22 +55,11 @@
Loading
62 55
            serialized[-1]
63 56
        )
64 57
65 -
    def handler(object, name, old, new):
66 -
        type, value, tb = sys.exc_info()
67 -
        serialized_exceptions.append(_serialize_exception(type, value, tb))
68 -
        logger.exception(
69 -
            "Unexpected error occurred from change handler "
70 -
            "(object: %r, name: %r, old: %r, new: %r).",
71 -
            object, name, old, new,
72 -
        )
73 -
74 -
    push_exception_handler(handler=handler)
75 58
    sys.excepthook = excepthook
76 59
    try:
77 60
        yield
78 61
    finally:
79 62
        sys.excepthook = sys.__excepthook__
80 -
        pop_exception_handler()
81 63
        if serialized_exceptions:
82 64
            msg = "Uncaught exceptions found.\n"
83 65
            msg += "\n".join(

Learn more Showing 7 files with coverage changes found.

Changes in traitsui/ui.py
-2
-1
+3
Loading file...
Changes in traitsui/qt4/range_editor.py
-2
-2
+4
Loading file...
Changes in traitsui/qt4/ui_base.py
-2
+2
Loading file...
Changes in traitsui/qt4/instance_editor.py
-5
+3
+2
Loading file...
Changes in traitsui/key_bindings.py
-1
-1
+2
Loading file...
Changes in traitsui/qt4/datetime_editor.py
-1
-1
+2
Loading file...
Changes in traitsui/helper.py
-11
+9
+2
Loading file...
Files Coverage
traitsui 0.1% 34.6%
Project Totals (295 files) 34.6%
Loading