textual
textual copied to clipboard
self test problems
I'm packaging textual for pkgsrc, using the pypi distfile. I usually try to run self tests on upgrades and sometimes report problems when I find them. The numbers for textual are discouraging:
322 failed, 1189 passed, 1369 skipped, 1 xfailed, 1446 warnings, 8 errors
That's with Python 3.12.5 on NetBSD/amd64 10.99.11 and the following modules installed:
babel-2.16.0
build-1.2.1
execnet-2.1.1
iniconfig-2.0.0nb1
installer-0.7.0nb1
jinja2-3.1.4
markdown-it-py-3.0.0nb1
markupsafe-2.1.5
mdurl-0.1.2nb1
packaging-24.1
pluggy-1.5.0
poetry-core-1.9.0
pygments-2.18.0
pyparsing-3.1.2
pyproject_hooks-1.0.0nb1
rich-13.7.1
syrupy-4.6.1
test-8.2.2
test-textual-snapshot-0.4.0
test-xdist-3.6.1
textual-0.76.0
typing-extensions-4.12.2
The test summary is:
FAILED tests/snapshot_tests/test_snapshots.py::test_grid_layout_basic - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_grid_layout_basic_overflow - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_grid_layout_gutter - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_layers - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_horizontal_layout - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_horizontal_layout_width_auto_dock - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_vertical_layout - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_dock_layout_sidebar - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_layout_containers - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_alignment_containers - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_switches - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_input_and_focus - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_input_validation - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_input_suggestions - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_buttons_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_placeholder_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_row_cursor_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_column_cursor_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_sort_multikey - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_remove_row - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_labels_and_fixed_data - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_style_ordering - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_add_column - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_add_row_auto_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_add_row_auto_height_sorted - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_cell_padding - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_change_cell_padding - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_header_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_list_view - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_richlog_max_lines - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_log_write_lines - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_log_write - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_fr_units - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_visibility - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tree_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_viewer_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_theme_switching - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_dark_theme_override - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_light_theme_override - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_checkbox_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_radio_button_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_radio_set_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_content_switcher_example_initial - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_content_switcher_example_switch - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tabbed_content - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tabbed_content_with_modified_tabs - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tabbed_content_styling_not_leaking - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_strings - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_options - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_tables - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_build - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_replace_prompt_from_single_line_to_single_line - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_replace_prompt_from_single_line_to_two_lines - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_replace_prompt_from_two_lines_to_three_lines - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_scrolling_in_long_list - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_indeterminate - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_indeterminate_styled - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_halfway - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_halfway_styled - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_completed - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_bar_completed_styled - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_rule_horizontal_rules - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_rule_vertical_rules - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_selection_list_selected - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_selection_list_selections - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_selection_list_tuples - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_expanded - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_from_values_expanded - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_expanded_changed - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_no_blank_has_default_value - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_set_options - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_sparkline_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_sparkline_component_classes_colors - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_collapsible_render - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_collapsible_collapsed - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_collapsible_expanded - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_collapsible_nested - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_collapsible_custom_symbol - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_directory_tree_reloading - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[align.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[align_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[background.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[background_transparency.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border_sub_title_align_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border_subtitle_align.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border_title_align.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[border_title_colors.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[box_sizing.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[color.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[color_auto.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[column_span.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[content_align.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[content_align_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[display.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[dock_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid_columns.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid_gutter.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid_rows.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid_size_both.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[grid_size_columns.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[hatch.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[height.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[height_comparison.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[keyline.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[keyline_horizontal.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[layout.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_background.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_background_hover.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_color.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_color_hover.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_style.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[link_style_hover.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[links.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[margin.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[margin_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[max_height.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[max_width.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[min_height.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[min_width.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[offset.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[opacity.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[outline.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[outline_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[outline_vs_border.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[overflow.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[padding.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[padding_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[row_span.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbar_corner_color.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbar_gutter.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbar_size.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbar_size2.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbars.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[scrollbars2.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[text_align.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[text_opacity.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[text_style.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[text_style_all.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[tint.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[visibility.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[visibility_containers.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[width.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_property[width_comparison.py] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_viewport_height_and_width_properties - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_multiple_css - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_order_independence - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_order_independence_toggle - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_columns_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_offsets - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_nested_auto_heights - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_programmatic_scrollbar_gutter_change - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_key_display - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_demo - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_label_widths - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_border_alpha - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_width_input - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_screen_switch - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_disabled_widgets - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_focus_component_class - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_line_api_scrollbars - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_remove_with_auto_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_table - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_table_markup - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_richlog_scroll - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_richlog_width - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tabs_invalidate - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scrollbar_thumb_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_pilot_resize_terminal - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_hot_reloading - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_css_hot_reloading_on_screen - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_datatable_hot_reloading - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_component_classes_reloading - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_markdown_space_squashing - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_layer_fix - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_modal_dialog_bindings_input - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_modal_dialog_bindings - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_dock_scroll - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_dock_scroll2 - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_dock_scroll_off_by_one - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scroll_to - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_fr - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_fr_margins - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scroll_visible - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scroll_to_center - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_quickly_change_tabs - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_fr_unit_with_min - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_select_rebuild - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_blur_on_disabled - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tooltips_in_compound_widgets - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_command_palette - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_command_palette_discovery - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_border_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_colors_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_easing_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_keys_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_notifications_example - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_notifications_through_screens - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_notifications_through_modes - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_notification_with_inline_link - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_notification_with_inline_link_hover - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_print_capture - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_log_blank_write - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_nested_fr - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[bash] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[html] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[javascript] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[json] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[kotlin] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[python] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[rust] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection0] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection1] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection2] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection3] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection4] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_selection_rendering[selection5] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_read_only_cursor_rendering - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[css] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[monokai] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[dracula] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[vscode_dark] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[github_light] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_alternate_screen - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_line_number_start - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_digits - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_grid - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_grid_default_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scoped_css - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_unscoped_css - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_big_buttons - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_keyline - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_button_outline - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_notifications_loading_overlap_order - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_missing_vertical_scroll - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_vertical_min_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_vertical_max_height - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_max_height_100 - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_loading_indicator - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_loading_indicator_disables_widget - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_mount_style_fix - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_zero_scrollbar_size - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tree_clearing_and_expansion - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_nested_specificity - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_tab_rename - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_input_percentage_width - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_recompose - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_ansi_color_mapping[True] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_ansi_color_mapping[False] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_pretty_grid_gutter_interaction - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_sort_children - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_app_blur - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_placeholder_disabled - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_listview_index - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_button_widths - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_welcome - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_example_calculator - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/calculator.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_color_command - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/color_command.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_dictionary - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/dictionary.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_five_by_five - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/five_by_five.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_json_tree - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/json_tree.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_markdown - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/markdown.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_merlin - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/merlin.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_pride - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/pride.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_button_with_console_markup - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_width_100 - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_button_with_multiline_label - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_margin_multiple - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_dynamic_bindings - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_grid_gutter - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_multi_keys - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_data_table_in_tabs - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_tab_active - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_hatch - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_rules - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_grid_auto - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_compact - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_compact_with_hover - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_standard_after_reactive_change - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_standard_with_hover - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_footer_classic_styling - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_option_list_scrolling_with_multiline_options - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_bindings_screen_overrides_show - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_scroll_visible_with_margin - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_programmatic_disable_button - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_toggle_style_order - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_component_text_opacity - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_progress_gradient - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_recompose_in_mount - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_enter_or_leave - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_remove_tab_no_animation - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_auto_height_scrollbar - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_bind_override - AssertionError: assert False
FAILED tests/test_features.py::test_textual_env_var - AssertionError: assert None is not None
FAILED tests/test_focus.py::test_focus_chain - RuntimeError: There is no current event loop in thread 'MainThread'.
FAILED tests/test_focus.py::test_allow_focus - RuntimeError: There is no current event loop in thread 'MainThread'.
FAILED tests/test_focus.py::test_focus_next_and_previous_with_type_selector_without_self - RuntimeError: There is no current event loop in thread 'MainThread'.
FAILED tests/test_widget.py::test_get_child_by_id_gets_first_child - AttributeError: 'async_generator' object has no attribute 'get_child_by_id'
FAILED tests/test_widget.py::test_get_child_by_id_no_matching_child - AttributeError: 'async_generator' object has no attribute 'get_child_by_id'
FAILED tests/test_widget.py::test_get_child_by_id_only_immediate_descendents - AttributeError: 'async_generator' object has no attribute 'get_child_by_id'
FAILED tests/test_widget.py::test_get_widget_by_id_no_matching_child - AttributeError: 'async_generator' object has no attribute 'get_widget_by_id'
FAILED tests/test_widget.py::test_get_widget_by_id_non_immediate_descendants - AttributeError: 'async_generator' object has no attribute 'get_widget_by_id'
FAILED tests/test_widget.py::test_get_widget_by_id_immediate_descendants - AttributeError: 'async_generator' object has no attribute 'get_widget_by_id'
FAILED tests/test_widget.py::test_get_widget_by_id_doesnt_return_self - AttributeError: 'async_generator' object has no attribute 'get_widget_by_id'
FAILED tests/test_widget.py::test_get_widgets_app_delegated - AttributeError: 'async_generator' object has no attribute 'get_child_by_id'
FAILED tests/test_widget.py::test_widget_mount_ids_must_be_unique_mounting_all_in_one_go - AttributeError: 'async_generator' object has no attribute 'mount'
FAILED tests/test_widget.py::test_widget_mount_ids_must_be_unique_mounting_multiple_calls - AttributeError: 'async_generator' object has no attribute 'mount'
ERROR tests/test_focus.py::test_focus_next_and_previous - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_next_wrap_around - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_previous_wrap_around - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_wrap_around_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_no_focus_empty_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_next_and_previous_with_type_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_next_and_previous_with_str_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_next_and_previous_with_str_selector_without_self - RuntimeError: There is no current event loop in thread 'MainThread'.
A couple are easy, some example files seem to be missing from the pypi distfile. Most (all?) snapshot test look broken.
Let me know if I missed some dependencies or if there's another easy fix.
Can you paste the full output? There should be tracebacks.
The failed snapshots will also produce an html file, that shows the before and after. Do you have that?
Thank you for forcing me to take a closer look at this. I identified two missing dependencies (linkify-it-py and test-asyncio) which now makes it
312 failed, 2573 passed, 1 skipped, 3 xfailed, 2 warnings
and I think two of the failing ones are because no treesitter support module is installed. The snapshots still fail and
FAILED tests/test_features.py::test_textual_env_var - AssertionError: assert ...
FAILED tests/text_area/test_languages.py::test_register_language - ModuleNotF...
FAILED tests/text_area/test_languages.py::test_register_language_existing_language
FAILED tests/text_area/test_languages.py::test_language_binary_missing - Attr...
I'll attach the log output.
I'm not comfortable with uploading the snapshot html file because it contains quite a lot of information about the system it's running on. Can you explain how to interpret it?
It looks like the snapshots are broken because the following directory is missing: https://github.com/Textualize/textual/tree/main/tests/snapshot_tests/snapshots/test_snapshots
Hm, the directory exists in the build/test environment (not in the environment where I looked at the html output though).
# ls textual-0.76.0/tests/snapshot_tests/__snapshots__/test_snapshots/ | wc -l
308
Is there some SVG support needed that I might be missing?
It doesn't need to load the SVGs per se. It just compares them byte-wise to see if they have changed.
Have you installed the dev dependancies?
There was a change to pytest-textual-snapshot recently.
Oh, that was it - I still had 0.4.0 of that (see first post). With 1.0.0 it's much better.
37 failed, 2848 passed, 1 skipped, 3 xfailed, 2 warnings
Details:
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_border_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_colors_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_easing_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_textual_dev_keys_preview - textual._import_app.AppFail: No module named 'textual_dev'
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[bash] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[html] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[javascript] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[json] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[kotlin] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[python] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[rust] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[css] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[monokai] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[dracula] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[vscode_dark] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_themes[github_light] - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding - AssertionError: assert False
FAILED tests/snapshot_tests/test_snapshots.py::test_example_calculator - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/calculator.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_color_command - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/color_command.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_dictionary - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/dictionary.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_five_by_five - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/five_by_five.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_json_tree - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/json_tree.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_markdown - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/markdown.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_merlin - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/merlin.py'
FAILED tests/snapshot_tests/test_snapshots.py::test_example_pride - textual._import_app.AppFail: [Errno 2] No such file or directory: '/scratch/comms/py-textual/work/textual-0.76.0/examples/pride.py'
FAILED tests/test_features.py::test_textual_env_var - AssertionError: assert None is not None
FAILED tests/text_area/test_languages.py::test_register_language - ModuleNotFoundError: No module named 'tree_sitter_languages'
FAILED tests/text_area/test_languages.py::test_register_language_existing_language - AssertionError: assert 0 > 0
FAILED tests/text_area/test_languages.py::test_language_binary_missing - AttributeError: 'module' object at textual.document._syntax_aware_document has no attribute 'get_language'
Some of these are because I don't have textual-dev installed, some because of the missing examples files (these are not in the pypi distfile), and some because of the missing tree-sitter module.
So this ticket is now reduced to: thank you for your support, and please add the examples needed by the tests to the pypi source distfile.