# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 version: 0.0.1 l0_cpu: - condition: ranges: system_gpu_count: gte: 0 lte: 0 wildcards: linux_distribution_name: ubuntu* terms: stage: pre_merge backend: generic orchestrator: mpi tests: - unittest/_torch/modeling_v2/models/minimax_m3/test_shared_kernel_contracts.py - unittest/_torch/modeling_v2/models/minimax_m3/test_collective_launcher_cleanup.py - unittest/_torch/modeling_v2/models/minimax_m3/test_modeling_v2_eagle3_worker_api.py - unittest/_torch/modeling_v2/models/minimax_m3/ops/spec/test_modeling_v2_spec_tail_contracts.py # MiniMax-M3 Rubin target unit tests. - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_107__tp2/test_modeling_v2_m3_drafter_fullctx_cells.py # MiniMax-M3 target unit tests. - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_103__tp8/test_modeling_v2_m3_tp4_drift.py - unittest/_torch/modules/test_linear_output_slice.py::test_fp8_weight_slice_cache - unittest/_torch/modules/test_linear_output_slice.py::test_prepare_output_slice_rejects_unsupported_projection_before_forward - unittest/_torch/modules/test_linear_output_slice.py::test_prepare_output_slice_dispatches_to_linear_method - unittest/_torch/modules/test_linear_output_slice.py::test_fp8_block_scale_low_m_dispatch_uses_full_weight_only - unittest/_torch/modules/test_linear_output_slice.py::test_kimi_fp8_low_m_dispatch_uses_full_weight_only - disaggregated/test_aiperf_gate.py::test_fires_on_error_storm - disaggregated/test_aiperf_gate.py::test_passes_healthy_run_with_cancellations - disaggregated/test_aiperf_gate.py::test_missing_export_raises - disaggregated/test_aiperf_gate.py::test_empty_export_fails - disaggregated/test_aiperf_gate.py::test_all_cancelled_fails - disaggregated/test_aiperf_gate.py::test_corrupt_export_fails - disaggregated/test_aiperf_gate.py::test_single_truncated_line_tolerated - disaggregated/test_aiperf_gate.py::test_incomplete_accounting_fails - disaggregated/test_aiperf_gate.py::test_gate_disabled_paths_not_affected - disaggregated/test_aiperf_gate.py::test_was_cancelled_metadata_fallback - disaggregated/test_aiperf_gate.py::test_non_request_records_excluded_from_denominator # Kimi K3 disagg parity harness self-test (comparison logic only, no GPUs). - test_kimi_k3_specdec.py::test_kimi_k3_disagg_parity_selftest # Disagg cancellation stress harness: marathon config validation and attach-mode # setup against local stubs, no GPUs. The marathon itself runs from QA's stress list. - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_all_marathon_yamls_parse_and_validate - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_accepts_supported_modes[log_only] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_accepts_supported_modes[full_cancel_poison] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_defaults_to_python - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_rejects_v1_with_python - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_rejects_non_python_transceiver[cpp] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_rejects_non_python_transceiver[auto] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_rejects_non_python_transceiver[unknown] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_stress_config_rejects_unknown_mode - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_external_cluster_config_parses_without_env - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_external_cluster_rejects_full_cancel_poison - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_external_cluster_rejects_bad_worker_role - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_binds_endpoint_and_log_specs - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_fails_on_unset_env - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_requires_readable_logs[ctx] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_requires_readable_logs[gen] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_requires_readable_logs[server] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_rejects_an_unhealthy_orchestrator[http_500] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_rejects_an_unhealthy_orchestrator[refused] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_setup_external_cluster_rejects_an_unhealthy_orchestrator[timeout] - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_external_cluster_log_scanner_trips_on_pattern - stress_test/disagg_cancel/test_disagg_cancel_stress.py::test_log_only_thread_sends_probe_and_stops - examples/visual_gen/test_media_deps_install.py::test_install_ffmpeg_via_apt_installs_ffmpeg # ModelExpress accuracy-canary guard (reference entries and worker argv, no GPUs): # catches a pruned reference before the post-merge canary does. - model_express/test_model_express_accuracy.py::test_mx_accuracy_cases_have_references - unittest/test_s3_output.py - unittest/others/test_http_utils_fail_fast.py - unittest/others/test_sparse_offload_accuracy.py # perf-sanity multi-frontend port reservation vs the trtllm-serve launcher probe (sockets only, no GPUs). - unittest/others/test_perf_sanity_port_reservation.py - unittest/_torch/visual_gen/multi_gpu/test_worker_pool.py # Covers the cpu_only cases of tests/unittest/_torch/attention/. On this CPU-only list, # pytest_ignore_collect in tests/unittest/conftest.py drops every file without a # pytest.mark.cpu_only when the stage runs -m cpu_only, so this entry runs only the # marked cases under attention/, such as all of hw_agnostic/ and a few in # kernels/parallel_hw_agnostic/test_fused_qk_norm_rope.py. # The GPU lists' attention/ entries run -m "not cpu_only", so hw_agnostic/ runs only here. - unittest/_torch/attention # Kimi K3 host-side checks on CPU tensors (MLA decode view and launch, KDA pool layout, MoE front geometry): # every test is cpu_only. - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_mla/test_k3_mla_decode_view.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_mla/test_k3_mla_launch.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_kda_verify/test_k3_kda_pool_layout.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_fused_moe/test_k3_moe_front_geometry.py # Kimi K3 kernel source checks (cluster-scope mailbox waits, tcgen05 fences): read the kernel sources only. - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/test_k3_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_ctm_gemv/test_k3_ctm_gemv_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_decode_gemv/test_k3_decode_gemv_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_drafter/test_k3_drafter_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_fused_moe/test_k3_fused_moe_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_kda_attn/test_k3_kda_attn_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_kda_verify/test_k3_kda_verify_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_mla/test_k3_mla_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kernels/k3_sandwich/test_k3_sandwich_source_checks.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp16ep1/test_k3_moe_engines_source_checks.py - unittest/_torch/compilation/test_auto_multi_stream.py - unittest/_torch/compilation/test_phase_selective_forward.py - unittest/_torch/compilation/test_remove_copy_pass.py::test_remove_copy_preserves_minimax_producer_outputs - unittest/_torch/distributed # GLM routing and draft workspace setup use CPU metadata and mocked allocations. - unittest/_torch/modeling_v2/models/glm_moe_dsa/glm_5_2_nvfp4__sm_107__low_latency/spec/test_modeling_v2_draft_exchange.py - unittest/_torch/modeling_v2/models/glm_moe_dsa/glm_5_2_nvfp4__sm_107__low_latency/spec/test_modeling_v2_small_batch_mtp.py - unittest/_torch/modeling_v2/models/glm_moe_dsa/test_routing.py # The qwen4_exp default target's cpu_only tests (its routing among them); this stage runs # -m cpu_only, so the directory's GPU tests are left to l0_b300's modeling_v2 entry. - unittest/_torch/modeling_v2/models/qwen4_exp/qwen3_8_flash_next_nvfp4__sm_103__default - unittest/_torch/modeling_v2/models/glm5_next/test_glm5_next_routing.py - unittest/_torch/pyexecutor - unittest/_torch/test_connector.py::test_a_partial_grouped_scheduler_is_rejected_at_bring_up - unittest/_torch/test_connector.py::test_a_grouped_scheduler_and_a_single_group_cache_are_accepted - unittest/test_startup.py - unittest/test_unified_cache.py - unittest/_torch/disaggregation - unittest/_torch/peft - unittest/_torch/memory - unittest/_torch/modeling # modeling_v2 routing and routing-table checks: config shapes and a monkeypatched # compute capability, no device. The default targets' shard tests: small CPU # tensors and the CPU block_scale_interleave. The rest of unittest/_torch/modeling_v2 # needs a GPU. - unittest/_torch/modeling_v2/test_modeling_v2_ci_selection.py - unittest/_torch/modeling_v2/test_modeling_v2_contracts.py - unittest/_torch/modeling_v2/test_modeling_v2_native_loader.py - unittest/_torch/modeling_v2/test_modeling_v2_rank_agreement.py - unittest/_torch/modeling_v2/test_modeling_v2_env_scope.py - unittest/_torch/modeling_v2/test_modeling_v2_reference_precision.py - unittest/_torch/modeling_v2/test_modeling_v2_fp4_test_helpers.py - unittest/_torch/modeling_v2/test_modeling_v2_routing.py - unittest/_torch/modeling_v2/comm/test_modeling_v2_rank_equality.py - unittest/_torch/modeling_v2/comm/test_modeling_v2_rank_job.py # The GPU stages run with -m "not cpu_only", so this entry is what runs it. - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_tp16_moetp4ep4_decode_step.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp16ep1/test_tp16_moetp16ep1_decode_step.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/ops/comm/test_modeling_v2_k3_mnnvl_workspace.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_k3_decode_worker.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_kimi_k3_capture_view.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_kimi_k3_ctx_rows_start.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_kimi_k3_draft_block_rows.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_kimi_k3_drafter_comm.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_kimi_k3_spec_worker_gate.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/test_kimi_k3_uncertified_generic_calls.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp4ep4/test_tp16_moetp4ep4_uncertified_generic_calls.py - unittest/_torch/modeling_v2/models/kimi_k3_vl/kimi_k3_mxfp4__sm_100__tp16_moetp16ep1/test_tp16_moetp16ep1_uncertified_generic_calls.py - unittest/_torch/modeling_v2/models/deepseek_v3/r1_0528_nvfp4__sm_10x__default/test_modeling_v2_deepseek_default_shards.py - unittest/_torch/modeling_v2/models/gpt_oss/gpt_oss_120b__sm_10x__default/test_modeling_v2_gpt_oss_default_shards.py # MiniMax-M3 sm_107 tp2 target: its device-free (cpu_only) tests. - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_107__tp2/attention/test_modeling_v2_m3_block_table_contract.py - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_107__tp2/attention/test_modeling_v2_m3_n_valid_contract.py - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_107__tp2/spec/test_modeling_v2_m3_wide_draft_logits.py - unittest/_torch/modeling_v2/models/minimax_m3/minimax_m3_nvfp4__sm_107__tp2/test_modeling_v2_m3_draft_attention_bcg_route.py - unittest/_torch/attention/test_fallback_fmha_extra_page_sizes.py - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_dense_backend_library_order - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_fp8_indexer_rejects_different_qk_norm_epsilons - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_moe_reduces_only_local_terms - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_decoder_layer_sets_post_fusion_from_moe_scheduler - unittest/_torch/models/test_minimax_m3.py::test_validate_sparse_attention_runtime_config_backend_selection - unittest/_torch/models/test_minimax_m3.py::test_nvfp4_cache_fused_layout_validation - unittest/_torch/models/test_minimax_m3.py::test_nvfp4_reload_preserves_attention_scale_storage - unittest/_torch/models/test_minimax_m3.py::test_validate_fused_projection_requires_quantized_main_kv_cache - unittest/_torch/models/test_minimax_m3.py::test_fused_qkv_index_projection_preserves_index_head_groups - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_five_way_projection_shards_index_rows - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_index_tp_matches_unsharded_reference - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_index_head_range_rejects_invalid_geometry - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_uses_one_engine_speculative_base - unittest/_torch/models/test_minimax_m3.py::test_setup_aliases_preserves_one_engine_draft_weight_loading - unittest/_torch/models/test_minimax_m3.py::test_eagle_capture_precedes_next_layer_norm - unittest/_torch/models/test_minimax_m3.py::test_piecewise_attention_boundary_runs_horizontal_producer - unittest/_torch/models/test_minimax_m3.py::test_piecewise_projection_fake_preserves_padded_hidden_rows - unittest/_torch/models/test_minimax_m3.py::test_piecewise_fused_projection_preserves_input_token_dimension - unittest/_torch/models/test_minimax_m3.py::test_piecewise_captured_producer_preserves_symbolic_shapes - unittest/_torch/models/test_minimax_m3.py::test_piecewise_captures_horizontal_producer_before_attention - unittest/_torch/models/test_minimax_m3.py::test_piecewise_captured_producer_rejects_unavailable_fusion - unittest/_torch/models/test_minimax_m3.py::test_piecewise_captured_producer_declares_cache_mutations - unittest/_torch/models/test_minimax_m3.py::test_piecewise_unfused_indexer_keeps_cache_write_eager - unittest/_torch/models/test_minimax_m3.py::test_piecewise_attention_boundary_preserves_indexer_cache_contract - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_five_way_projection_shard_geometry - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_five_way_loader_returns_exact_generic_skip # MiniMax-M3 VL input processor and wrapper forward; the CPU stage's -m cpu_only # leaves the checkpoint-backed tests out. - unittest/_torch/models/test_minimax_m3_vl.py - unittest/_torch/models/test_minimax_m3_vl_spec_reuse.py - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_split_router_weight_reconstructs_fp32 # l0_h100 and l0_b200 select unittest/_torch/misc with -m "not cpu_only", so this entry is # what runs it. - unittest/_torch/misc/test_xgrammar_structural_tag.py - unittest/_torch/misc/test_grammar_matcher.py # MiniMax-M3 compressed-tensors NVFP4 MoE packaging: config expansion and # index-projection quantization. - unittest/_torch/models/test_minimax_m3.py::test_minimax_m3_index_projection_declares_its_checkpoint_names - unittest/_torch/models/test_minimax_m3.py::test_packaged_moe_config_expands_to_mixed_precision - unittest/_torch/models/test_minimax_m3.py::test_packaged_moe_config_rejects_a_quantized_head - unittest/_torch/models/test_minimax_m3.py::test_packaged_moe_config_rejects_partly_excluded_fused_projections - unittest/_torch/models/test_minimax_m3.py::test_packaged_moe_config_rejects_unsupported_expert_recipes - unittest/_torch/models/test_minimax_m3.py::test_uniform_mxfp8_and_bf16_configs_are_unchanged - unittest/_torch/models/test_minimax_m3.py::test_modelopt_mixed_precision_map_is_normalized - unittest/_torch/models/checkpoints - unittest/_torch/modeling/test_modeling_pplx_decider.py - unittest/_torch/modules - unittest/_torch/moe - unittest/_torch/multimodal - unittest/_torch/ray_orchestrator/single_gpu/test_cache_transceiver_comm.py - unittest/_torch/pyexecutor/kv_cache/test_kv_cache_v2_capacity_only.py::test_index_mapper_reservation_tracks_confidence_scheduling - unittest/_torch/speculative/hw_agnostic - unittest/_torch/speculative/test_device_window_sampling_layout.py # l0_h100 selects with -m "not cpu_only", so this entry is what runs it. - unittest/_torch/speculative/test_spec_slot_pool_sizing.py - unittest/_torch/flashinfer/test_flashinfer_cubin_pool.py - unittest/_torch/test_custom_config_registration.py - unittest/_torch/test_hf_quant_config.py - unittest/_torch/test_mmap_utils.py - unittest/_torch/test_connector.py - unittest/_torch/test_connector_adp.py - unittest/_torch/models/test_modeling_utils.py::test_tied_embedding_parallel_layout - unittest/_torch/models/test_modeling_utils.py::test_tied_embedding_rejects_incompatible_layout - unittest/_torch/models/test_modeling_utils.py::test_quantization_passes_match_declared_fused_checkpoint_names - unittest/_torch/test_connector_shared_pool.py - unittest/_torch/test_model_config.py - unittest/_torch/test_moe_deterministic_config.py - unittest/_torch/test_nccl_window_graph.py - unittest/_torch/test_route_capture.py - unittest/_torch/test_tensor_lru_cache.py - unittest/_torch/test_utils.py - unittest/_torch/kernels/parallel_hw_agnostic - unittest/_torch/visual_gen/multi_gpu/test_attn2d_attention.py - unittest/_torch/visual_gen/multi_gpu/test_token_sharded_tp_collectives.py - unittest/_torch/visual_gen/multi_gpu/test_ulysses_replicated_kv.py - unittest/_torch/visual_gen/multi_gpu/test_visual_gen_mapping.py - unittest/_torch/visual_gen/multi_gpu/test_visual_gen_multinode.py - unittest/_torch/visual_gen/sparse_attention/skip_softmax/test_skip_softmax.py - unittest/_torch/visual_gen/sparse_attention/sol/test_sol_attention.py - unittest/_torch/visual_gen/sparse_attention/sol/test_sol_predictor.py - unittest/_torch/visual_gen/sparse_attention/sol/test_sol_token_order.py - unittest/_torch/visual_gen/sparse_attention/sol/test_sol_predictor_kernels.py - unittest/_torch/visual_gen/test_attention_flashinfer.py::test_flashinfer_backend_is_registered - unittest/_torch/visual_gen/test_attention_integration.py - unittest/_torch/visual_gen/test_attention_importable.py - unittest/_torch/visual_gen/test_cache_dit.py - unittest/_torch/visual_gen/test_executor_lifecycle.py - unittest/_torch/visual_gen/test_flux2_load_weights.py - unittest/_torch/visual_gen/test_flux_infer.py - unittest/_torch/visual_gen/test_cosmos3_guardrails.py - unittest/evaluate/visual_gen/test_generation_evaluation_pipeline.py - unittest/_torch/visual_gen/test_ltx2_pipeline.py - unittest/_torch/visual_gen/test_ltx23_registry.py - unittest/_torch/visual_gen/test_ltx23_pipeline_config.py - unittest/_torch/visual_gen/test_ltx23_retake_initialization.py - unittest/_torch/visual_gen/test_minimax_h3_pipeline.py - unittest/_torch/visual_gen/test_minimax_h3_vsa.py - unittest/_torch/visual_gen/test_minimax_h3_tiled_vae.py - unittest/_torch/visual_gen/test_minimax_h3_scheduler_packing.py - unittest/_torch/visual_gen/test_model_loader.py - unittest/_torch/visual_gen/test_ltx2_transformer.py - unittest/_torch/visual_gen/test_cosmos3_step_precision.py - unittest/_torch/visual_gen/test_cosmos3_sigma_grid.py - unittest/_torch/visual_gen/test_quant_static_guard.py - unittest/_torch/visual_gen/test_sleep.py - unittest/_torch/visual_gen/test_teacache.py - unittest/_torch/visual_gen/test_tensor_payload.py - unittest/_torch/visual_gen/test_token_sharded_tp.py - unittest/_torch/visual_gen/test_token_sharded_tp_layout.py - unittest/_torch/visual_gen/test_trtllm_serve_endpoints.py - unittest/_torch/visual_gen/test_utils.py - unittest/_torch/visual_gen/test_vanilla_key_padding_mask.py - unittest/_torch/visual_gen/test_visual_gen_args.py - unittest/_torch/visual_gen/test_vc_smooth_schedule.py - unittest/_torch/visual_gen/test_visual_gen_params.py - unittest/_torch/visual_gen/test_visual_gen_utils.py - unittest/_torch/visual_gen/test_wan_i2v_reference_conditioning.py - unittest/_torch/visual_gen/test_wan_timestep_routing.py - unittest/_torch/visual_gen/test_wan_fixed_latent.py - unittest/_torch/weight_sharing - unittest/api_stability - unittest/bindings - unittest/disaggregated - unittest/docs/test_llmapi_reference_docs.py - unittest/dynamo - unittest/evaluate/test_image_generation_eval_cli.py - unittest/evaluate/test_json_mode_eval.py - unittest/executor/test_base_worker.py ISOLATION - unittest/executor/test_fatal_error_health_check.py - unittest/executor/test_ipc.py - unittest/executor/test_rpc.py - unittest/executor/test_multi_frontend_routing.py - unittest/executor/test_proxy_request_sender.py - unittest/executor/test_event_loop_error_broadcast.py - unittest/executor/test_forward_error_survival.py - unittest/executor/test_rpc_worker_mixin.py - unittest/executor/test_sleep_collective_rpc_guards.py - unittest/executor/test_shutdown_retry_contracts.py - unittest/executor/test_stats_serializer.py - unittest/executor/test_spec_dec_perf_metrics.py - unittest/executor/test_stop_word_side_output_trim.py - unittest/executor/test_stop_word_streaming_text.py - unittest/executor/test_ray_stub.py - unittest/executor/test_generation_request_array_prompt.py - unittest/grpc/openengine/test_coordinator.py - unittest/_torch/test_shared_tensor_cpu.py - unittest/grpc/openengine/test_frontend_lifecycle.py - unittest/grpc/openengine/test_control.py - unittest/grpc/openengine/test_image_routing.py - unittest/grpc/openengine/test_multimodal.py - unittest/grpc/openengine/test_preparation.py - unittest/grpc/openengine/test_node.py - unittest/grpc/openengine/test_openengine.py - unittest/grpc/openengine/test_metrics.py - unittest/grpc/openengine/test_servicer.py - unittest/grpc/smg/test_smg.py::test_streaming_deltas_preserve_sequences_logprobs_and_final_tokens - unittest/grpc/smg/test_smg.py::test_streaming_empty_token_history - unittest/grpc/test_grpc_optional.py::test_protobuf_warning_in_fresh_process - unittest/grpc/test_grpc_optional.py::test_cpp_protobuf_does_not_warn - unittest/grpc/test_grpc_optional.py::test_protobuf_warning_skips_unavailable_api - unittest/grpc/test_grpc_optional.py::test_protobuf_warning_does_not_block_model_startup - unittest/grpc/test_grpc_optional.py::test_smg_server_startup_failure_cleans_up - unittest/grpc/test_grpc_optional.py::test_smg_rejects_multiple_frontends_before_engine_start - unittest/inputs - unittest/kv_cache_manager_v2_tests - unittest/llmapi/test_deepseek_v32_encoding.py - unittest/llmapi/test_deepseek_v32_tokenizer.py - unittest/llmapi/test_deepseek_v41_tokenizer.py - unittest/llmapi/test_disagg_worker_role.py - unittest/llmapi/test_session_reuse.py - unittest/llmapi/apps/test_anthropic_adapter.py - unittest/llmapi/apps/test_anthropic_batches.py - unittest/llmapi/apps/test_anthropic_gateway.py - unittest/llmapi/apps/test_anthropic_routes.py - unittest/llmapi/apps/test_chat_template_kwargs_guard.py - unittest/llmapi/apps/test_chat_utils.py - unittest/llmapi/apps/test_context_length_error.py - unittest/llmapi/apps/test_harmony_channel_validation.py - unittest/llmapi/apps/test_harmony_parsing.py - unittest/llmapi/apps/test_kimi_serve_extensions.py # test_musespark_chat_template.py reads the Muse Spark Open tokenizer files from LLM_MODELS_ROOT. - unittest/llmapi/apps/test_musespark_chat_template.py - unittest/llmapi/apps/test_musespark_serve_extensions.py - unittest/llmapi/apps/test_musespark_tool_parser.py - unittest/llmapi/apps/test_openai_chat_disagg_multimodal.py - unittest/llmapi/apps/test_openai_chat_multimodal_prompt.py - unittest/llmapi/apps/test_openai_protocol_chat_agent_fields.py - unittest/llmapi/apps/test_openai_protocol_chat_store.py - unittest/llmapi/apps/test_openai_server_graceful_shutdown.py - unittest/llmapi/apps/test_openai_server_iteration_stats.py - unittest/llmapi/apps/test_reasoning_prompt_resolution.py - unittest/llmapi/apps/test_render_callers.py - unittest/llmapi/apps/test_render_core.py - unittest/llmapi/apps/test_render_http.py - unittest/llmapi/apps/test_render_standalone.py # test_request_metrics.py as a whole is not registered on any list, so only the # cases below are selected here. Registering the file would also enable a dozen # pre-existing cases that have never run in CI, which belongs in its own change. - unittest/llmapi/apps/test_request_metrics.py::test_header_derived_record_keeps_kv_transfer_without_kv_cache_size - unittest/llmapi/apps/test_request_metrics.py::test_unpopulated_kv_transfer_timestamps_stay_absent - unittest/llmapi/apps/test_request_metrics.py::TestJsonlWriterSurvival - unittest/llmapi/apps/test_responses_custom_tools.py - unittest/llmapi/apps/test_responses_deepseek_v41_namespaces.py - unittest/llmapi/apps/test_responses_input_preprocess.py - unittest/llmapi/apps/test_responses_store_replay.py - unittest/llmapi/apps/test_responses_stream_final_consistency.py - unittest/llmapi/apps/test_responses_streaming_events.py - unittest/llmapi/apps/test_responses_streaming_tool_calls.py - unittest/llmapi/apps/test_responses_usage.py - unittest/llmapi/apps/test_serve_lazy_import.py - unittest/llmapi/apps/test_serving_extensions.py - unittest/llmapi/apps/test_tool_parsers.py - unittest/llmapi/apps/test_web_search_shared.py - unittest/llmapi/test_iteration_logging.py - unittest/llmapi/test_bench_async.py - unittest/llmapi/test_config_overrides.py - unittest/llmapi/test_additional_model_outputs.py -m "gpu1" - unittest/llmapi/test_executor.py - unittest/llmapi/test_embedding_arch_routing.py - unittest/llmapi/test_gc_utils.py - unittest/llmapi/test_whisper_suppress_tokens_processor.py - unittest/llmapi/test_kv_cache_dtype_override.py - unittest/llmapi/test_kv_hints.py - unittest/llmapi/test_llm_args.py - unittest/llmapi/test_llm.py::test_startup_metrics_by_server_info - unittest/llmapi/test_gms_args.py - unittest/llmapi/test_mx_args.py - unittest/llmapi/test_custom_tokenizer_aliases.py # Reads the Muse Spark Open tokenizer files from LLM_MODELS_ROOT. - unittest/llmapi/test_musespark_open_tokenizer.py - unittest/llmapi/test_musespark_reasoning_parser.py - unittest/llmapi/test_llm_quant.py - unittest/llmapi/test_llm_telemetry.py - unittest/llmapi/test_llm_utils.py - unittest/llmapi/test_mpi_session.py ISOLATION - unittest/llmapi/test_mpi_server_lifecycle.py - unittest/llmapi/test_mpi_launcher_shutdown.py - unittest/llmapi/test_disagg_leader_lifecycle.py - unittest/llmapi/test_disagg_telemetry_launcher.py - unittest/llmapi/test_mpi_lifecycle.py -k "all_failure-2 or worker_system_exit-2 or mixed_collective-4 or all_hang-2 or reuse-2 or sync_recovery-2 or async_drain-2" ISOLATION - unittest/llmapi/test_mpi_stop.py - unittest/llmapi/test_mpi_stop_launcher.py - unittest/llmapi/test_reasoning_parser.py - unittest/llmapi/test_request_priority.py - unittest/llmapi/test_rl_control_auth.py - unittest/llmapi/test_runtime_control.py - unittest/llmapi/test_runtime_memory_api.py - unittest/llmapi/test_sampling_params.py - unittest/llmapi/test_serialization.py - unittest/llmapi/test_serve_frontend_affinity.py - unittest/llmapi/test_serve_context_only_settings.py - unittest/llmapi/test_serve_multi_frontend_helpers.py - unittest/llmapi/test_serve_multi_frontend_route_gate.py - unittest/llmapi/test_serve_tokenization_owners.py - unittest/llmapi/test_serve_num_frontends_default.py - unittest/llmapi/test_serve_report_addr.py - unittest/llmapi/test_serve_sleep_mode.py - unittest/llmapi/test_session_prefetcher.py - unittest/llmapi/test_startup_checks.py - unittest/llmapi/test_tokenizer_aliases.py - unittest/llmapi/test_tokenizer_decode.py - unittest/llmapi/test_trtllm_serve_config_schemas.py - unittest/llmapi/test_utils.py - unittest/llmapi/test_visual_gen_startup_shutdown.py - unittest/metrics/test_collector.py - unittest/models/test_quant_config_utils.py - unittest/others - unittest/quantization/test_mode.py - unittest/quantization/test_nvfp4_plus_format.py - unittest/scaffolding - unittest/scripts - unittest/serve # VisualGen serve tests are also collected by the entry above. This entry keeps # them for VisualGen-only PRs, where CBTS keeps only entries containing visual_gen/ # (with the trailing slash). - unittest/serve/api/visual_gen/ - unittest/tools - unittest/usage - unittest/utils/test_logger.py - unittest/utils/test_confidential_compute.py - unittest/utils/test_llm_data.py - unittest/visual_gen/test_output.py