From 70f6939fd4b5e0f03dc606eedae13ef28fc0f9dd Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Mon, 4 Feb 2019 02:39:05 +0100 Subject: events: add "Signal" event #9564 ..which gets triggered when SIGUSR1 is sent to the nvim process. Closes #9562 --- test/functional/autocmd/signal_spec.lua | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/functional/autocmd/signal_spec.lua (limited to 'test') diff --git a/test/functional/autocmd/signal_spec.lua b/test/functional/autocmd/signal_spec.lua new file mode 100644 index 0000000000..719adeaf1b --- /dev/null +++ b/test/functional/autocmd/signal_spec.lua @@ -0,0 +1,38 @@ +local helpers = require('test.functional.helpers')(after_each) + +local clear = helpers.clear +local command = helpers.command +local eq = helpers.eq +local funcs = helpers.funcs +local next_msg = helpers.next_msg + +if helpers.pending_win32(pending) then + -- Only applies to POSIX systems. + return +end + +local function posix_kill(signame, pid) + os.execute('kill -s '..signame..' -- '..pid..' >/dev/null') +end + +describe('autocmd Signal', function() + before_each(clear) + + it('matches *', function() + command('autocmd Signal * call rpcnotify(1, "foo")') + posix_kill('USR1', funcs.getpid()) + eq({'notification', 'foo', {}}, next_msg()) + end) + + it('matches SIGUSR1', function() + command('autocmd Signal SIGUSR1 call rpcnotify(1, "foo")') + posix_kill('USR1', funcs.getpid()) + eq({'notification', 'foo', {}}, next_msg()) + end) + + it('does not match unknown patterns', function() + command('autocmd Signal SIGUSR2 call rpcnotify(1, "foo")') + posix_kill('USR1', funcs.getpid()) + eq(nil, next_msg(500)) + end) +end) -- cgit