From 69085113b3c21d2dd41e4bbf1e4dd1b6425feddd Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Wed, 15 Apr 2015 02:14:40 +0200 Subject: Add test/functional/ex_cmds/profile_spec.lua This adds two new tests for: :profile dump :profile stop --- test/functional/ex_cmds/profile_spec.lua | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 test/functional/ex_cmds/profile_spec.lua (limited to 'test') diff --git a/test/functional/ex_cmds/profile_spec.lua b/test/functional/ex_cmds/profile_spec.lua new file mode 100644 index 0000000000..721669e73b --- /dev/null +++ b/test/functional/ex_cmds/profile_spec.lua @@ -0,0 +1,51 @@ +require('os') +require('lfs') + +local helpers = require('test.functional.helpers') +local eval = helpers.eval +local command = helpers.command +local eq, neq = helpers.eq, helpers.neq +local tempfile = os.tmpname() + +-- os.tmpname() also creates the file on POSIX systems. Remove it again. +-- We just need the name, ignoring any race conditions. +if lfs.attributes(tempfile, 'uid') then + os.remove(tempfile) +end + +local function assert_file_exists(filepath) + -- Use 2-argument lfs.attributes() so no extra table gets created. + -- We don't really care for the uid. + neq(nil, lfs.attributes(filepath, 'uid')) +end + +local function assert_file_exists_not(filepath) + eq(nil, lfs.attributes(filepath, 'uid')) +end + +describe(':profile', function() + before_each(helpers.clear) + + after_each(function() + if lfs.attributes(tempfile, 'uid') ~= nil then + os.remove(tempfile) + end + end) + + it('dump', function() + eq(0, eval('v:profiling')) + command('profile start ' .. tempfile) + eq(1, eval('v:profiling')) + assert_file_exists_not(tempfile) + command('profile dump') + assert_file_exists(tempfile) + end) + + it('stop', function() + command('profile start ' .. tempfile) + assert_file_exists_not(tempfile) + command('profile stop') + assert_file_exists(tempfile) + eq(0, eval('v:profiling')) + end) +end) -- cgit