[CI] Only isolate the registry tests that need a fresh process (#58764)
Signed-off-by: aarushjain29 <Aarushi.Jain2@amd.com> Co-authored-by: Andreas Karatzas <akaratza@amd.com>
Aarushi Jain committed
Sep 26, 2026 at 01:03 UTC
3b4566c5cf014605de6aeab6eb831b4f20511c17
1 file changed
+37
-39
tests/models/test_registry.py
+37
-39
@@ -88,70 +88,68 @@ def test_registry_imports(model_arch):
88
assert supports_multimodal(model_cls)
89
90
91
-@create_new_process_for_each_test()
91
@pytest.mark.parametrize(
93
- "model_arch,is_mm,init_cuda,score_type",
92
+ "model_arch,is_mm,score_type",
93
[
95
- ("LlamaForCausalLM", False, False, "bi-encoder"),
96
- ("LlavaForConditionalGeneration", True, True, "bi-encoder"),
97
- ("DeepseekV41ForCausalLM", True, False, "bi-encoder"),
98
- ("BertForSequenceClassification", False, False, "cross-encoder"),
99
- ("RobertaForSequenceClassification", False, False, "cross-encoder"),
100
- ("XLMRobertaForSequenceClassification", False, False, "cross-encoder"),
101
- ("GteNewModel", False, False, "bi-encoder"),
102
- ("GteNewForSequenceClassification", False, False, "cross-encoder"),
103
- ("HF_ColBERT", False, False, "late-interaction"),
94
+ ("LlamaForCausalLM", False, "bi-encoder"),
95
+ ("LlavaForConditionalGeneration", True, "bi-encoder"),
96
+ ("DeepseekV41ForCausalLM", True, "bi-encoder"),
97
+ ("BertForSequenceClassification", False, "cross-encoder"),
98
+ ("RobertaForSequenceClassification", False, "cross-encoder"),
99
+ ("XLMRobertaForSequenceClassification", False, "cross-encoder"),
100
+ ("GteNewModel", False, "bi-encoder"),
101
+ ("GteNewForSequenceClassification", False, "cross-encoder"),
102
+ ("HF_ColBERT", False, "late-interaction"),
103
],
104
)
106
-def test_registry_model_property(model_arch, is_mm, init_cuda, score_type):
105
+def test_registry_model_property(model_arch, is_mm, score_type):
106
model_info = ModelRegistry._try_inspect_model_cls(model_arch)
107
assert model_info is not None
108
109
assert model_info.supports_multimodal is is_mm
110
assert model_info.score_type == score_type
111
113
- if init_cuda and current_platform.is_cuda_alike():
114
- assert not torch.cuda.is_initialized()
115
-
116
- ModelRegistry._try_load_model_cls(model_arch)
117
- if not torch.cuda.is_initialized():
118
- warnings.warn(
119
- "This model no longer initializes CUDA on import. "
120
- "Please test using a different one.",
121
- stacklevel=2,
122
- )
123
-
112
125
-@create_new_process_for_each_test()
113
@pytest.mark.parametrize(
127
- "model_arch,is_pp,init_cuda",
114
+ "model_arch,is_pp",
115
[
116
# TODO(woosuk): Re-enable this once the MLP Speculator is supported
117
# in V1.
131
- # ("MLPSpeculatorPreTrainedModel", False, False),
132
- ("DeepseekV2ForCausalLM", True, False),
133
- ("Qwen2VLForConditionalGeneration", True, True),
118
+ # ("MLPSpeculatorPreTrainedModel", False),
119
+ ("DeepseekV2ForCausalLM", True),
120
+ ("Qwen2VLForConditionalGeneration", True),
121
],
122
)
136
-def test_registry_is_pp(model_arch, is_pp, init_cuda):
123
+def test_registry_is_pp(model_arch, is_pp):
124
model_info = ModelRegistry._try_inspect_model_cls(model_arch)
125
assert model_info is not None
126
127
assert model_info.supports_pp is is_pp
128
142
- if init_cuda and current_platform.is_cuda_alike():
143
- assert not torch.cuda.is_initialized()
129
145
- ModelRegistry._try_load_model_cls(model_arch)
146
- if not torch.cuda.is_initialized():
147
- warnings.warn(
148
- "This model no longer initializes CUDA on import. "
149
- "Please test using a different one.",
150
- stacklevel=2,
151
- )
130
+@create_new_process_for_each_test()
131
+@pytest.mark.parametrize(
132
+ "model_arch",
133
+ ["LlavaForConditionalGeneration", "Qwen2VLForConditionalGeneration"],
134
+)
135
+def test_registry_inspect_does_not_init_cuda(model_arch):
136
+ """Inspecting a model must not import it: these architectures initialize
137
+ CUDA at import time, so the inspection path has to stay out-of-process."""
138
+ if not current_platform.is_cuda_alike():
139
+ pytest.skip("Requires a CUDA-like platform")
140
+
141
+ assert ModelRegistry._try_inspect_model_cls(model_arch) is not None
142
+ assert not torch.cuda.is_initialized()
143
+
144
+ ModelRegistry._try_load_model_cls(model_arch)
145
+ if not torch.cuda.is_initialized():
146
+ warnings.warn(
147
+ "This model no longer initializes CUDA on import. "
148
+ "Please test using a different one.",
149
+ stacklevel=2,
150
+ )
151
152
154
-@create_new_process_for_each_test()
153
@pytest.mark.parametrize(
154
"model_arch,supported",
155
[