(self)
| 203 | class TestProcessMMFeatures(unittest.TestCase): |
| 204 | |
| 205 | def setUp(self): |
| 206 | # Create a mock GPUModelRunner instance for testing |
| 207 | self.mock_fd_config = Mock() |
| 208 | self.mock_model_config = Mock() |
| 209 | self.mock_model_config.enable_mm = True |
| 210 | self.mock_model_config.model_type = "qwen" |
| 211 | self.mock_fd_config.model_config = self.mock_model_config |
| 212 | |
| 213 | # Mock other necessary configurations |
| 214 | self.mock_fd_config.scheduler_config = Mock() |
| 215 | self.mock_fd_config.scheduler_config.max_num_seqs = 10 |
| 216 | self.mock_fd_config.parallel_config = Mock() |
| 217 | self.mock_fd_config.parallel_config.tensor_parallel_size = 1 |
| 218 | |
| 219 | self.runner = GPUModelRunner.__new__(GPUModelRunner) |
| 220 | self.runner.fd_config = self.mock_fd_config |
| 221 | self.runner.model_config = self.mock_model_config |
| 222 | self.runner.scheduler_config = self.mock_fd_config.scheduler_config |
| 223 | self.runner.enable_mm = True |
| 224 | self.runner.is_pooling_model = False |
| 225 | self.runner.encoder_cache = {} |
| 226 | self.runner.share_inputs = InputBatch(self.mock_fd_config) |
| 227 | self.runner.share_inputs.image_features = None |
| 228 | self.runner.share_inputs.image_features_list = None |
| 229 | self.runner.share_inputs.rope_emb = paddle.full(shape=[2, 1], fill_value=0, dtype="float32") |
| 230 | self.runner.extract_vision_features = Mock() |
| 231 | self.runner.prepare_rope3d = Mock() |
| 232 | |
| 233 | def _create_mock_request(self, with_image=False, task_type_value=0, **kwargs): |
| 234 | """Helper method to create mock requests""" |
nothing calls this directly
no test coverage detected