Console Output
+ export PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ node --version
v22.23.3
+ bash tests/run_pytests.sh -dash -include_generated --junitxml=/home/jenkins/workspace/clubb_branch_dash/output/tests/pytests/dash.xml --durations=10
Installing uv 0.11.32 in /home/jenkins/workspace/clubb_branch_dash/.clubb-python-tools/bin
downloading uv 0.11.32 x86_64-unknown-linux-gnu
installing to /home/jenkins/workspace/clubb_branch_dash/.clubb-python-tools/bin
uv
uvx
everything's installed!
Creating CLUBB virtualenv: /home/jenkins/workspace/clubb_branch_dash/.venv-python
Using CPython 3.12.3 interpreter at: /usr/bin/python3.12
Creating virtual environment at: .venv-python
Activate with: source .venv-python/bin/activate
Installing dash requirements into /home/jenkins/workspace/clubb_branch_dash/.venv-python
Using Python 3.12.3 environment at: .venv-python
Resolved 71 packages in 709ms
Downloading pygments (1.2MiB)
Downloading scipy (33.7MiB)
Downloading meson (1.1MiB)
Downloading netcdf4 (10.1MiB)
Downloading cryptography (4.5MiB)
Downloading cftime (1.6MiB)
Downloading matplotlib (8.4MiB)
Downloading pydantic-core (2.1MiB)
Downloading fonttools (5.2MiB)
Downloading pillow (6.6MiB)
Downloading dash (7.6MiB)
Downloading plotly (9.5MiB)
Downloading numpy (16.0MiB)
Downloading kiwisolver (1.4MiB)
Downloaded kiwisolver
Downloaded cftime
Downloaded pydantic-core
Downloaded meson
Downloaded pygments
Downloaded cryptography
Downloaded fonttools
Downloaded pillow
Downloaded dash
Downloaded netcdf4
Downloaded matplotlib
Downloaded numpy
Downloaded scipy
Downloaded plotly
Prepared 71 packages in 1.79s
Installed 71 packages in 54ms
+ annotated-types==0.8.0
+ anyio==4.15.1
+ attrs==26.1.0
+ blinker==1.9.0
+ certifi==2026.10.19
+ cffi==2.1.1
+ cftime==1.6.6.1
+ charset-normalizer==3.5.2
+ click==8.5.0
+ contourpy==1.4.0
+ cryptography==50.0.2
+ cycler==0.12.1
+ dash==3.4.0
+ dill==0.4.1
+ diskcache==5.6.3
+ flask==3.1.3
+ fonttools==4.67.0
+ h11==0.16.0
+ httpcore==1.0.9
+ httpx==0.28.1
+ httpx-sse==0.4.3
+ idna==3.20
+ importlib-metadata==9.0.1
+ iniconfig==2.3.1
+ itsdangerous==2.2.0
+ jinja2==3.1.6
+ jsonschema==4.26.0
+ jsonschema-specifications==2025.9.1
+ kiwisolver==1.5.1
+ markupsafe==3.0.4
+ matplotlib==3.10.9
+ mcp==1.30.0
+ meson==1.12.1
+ multiprocess==0.70.19
+ narwhals==2.27.1
+ nest-asyncio==1.6.0
+ netcdf4==1.7.5
+ ninja==1.13.2
+ numpy==2.5.4
+ packaging==26.3
+ pillow==12.3.0
+ plotly==6.9.0
+ pluggy==1.7.0
+ psutil==7.2.2
+ pycparser==3.11
+ pydantic==2.14.1
+ pydantic-core==2.50.1
+ pydantic-settings==2.16.1
+ pygments==2.21.0
+ pyjwt==2.15.1
+ pyparsing==3.3.3
+ pytest==9.1.1
+ python-dateutil==2.9.0.post0
+ python-dotenv==1.2.4
+ python-multipart==0.0.32
+ referencing==0.37.0
+ requests==2.34.2
+ retrying==1.4.2
+ rpds-py==2026.9.1
+ scipy==1.18.1
+ setuptools==84.2.1
+ six==1.17.0
+ sse-starlette==3.5.0
+ starlette==1.9.0
+ tabulate==0.10.0
+ typing-extensions==4.16.0
+ typing-inspection==0.4.4
+ urllib3==2.8.0
+ uvicorn==0.54.0
+ werkzeug==3.1.9
+ zipp==4.1.1
Ready: /home/jenkins/workspace/clubb_branch_dash/.venv-python/bin/python
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-9.1.1, pluggy-1.7.0
rootdir: /home/jenkins/workspace/clubb_branch_dash
plugins: dash-3.4.0, anyio-4.15.1
collected 609 items
dash_app/pytests/auto_llm_generated_pytests/test_case_editor.py ........ [ 1%]
......... [ 2%]
dash_app/pytests/auto_llm_generated_pytests/test_jax_tuning_runtime.py . [ 2%]
.............. [ 5%]
dash_app/pytests/auto_llm_generated_pytests/test_tune_replay_completion.py . [ 5%]
[ 5%]
dash_app/pytests/test_activity.py ......... [ 6%]
dash_app/pytests/test_affine_mixing_length_trajectories.py ..........ss. [ 9%]
s.......... [ 10%]
dash_app/pytests/test_agent_integration.py .............. [ 13%]
dash_app/pytests/test_agent_plot_actions.py ........ [ 14%]
dash_app/pytests/test_agent_services.py ................................ [ 19%]
................. [ 22%]
dash_app/pytests/test_agent_tab_registry.py ...... [ 23%]
dash_app/pytests/test_agent_tuning.py ............ [ 25%]
dash_app/pytests/test_analysis.py ..... [ 26%]
dash_app/pytests/test_app_startup.py .......... [ 27%]
dash_app/pytests/test_atlas.py . [ 28%]
dash_app/pytests/test_bivariate_heatmap.py .. [ 28%]
dash_app/pytests/test_callbacks_runs.py ............ [ 30%]
dash_app/pytests/test_compile_tab_build_status.py ................. [ 33%]
dash_app/pytests/test_custom_plot.py ........ [ 34%]
dash_app/pytests/test_dashboard_activity_labels.py . [ 34%]
dash_app/pytests/test_dashboard_lifecycle.py ... [ 35%]
dash_app/pytests/test_dashboard_manager.py ...... [ 36%]
dash_app/pytests/test_equations.py ... [ 36%]
dash_app/pytests/test_fill_holes_viewer.py .... [ 37%]
dash_app/pytests/test_jax_device.py ..................... [ 40%]
dash_app/pytests/test_mcp_endpoint.py ... [ 41%]
dash_app/pytests/test_misc_tab.py ... [ 41%]
dash_app/pytests/test_netcdf.py ...... [ 42%]
dash_app/pytests/test_output_directory_picker.py ...... [ 43%]
dash_app/pytests/test_output_discovery.py ....... [ 44%]
dash_app/pytests/test_pane_resize.py ... [ 45%]
dash_app/pytests/test_param_disclosures.py ........ [ 46%]
dash_app/pytests/test_pdf_contour_plot.py ...................... [ 50%]
dash_app/pytests/test_performance_polling.py ....... [ 51%]
dash_app/pytests/test_persistence.py .... [ 52%]
dash_app/pytests/test_plot_case_cache.py .......... [ 53%]
dash_app/pytests/test_plot_extraction.py ............................... [ 58%]
[ 58%]
dash_app/pytests/test_plot_grid_updates.py ..... [ 59%]
dash_app/pytests/test_plot_help.py ... [ 60%]
dash_app/pytests/test_plot_tasks.py .......... [ 61%]
dash_app/pytests/test_plot_transitions.py ............. [ 63%]
dash_app/pytests/test_profile_tab.py .............................. [ 68%]
dash_app/pytests/test_profiles.py ...... [ 69%]
dash_app/pytests/test_pyplotgen_export.py ...... [ 70%]
dash_app/pytests/test_pyplotgen_output_handler.py . [ 70%]
dash_app/pytests/test_reports_tab.py ....... [ 72%]
dash_app/pytests/test_run_broker_simplification.py ..................... [ 75%]
[ 75%]
dash_app/pytests/test_run_callbacks_settings.py .............. [ 77%]
dash_app/pytests/test_run_runtime.py .......... [ 79%]
dash_app/pytests/test_runtime.py .. [ 79%]
dash_app/pytests/test_runtime_logging.py ..... [ 80%]
dash_app/pytests/test_runtime_loss_batches.py . [ 80%]
dash_app/pytests/test_sam_3d_reference.py . [ 80%]
dash_app/pytests/test_scm_override.py ...... [ 81%]
dash_app/pytests/test_selected_build.py ..................... [ 85%]
dash_app/pytests/test_state_persistence.py ............. [ 87%]
dash_app/pytests/test_stats_selection.py ............................... [ 92%]
[ 92%]
dash_app/pytests/test_taylor_window_display.py ..... [ 93%]
dash_app/pytests/test_tunable_config_save.py ............... [ 95%]
dash_app/pytests/test_tune_callbacks_settings.py ............. [ 98%]
dash_app/pytests/test_tutorial_tab.py .. [ 98%]
dash_app/pytests/test_two_gaussian_model.py ...... [ 99%]
dash_app/pytests/test_workspace_selection.py .... [100%]
=============================== warnings summary ===============================
dash_app/pytests/test_plot_case_cache.py::test_hydration_keeps_saved_view_and_scans_once
/home/jenkins/workspace/clubb_branch_dash/dash_app/plot_tab/case_definitions.py:35: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
legacy_str = getattr(ast, "Str", None)
dash_app/pytests/test_plot_case_cache.py: 4120 warnings
/home/jenkins/workspace/clubb_branch_dash/dash_app/plot_tab/case_definitions.py:36: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
if legacy_str is not None and isinstance(node, legacy_str):
dash_app/pytests/test_plot_case_cache.py::test_hydration_keeps_saved_view_and_scans_once
/home/jenkins/workspace/clubb_branch_dash/dash_app/plot_tab/case_definitions.py:39: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
legacy_num = getattr(ast, "Num", None)
dash_app/pytests/test_plot_case_cache.py: 4120 warnings
/home/jenkins/workspace/clubb_branch_dash/dash_app/plot_tab/case_definitions.py:40: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
if legacy_num is not None and isinstance(node, legacy_num):
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
- generated xml file: /home/jenkins/workspace/clubb_branch_dash/output/tests/pytests/dash.xml -
============================= slowest 10 durations =============================
2.50s call dash_app/pytests/test_agent_plot_actions.py::test_profile_png_renderer_writes_a_real_png
1.53s call dash_app/pytests/test_plot_tasks.py::test_browser_updates_selection_immediately_and_ignores_stale_results
1.35s call dash_app/pytests/test_agent_services.py::test_mcp_stdio_discovery_and_structured_error_round_trip
1.08s call dash_app/pytests/test_plot_case_cache.py::test_background_worker_snapshot_resolves_in_main_process
0.84s call dash_app/pytests/test_plot_tasks.py::test_real_worker_inspects_missing_directory_and_serializes_no_update
0.77s call dash_app/pytests/test_agent_services.py::test_mcp_exposes_closed_world_typed_tools_and_annotations
0.59s call dash_app/pytests/test_affine_mixing_length_trajectories.py::test_retained_figures_show_barrier_coherence_profiles_and_time
0.47s call dash_app/pytests/test_netcdf.py::test_shared_netcdf_consumers_import_as_dashboard_packages
0.47s call dash_app/pytests/test_pdf_contour_plot.py::test_pdf_compare_mode_builds_shared_axis_directory_panels
0.44s call dash_app/pytests/test_run_broker_simplification.py::test_default_new_scenario_keeps_four_reservations_and_restarts_finished_case
================ 606 passed, 3 skipped, 8242 warnings in 29.46s ================