22# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
33
44"""
5- Unit tests for GPUWorker class.
5+ Unit tests for GPUDiffusionWorker class.
66
7- This module tests the GPUWorker implementation:
7+ This module tests the GPUDiffusionWorker implementation:
88- load_weights: Loading model weights
99- sleep: Putting worker into sleep mode (levels 1 and 2)
1010- wake_up: Waking worker from sleep mode
1515import pytest
1616import torch
1717
18- from vllm_omni .diffusion .worker .gpu_worker import GPUWorker
18+ from vllm_omni .diffusion .worker .gpu_diffusion_worker import GPUDiffusionWorker
1919
2020
2121@pytest .fixture
@@ -33,51 +33,52 @@ def mock_od_config():
3333
3434@pytest .fixture
3535def mock_gpu_worker (mock_od_config ):
36- """Create a GPUWorker with mocked initialization."""
37- with patch .object (GPUWorker , "init_device_and_model" ):
38- worker = GPUWorker (local_rank = 0 , rank = 0 , od_config = mock_od_config )
39- # Mock the pipeline
40- worker .pipeline = Mock ()
41- worker .cache_backend = None
36+ """Create a GPUDiffusionWorker with mocked initialization."""
37+ with patch .object (GPUDiffusionWorker , "init_device" ):
38+ worker = GPUDiffusionWorker (local_rank = 0 , rank = 0 , od_config = mock_od_config )
39+ # Mock the model_runner with pipeline
40+ worker .model_runner = Mock ()
41+ worker .model_runner .pipeline = Mock ()
42+ worker ._sleep_saved_buffers = {}
4243 return worker
4344
4445
45- class TestGPUWorkerLoadWeights :
46- """Test GPUWorker .load_weights method."""
46+ class TestGPUDiffusionWorkerLoadWeights :
47+ """Test GPUDiffusionWorker .load_weights method."""
4748
4849 def test_load_weights_calls_pipeline (self , mock_gpu_worker ):
49- """Test that load_weights delegates to pipeline .load_weights."""
50+ """Test that load_weights delegates to model_runner .load_weights."""
5051 # Setup mock weights
5152 mock_weights = [
5253 ("layer1.weight" , torch .randn (10 , 10 )),
5354 ("layer2.weight" , torch .randn (20 , 20 )),
5455 ]
5556 expected_loaded = {"layer1.weight" , "layer2.weight" }
5657
57- # Configure pipeline mock
58- mock_gpu_worker .pipeline .load_weights = Mock (return_value = expected_loaded )
58+ # Configure model_runner mock
59+ mock_gpu_worker .model_runner .load_weights = Mock (return_value = expected_loaded )
5960
6061 # Call load_weights
6162 result = mock_gpu_worker .load_weights (mock_weights )
6263
63- # Verify pipeline .load_weights was called with the weights
64- mock_gpu_worker .pipeline .load_weights .assert_called_once_with (mock_weights )
64+ # Verify model_runner .load_weights was called with the weights
65+ mock_gpu_worker .model_runner .load_weights .assert_called_once_with (mock_weights )
6566 assert result == expected_loaded
6667
6768 def test_load_weights_empty_iterable (self , mock_gpu_worker ):
6869 """Test load_weights with empty weights iterable."""
69- mock_gpu_worker .pipeline .load_weights = Mock (return_value = set ())
70+ mock_gpu_worker .model_runner .load_weights = Mock (return_value = set ())
7071
7172 result = mock_gpu_worker .load_weights ([])
7273
73- mock_gpu_worker .pipeline .load_weights .assert_called_once_with ([])
74+ mock_gpu_worker .model_runner .load_weights .assert_called_once_with ([])
7475 assert result == set ()
7576
7677
77- class TestGPUWorkerSleep :
78- """Test GPUWorker .sleep method."""
78+ class TestGPUDiffusionWorkerSleep :
79+ """Test GPUDiffusionWorker .sleep method."""
7980
80- @patch ("vllm_omni.diffusion.worker.gpu_worker .torch.cuda.mem_get_info" )
81+ @patch ("vllm_omni.diffusion.worker.gpu_diffusion_worker .torch.cuda.mem_get_info" )
8182 @patch ("vllm.device_allocator.cumem.CuMemAllocator" )
8283 def test_sleep_level_1 (self , mock_allocator_class , mock_mem_info , mock_gpu_worker ):
8384 """Test sleep mode level 1 (offload weights only)."""
@@ -103,7 +104,7 @@ def test_sleep_level_1(self, mock_allocator_class, mock_mem_info, mock_gpu_worke
103104 # Verify buffers were NOT saved (level 1 doesn't save buffers)
104105 assert len (mock_gpu_worker ._sleep_saved_buffers ) == 0
105106
106- @patch ("vllm_omni.diffusion.worker.gpu_worker .torch.cuda.mem_get_info" )
107+ @patch ("vllm_omni.diffusion.worker.gpu_diffusion_worker .torch.cuda.mem_get_info" )
107108 @patch ("vllm.device_allocator.cumem.CuMemAllocator" )
108109 def test_sleep_level_2 (self , mock_allocator_class , mock_mem_info , mock_gpu_worker ):
109110 """Test sleep mode level 2 (offload all, save buffers)."""
@@ -121,7 +122,7 @@ def test_sleep_level_2(self, mock_allocator_class, mock_mem_info, mock_gpu_worke
121122 # Mock pipeline buffers
122123 mock_buffer1 = torch .randn (10 , 10 )
123124 mock_buffer2 = torch .randn (20 , 20 )
124- mock_gpu_worker .pipeline .named_buffers = Mock (
125+ mock_gpu_worker .model_runner . pipeline .named_buffers = Mock (
125126 return_value = [
126127 ("buffer1" , mock_buffer1 ),
127128 ("buffer2" , mock_buffer2 ),
@@ -140,7 +141,7 @@ def test_sleep_level_2(self, mock_allocator_class, mock_mem_info, mock_gpu_worke
140141 assert "buffer1" in mock_gpu_worker ._sleep_saved_buffers
141142 assert "buffer2" in mock_gpu_worker ._sleep_saved_buffers
142143
143- @patch ("vllm_omni.diffusion.worker.gpu_worker .torch.cuda.mem_get_info" )
144+ @patch ("vllm_omni.diffusion.worker.gpu_diffusion_worker .torch.cuda.mem_get_info" )
144145 @patch ("vllm.device_allocator.cumem.CuMemAllocator" )
145146 def test_sleep_memory_freed_validation (self , mock_allocator_class , mock_mem_info , mock_gpu_worker ):
146147 """Test that sleep validates memory was actually freed."""
@@ -159,8 +160,8 @@ def test_sleep_memory_freed_validation(self, mock_allocator_class, mock_mem_info
159160 mock_gpu_worker .sleep (level = 1 )
160161
161162
162- class TestGPUWorkerWakeUp :
163- """Test GPUWorker .wake_up method."""
163+ class TestGPUDiffusionWorkerWakeUp :
164+ """Test GPUDiffusionWorker .wake_up method."""
164165
165166 @patch ("vllm.device_allocator.cumem.CuMemAllocator" )
166167 def test_wake_up_without_buffers (self , mock_allocator_class , mock_gpu_worker ):
@@ -202,7 +203,7 @@ def test_wake_up_with_buffers(self, mock_allocator_class, mock_gpu_worker):
202203 mock_buffer2 = Mock ()
203204 mock_buffer2 .data = Mock ()
204205
205- mock_gpu_worker .pipeline .named_buffers = Mock (
206+ mock_gpu_worker .model_runner . pipeline .named_buffers = Mock (
206207 return_value = [
207208 ("buffer1" , mock_buffer1 ),
208209 ("buffer2" , mock_buffer2 ),
@@ -243,7 +244,7 @@ def test_wake_up_partial_buffer_restore(self, mock_allocator_class, mock_gpu_wor
243244 mock_buffer2 = Mock ()
244245 mock_buffer2 .data = Mock ()
245246
246- mock_gpu_worker .pipeline .named_buffers = Mock (
247+ mock_gpu_worker .model_runner . pipeline .named_buffers = Mock (
247248 return_value = [
248249 ("buffer1" , mock_buffer1 ),
249250 ("buffer2" , mock_buffer2 ),
0 commit comments