mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	test: helpers.retry()
This commit is contained in:
		| @@ -243,6 +243,19 @@ local function connect(file_or_address) | ||||
|   return Session.new(stream) | ||||
| end | ||||
|  | ||||
| -- Calls fn() until it returns without error, up to `max` times. | ||||
| local function retry(fn, max) | ||||
|   local retries = max and (max - 1) or 2 | ||||
|   for _ = 1, retries do | ||||
|     local success = pcall(fn) | ||||
|     if success then | ||||
|       return | ||||
|     end | ||||
|   end | ||||
|   -- pcall() is not used for the final attempt so failure can bubble up. | ||||
|   fn() | ||||
| end | ||||
|  | ||||
| local function clear(...) | ||||
|   local args = {unpack(nvim_argv)} | ||||
|   local new_args | ||||
| @@ -530,6 +543,7 @@ return function(after_each) | ||||
|     prepend_argv = prepend_argv, | ||||
|     clear = clear, | ||||
|     connect = connect, | ||||
|     retry = retry, | ||||
|     spawn = spawn, | ||||
|     dedent = dedent, | ||||
|     source = source, | ||||
|   | ||||
| @@ -98,15 +98,7 @@ describe('undo tree:', function() | ||||
|         expect_line('123456abc') | ||||
|       end | ||||
|  | ||||
|       -- Retry up to 3 times. pcall() is _not_ used for the final attempt, so | ||||
|       -- that failure messages can bubble up. | ||||
|       for _ = 1, 2 do | ||||
|         local success = pcall(test_earlier_later) | ||||
|         if success then | ||||
|           return | ||||
|         end | ||||
|       end | ||||
|       test_earlier_later() | ||||
|       helpers.retry(test_earlier_later) | ||||
|     end) | ||||
|  | ||||
|     it('file-write specifications', function() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Justin M. Keyes
					Justin M. Keyes