@@ -243,62 +243,6 @@ def test_populate_with_many_chunks_uses_batching
243243 end
244244 end
245245
246- def test_worker_history_retry_expands_chunks_and_deduplicates_tests
247- tests = create_mock_tests ( [ 'TestA#test_1' , 'TestA#test_2' , 'TestB#test_1' ] )
248- chunk = CI ::Queue ::TestChunk . new (
249- 'TestA:chunk_0' ,
250- 'TestA' ,
251- [ 'TestA#test_1' , 'TestA#test_2' ] ,
252- 2000.0
253- )
254-
255- @worker . stub ( :reorder_tests , [ chunk , tests . last ] ) do
256- @worker . populate ( tests )
257- end
258-
259- history_key = 'build:42:worker:1:queue'
260- @redis . del ( history_key )
261- [ chunk . id , tests . last . id , chunk . id , tests [ 1 ] . id ] . each do |id |
262- @redis . lpush ( history_key , id )
263- end
264-
265- retry_queue = @worker . retry_queue ( scope : :worker_history )
266- retry_queue . populate ( tests )
267-
268- assert_equal [ 'TestA#test_1' , 'TestA#test_2' , 'TestB#test_1' ] , retry_queue . to_a . map ( &:id )
269- assert_equal 4 , retry_queue . history_items
270- assert_equal 3 , retry_queue . replayed_tests
271- assert retry_queue . worker_history?
272- end
273-
274- def test_worker_history_retry_requires_reservations
275- error = assert_raises ( CI ::Queue ::Redis ::WorkerHistoryError ) do
276- @worker . retry_queue ( scope : :worker_history )
277- end
278-
279- assert_equal 'Reservation history is missing for worker 1' , error . message
280- end
281-
282- def test_worker_history_retry_requires_chunk_metadata
283- @redis . lpush ( 'build:42:worker:1:queue' , 'TestA:chunk_0' )
284-
285- error = assert_raises ( CI ::Queue ::Redis ::WorkerHistoryError ) do
286- @worker . retry_queue ( scope : :worker_history )
287- end
288-
289- assert_equal 'Chunk metadata is missing for TestA:chunk_0' , error . message
290- end
291-
292- def test_worker_history_retry_is_incomplete_when_a_test_cannot_be_resolved
293- @redis . lpush ( 'build:42:worker:1:queue' , 'MissingTest#test_1' )
294- retry_queue = @worker . retry_queue ( scope : :worker_history )
295- retry_queue . populate ( [ ] )
296-
297- assert_raises ( KeyError ) { retry_queue . poll { |_test | } }
298- assert retry_queue . exhausted?
299- refute retry_queue . worker_history_complete?
300- end
301-
302246 private
303247
304248 def create_mock_tests ( test_ids )
0 commit comments