migrate circleci to github workflow #3655
1882 passed, 1 failed and 45 skipped
✅ test-results/background-test-results-py3.12/junit_async.xml
26 tests were completed in 57s with 26 passed, 0 failed and 0 skipped.
✅ test-results/background-test-results-py3.12/junit_background.xml
38 tests were completed in 413s with 36 passed, 0 failed and 2 skipped.
✅ test-results/background-test-results-py3.9/junit_async.xml
26 tests were completed in 59s with 26 passed, 0 failed and 0 skipped.
✅ test-results/background-test-results-py3.9/junit_background.xml
38 tests were completed in 408s with 36 passed, 0 failed and 2 skipped.
✅ test-results/dcc-test-results-py3.12-group1/junit_intg.xml
164 tests were completed in 492s with 163 passed, 0 failed and 1 skipped.
✅ test-results/dcc-test-results-py3.12-group2/junit_intg.xml
134 tests were completed in 493s with 134 passed, 0 failed and 0 skipped.
✅ test-results/dcc-test-results-py3.12-group3/junit_intg.xml
33 tests were completed in 71s with 33 passed, 0 failed and 0 skipped.
✅ test-results/dcc-test-results-py3.8-group1/junit_intg.xml
164 tests were completed in 492s with 163 passed, 0 failed and 1 skipped.
✅ test-results/dcc-test-results-py3.8-group2/junit_intg.xml
134 tests were completed in 501s with 134 passed, 0 failed and 0 skipped.
✅ test-results/dcc-test-results-py3.8-group3/junit_intg.xml
33 tests were completed in 75s with 33 passed, 0 failed and 0 skipped.
✅ test-results/html-test-results-py3.12/junit_html.xml
7 tests were completed in 10s with 7 passed, 0 failed and 0 skipped.
✅ test-results/html-test-results-py3.8/junit_html.xml
7 tests were completed in 9s with 7 passed, 0 failed and 0 skipped.
✅ test-results/table-server-results-group1/junit_table.xml
100 tests were completed in 477s with 84 passed, 0 failed and 16 skipped.
✅ test-results/table-server-results-group2/junit_table.xml
197 tests were completed in 458s with 194 passed, 0 failed and 3 skipped.
✅ test-results/table-server-results-group3/junit_table.xml
161 tests were completed in 437s with 151 passed, 0 failed and 10 skipped.
✅ test-results/test-main-results-py3.12-group1/junit_intg.xml
127 tests were completed in 208s with 125 passed, 0 failed and 2 skipped.
❌ test-results/test-main-results-py3.12-group2/junit_intg.xml
109 tests were completed in 379s with 106 passed, 1 failed and 2 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 106✅ | 1❌ | 2⚪ | 379s |
❌ pytest
tests.integration.clientside.test_clientside
✅ test_clsd011_clientside_callback_context_inputs_list
✅ test_clsd012_clientside_callback_context_states
✅ test_clsd013_clientside_callback_context_states_list
✅ test_clsd014_input_output_callback
✅ test_clsd015_clientside_chained_callbacks_returning_promise
✅ test_clsd016_serverside_clientside_shared_input_with_promise
✅ test_clsd017_clientside_serverside_shared_input_with_promise
✅ test_clsd018_clientside_inline_async_function
✅ test_clsd019_clientside_inline_promise
✅ test_clsd020_clientside_callback_context_triggered_id
✅ test_clsd021_simple_clientside_module_serverside_callback
✅ test_clsd022_clientside_pattern_matching_dots
tests.integration.clientside.test_clientside_functions
✅ test_sp001_clientside_setprops
tests.integration.clientside.test_clientside_multiple_output_return_single_no_update
✅ test_cmorsnu001_clientside_multiple_output_return_single_no_update
tests.integration.clientside.test_clientside_outputs_list
✅ test_clol001_clientside_outputs_list_by_single_output
✅ test_clol002_clientside_outputs_list_by_multiple_output1
✅ test_clol003_clientside_outputs_list_by_multiple_output2
✅ test_clol004_clientside_outputs_list_by_no_output
tests.integration.clientside.test_clientside_restarts
⚪ test_clrs001_clientside_inline_restarts
tests.integration.dash_assets.test_assets_path_ignore
✅ test_api001_assets_path_ignore
tests.integration.dash_assets.test_dash_assets
✅ test_dada001_assets
✅ test_dada002_external_files_init
✅ test_dada003_external_resources_with_attributes
✅ test_dada004_external_scripts_init_with_attributes
tests.integration.devtools.test_callback_timing
✅ test_dvct001_callback_timing
tests.integration.devtools.test_callback_validation
✅ test_dvcv001_blank
✅ test_dvcv002_blank_id_prop
✅ test_dvcv003_duplicate_outputs_same_callback
✅ test_dvcv004_duplicate_outputs_across_callbacks
✅ test_dvcv005_input_output_overlap
✅ test_dvcv006_inconsistent_wildcards
✅ test_dvcv007_disallowed_ids
✅ test_dvcv008_wrong_callback_id
✅ test_dvcv009_suppress_callback_exceptions
✅ test_dvcv010_bad_props
✅ test_dvcv011_duplicate_outputs_simple
✅ test_dvcv012_circular_2_step
✅ test_dvcv013_circular_3_step
✅ test_dvcv014_multipage_errors
✅ test_dvcv015_multipage_validation_layout[function]
✅ test_dvcv015_multipage_validation_layout[attribute]
✅ test_dvcv015_multipage_validation_layout[suppress]
✅ test_dvcv016_circular_with_input_output
tests.integration.devtools.test_devtools_error_handling
✅ test_dveh001_python_errors
✅ test_dveh006_long_python_errors
✅ test_dveh002_prevent_update_not_in_error_msg
✅ test_dveh003_validation_errors_in_place
✅ test_dveh004_validation_errors_creation
✅ test_dveh005_multiple_outputs
tests.integration.devtools.test_devtools_ui
✅ test_dvui001_disable_props_check_config
✅ test_dvui002_disable_ui_config
✅ test_dvui003_callback_graph
✅ test_dvui004_width_props
✅ test_dvui005_undo_redo
✅ test_dvui006_no_undo_redo
✅ test_dvui007_other_before_request_func
tests.integration.devtools.test_hot_reload
✅ test_dvhr001_hot_reload
tests.integration.devtools.test_props_check
⚪ test_dvpc001_prop_check_errors_with_path
tests.integration.multi_page.test_pages_layout
✅ test_pala001_layout
✅ test_pala002_meta_tags_default
✅ test_pala003_meta_tags_custom
✅ test_pala004_no_layout_exception
✅ test_pala005_routing_inputs
✅ test_pala006_pages_external_library
✅ test_pala007_app_title_discription
tests.integration.multi_page.test_pages_order
✅ test_paor001_order
tests.integration.multi_page.test_pages_relative_path
✅ test_pare001_relative_path
✅ test_pare002_relative_path_with_url_base_pathname
✅ test_pare003_absolute_path
tests.integration.renderer.test_add_receive_props
✅ test_rdarp001_add_receive_props
tests.integration.renderer.test_array_of_exact_or_shape_with_node_prop_assign_none
✅ test_aoeoswnpsn001_array_of_exact_or_shape_with_node_prop_assign_none
tests.integration.renderer.test_benchmarking
❌ test_compute_graph_timing[dev_tools0-disabled]
dash_duo = <dash.testing.plugin._ReusableDashComposite object at 0x7fac8427faa0>
✅ test_compute_graph_timing[dev_tools1-enabled]
tests.integration.renderer.test_children_reorder
✅ test_roc001_reorder_children
tests.integration.renderer.test_component_as_prop
✅ test_rdcap001_component_as_prop
✅ test_rdcap002_component_as_props_dynamic_id
✅ test_rdcap003_side_effect_regression
✅ test_rdcap004_side_effect_same_component
tests.integration.renderer.test_dependencies
✅ test_rddp001_dependencies_on_components_that_dont_exist
tests.integration.renderer.test_descendant_listening
✅ test_dcl001_descendant_tabs
tests.integration.renderer.test_due_diligence
✅ test_rddd001_initial_state
✅ test_rddd002_falsy_child[0]
✅ test_rddd002_falsy_child[child1]
tests.integration.renderer.test_external_component
✅ test_rext001_render_external_component
✅ test_rext002_render_external_component_temp
tests.integration.renderer.test_iframe
✅ test_rdif001_sandbox_allow_scripts
tests.integration.renderer.test_loading_states
✅ test_rdls001_multi_loading_components
✅ test_rdls002_chained_loading_states
✅ test_rdls003_update_title[kwargs0-Updating...-False]
✅ test_rdls003_update_title[kwargs1-Dash-False]
✅ test_rdls003_update_title[kwargs2-Dash-False]
✅ test_rdls003_update_title[kwargs3-Hello World-False]
✅ test_rdls003_update_title[kwargs4-Updating...-True]
✅ test_rdls003_update_title[kwargs5-Dash-True]
✅ test_rdls003_update_title[kwargs6-Dash-True]
✅ test_rdls003_update_title[kwargs7-Hello World-True]
✅ test_rdls004_update_title_chained_callbacks[None]
✅ test_rdls004_update_title_chained_callbacks[Custom Update Title]
tests.integration.renderer.test_multi_output
✅ test_rdmo001_single_input_multi_outputs_on_multiple_components
✅ test_rdmo002_multi_outputs_on_single_component
✅ test_rdmo003_single_output_as_multi
✅ test_rdmo004_multi_output_circular_dependencies
✅ test_rdmo005_set_props_behavior
tests.integration.renderer.test_persistence
✅ test_rdps001_local_reload
✅ test_rdps002_session_reload
✅ test_rdps003_memory_reload
✅ test_rdps004_show_hide
✅ test_rdps005_persisted_props
✅ test_rdps006_move_on_page
✅ test-results/test-main-results-py3.12-group3/junit_intg.xml
97 tests were completed in 191s with 96 passed, 0 failed and 1 skipped.
✅ test-results/test-main-results-py3.8-group1/junit_intg.xml
127 tests were completed in 172s with 125 passed, 0 failed and 2 skipped.
✅ test-results/test-main-results-py3.8-group2/junit_intg.xml
109 tests were completed in 349s with 107 passed, 0 failed and 2 skipped.
✅ test-results/test-main-results-py3.8-group3/junit_intg.xml
97 tests were completed in 177s with 96 passed, 0 failed and 1 skipped.
Annotations
Check failure on line 0 in test-results/test-main-results-py3.12-group2/junit_intg.xml
github-actions / Test Results Summary
pytest ► tests.integration.renderer.test_benchmarking ► test_compute_graph_timing[dev_tools0-disabled]
Failed test found in:
test-results/test-main-results-py3.12-group2/junit_intg.xml
Error:
dash_duo = <dash.testing.plugin._ReusableDashComposite object at 0x7fac8427faa0>
Raw output
dash_duo = <dash.testing.plugin._ReusableDashComposite object at 0x7fac8427faa0>
dev_tools = {'dev_tools_validate_callbacks': False}, store = 'disabled'
@pytest.mark.parametrize(
"dev_tools,store",
[
({"dev_tools_validate_callbacks": False}, "disabled"),
({"dev_tools_validate_callbacks": True}, "enabled"),
],
)
def test_compute_graph_timing(dash_duo, dev_tools, store):
app = make_app()
dash_duo.start_server(app, **dev_tools)
times = []
for _ in range(10):
dash_duo.wait_for_element("#input")
wait.until(
lambda: dash_duo.find_element("#output").text.strip() != "", timeout=4
)
graph_compute_time = float(
dash_duo.driver.execute_script(
"return window.dash_component_api.callbackGraphTime"
)
)
times.append(graph_compute_time)
dash_duo.driver.refresh()
avg_time = sum(times) / len(times) if times else 0
check_timing[store] = avg_time
if store == "enabled":
print(f"Average time with store enabled: {avg_time:.2f} ms")
assert (
check_timing["disabled"] < avg_time
), "Expected faster performance with circular callback check disabled"
if store == "disabled":
print(f"Average time with store disabled: {avg_time:.2f} ms")
> assert (
avg_time < 100
), "Expected average time to be under 100 ms with circular callback check disabled"
E AssertionError: Expected average time to be under 100 ms with circular callback check disabled
E assert 107.89000000000001 < 100
tests/integration/renderer/test_benchmarking.py:134: AssertionError