test: add more profile tests

- Add a test to make sure that 'profile dump' does not reset the profile.
- Add a test to make sure that 'profile stop' does reset the profile.
This commit is contained in:
erw7
2020-05-09 11:57:59 +09:00
parent 949783fdfa
commit 7872877ce5

View File

@@ -6,6 +6,9 @@ local eval = helpers.eval
local command = helpers.command local command = helpers.command
local eq, neq = helpers.eq, helpers.neq local eq, neq = helpers.eq, helpers.neq
local tempfile = helpers.tmpname() local tempfile = helpers.tmpname()
local source = helpers.source
local matches = helpers.matches
local read_file = helpers.read_file
-- tmpname() also creates the file on POSIX systems. Remove it again. -- tmpname() also creates the file on POSIX systems. Remove it again.
-- We just need the name, ignoring any race conditions. -- We just need the name, ignoring any race conditions.
@@ -32,7 +35,8 @@ describe(':profile', function()
end end
end) end)
it('dump', function() describe('dump', function()
it('works', function()
eq(0, eval('v:profiling')) eq(0, eval('v:profiling'))
command('profile start ' .. tempfile) command('profile start ' .. tempfile)
eq(1, eval('v:profiling')) eq(1, eval('v:profiling'))
@@ -41,11 +45,57 @@ describe(':profile', function()
assert_file_exists(tempfile) assert_file_exists(tempfile)
end) end)
it('stop', function() it('not resetting the profile', function()
source([[
function! Test()
endfunction
]])
command('profile start ' .. tempfile)
assert_file_exists_not(tempfile)
command('profile func Test')
command('call Test()')
command('profile dump')
assert_file_exists(tempfile)
local profile = read_file(tempfile)
matches('Called 1 time', profile)
command('call Test()')
command('profile dump')
assert_file_exists(tempfile)
profile = read_file(tempfile)
matches('Called 2 time', profile)
command('profile stop')
end)
end)
describe('stop', function()
it('works', function()
command('profile start ' .. tempfile) command('profile start ' .. tempfile)
assert_file_exists_not(tempfile) assert_file_exists_not(tempfile)
command('profile stop') command('profile stop')
assert_file_exists(tempfile) assert_file_exists(tempfile)
eq(0, eval('v:profiling')) eq(0, eval('v:profiling'))
end) end)
it('resetting the profile', function()
source([[
function! Test()
endfunction
]])
command('profile start ' .. tempfile)
assert_file_exists_not(tempfile)
command('profile func Test')
command('call Test()')
command('profile stop')
assert_file_exists(tempfile)
local profile = read_file(tempfile)
matches('Called 1 time', profile)
command('profile start ' .. tempfile)
command('profile func Test')
command('call Test()')
command('profile stop')
assert_file_exists(tempfile)
profile = read_file(tempfile)
matches('Called 1 time', profile)
end)
end)
end) end)