@@ -217,6 +217,50 @@ def test_retry_success
217217 assert_equal 'All tests were ran already' , output
218218 end
219219
220+ def test_retry_fails_when_test_run_is_expired
221+ out , err = capture_subprocess_io do
222+ system (
223+ @exe , 'run' ,
224+ '--queue' , @redis_url ,
225+ '--seed' , 'foobar' ,
226+ '--build' , '1' ,
227+ '--worker' , '1' ,
228+ '--timeout' , '1' ,
229+ '--max-requeues' , '1' ,
230+ '--requeue-tolerance' , '1' ,
231+ '-Itest' ,
232+ 'test/passing_test.rb' ,
233+ chdir : 'test/fixtures/' ,
234+ )
235+ end
236+ assert_empty err
237+ output = normalize ( out . lines . last . strip )
238+ assert_equal 'Ran 100 tests, 100 assertions, 0 failures, 0 errors, 0 skips, 0 requeues in X.XXs' , output
239+
240+ one_day = 60 * 60 * 24
241+ key = [ 'build' , "1" , "master-created-at" ] . join ( ':' )
242+ @redis . set ( key , Time . now - one_day )
243+
244+ out , err = capture_subprocess_io do
245+ system (
246+ @exe , 'run' ,
247+ '--queue' , @redis_url ,
248+ '--seed' , 'foobar' ,
249+ '--build' , '1' ,
250+ '--worker' , '1' ,
251+ '--timeout' , '1' ,
252+ '--max-requeues' , '1' ,
253+ '--requeue-tolerance' , '1' ,
254+ '-Itest' ,
255+ 'test/passing_test.rb' ,
256+ chdir : 'test/fixtures/' ,
257+ )
258+ end
259+ assert_empty err
260+ output = normalize ( out . lines . last . strip )
261+ assert_equal "The test run is too old and can't be retried" , output
262+ end
263+
220264 def test_retry_report
221265 # Run first worker, failing all tests
222266 out , err = capture_subprocess_io do
0 commit comments