From 8ff4b7f4eb845cf662bbacc83e103cf8356a1e29 Mon Sep 17 00:00:00 2001 From: JunyiXu-nv <219237550+JunyiXu-nv@users.noreply.github.com> Date: Wed, 29 Jul 2026 02:28:14 +0000 Subject: [PATCH] [https://nvbugs/6529626][fix] Pin mcp<2.0.0 and unwaive the scaffolding tests mcp is unpinned, and mcp 2.0.0 (published 2026-07-28 13:45 UTC) removed mcp.server.fastmcp: the package ships 19 files under mcp/server/fastmcp/ in 1.29.0 and none in 2.0.0. Any image built after that resolves the bare requirement to 2.0.0, so the module-level import in tests/unittest/scaffolding/test_mcp_worker.py raises while pytest is collecting it. A collection error is not a test failure. pytest reports "Interrupted: 1 error during collection" and exits 2 before running anything, so the other seven files in tests/unittest/scaffolding never execute and no JUnit report is written at all -- which is why this surfaced only as the outer wrapper's "assert passed, failure reported in unittests", with no inner test named anywhere in the archived stage results. Nor could it be waived at test granularity: apply_waives and apply_waives_ut both run inside pytest_collection_modifyitems and mark collected items, and a module that fails to import produces none. #16978 therefore waived the whole unittest/scaffolding directory as an interim unblock. Pin rather than skip the test. tensorrt_llm/scaffolding/worker.py and tensorrt_llm/scaffolding/contrib/mcp/mcp_utils.py both ship against the 1.x API, and test_mcp_worker.py is the only CI coverage that exercises MCPWorker against the installed mcp. Skipping it would drop that coverage precisely when the dependency took a major version bump, hiding a library-level risk rather than resolving it. With the pin in place the collection error is gone, so #16978's waive is removed in the same change: leaving it would keep all eight scaffolding files skipped indefinitely for a cause that no longer exists. Lifting the pin means migrating the library off the 1.x APIs first, not just the test. Signed-off-by: JunyiXu-nv <219237550+JunyiXu-nv@users.noreply.github.com> --- requirements.txt | 2 +- tests/integration/test_lists/waives.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 83ceab0dd1c7..d735182a8fe8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -77,7 +77,7 @@ jinja2 # required for MinimaxM3 MSA plotly numexpr partial_json_parser -mcp +mcp<2.0.0 # 2.0.0 removed mcp.server.fastmcp; scaffolding still uses the 1.x APIs apache-tvm-ffi==0.1.6 # used for reduce nvidia-cutlass-dsl host overhead torch-c-dlpack-ext==0.1.3 # used for reduce nvidia-cutlass-dsl host overhead, optional package for improved torch tensor calling perf flash-attn-4==4.0.0b11 diff --git a/tests/integration/test_lists/waives.txt b/tests/integration/test_lists/waives.txt index b0d49da9a579..5bb6ffa1c933 100644 --- a/tests/integration/test_lists/waives.txt +++ b/tests/integration/test_lists/waives.txt @@ -182,7 +182,6 @@ full:B300/disaggregated/test_disaggregated.py::test_disaggregated_ctxpp2_genpp2[ full:B300/test_e2e.py::test_qwen_e2e_cpprunner_large_new_tokens[DeepSeek-R1-Distill-Qwen-1.5B-DeepSeek-R1-Distill-Qwen-1.5B] SKIP (https://nvbugs/6414760) full:DGX_B200/accuracy/test_disaggregated_serving.py::TestQwen3NextInstruct::test_auto_dtype[use_py_transceiver=True] SKIP (https://nvbugs/6501837) full:DGX_B200/accuracy/test_llm_api_pytorch.py::TestDeepSeekV4ProDSpark::test_gsm8k_dep8_megamoe_deepgemm SKIP (https://nvbugs/6506920) -full:DGX_H100/unittest/scaffolding SKIP (https://nvbugs/6529626) full:DGX_H200/accuracy/test_llm_api_pytorch.py::TestDeepSeekV32::test_fp8_blockscale[disable_skip_indexer] SKIP (https://nvbugs/6476233) full:DGX_H200/accuracy/test_llm_api_pytorch.py::TestDeepSeekV32::test_fp8_blockscale[latency_default] SKIP (https://nvbugs/6476233) full:GB200/accuracy/test_disaggregated_serving.py::TestLlama3_1_8BInstruct::test_auto_dtype[False-True-True-True] SKIP (https://nvbugs/6525893)