aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-11-22 12:29:03 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-11-23 08:56:43 -0300
commitaa22612112e6c32d8f02d5d8caa9758cee509a64 (patch)
tree25dee8a83ebe56eff1de68ff54d3624feac4c58b
parent4b89903a22894c8f0847ed6c206f2dfcae60b4d1 (diff)
downloadrneovim-aa22612112e6c32d8f02d5d8caa9758cee509a64.tar.gz
rneovim-aa22612112e6c32d8f02d5d8caa9758cee509a64.tar.bz2
rneovim-aa22612112e6c32d8f02d5d8caa9758cee509a64.zip
test: Add gdbserver support on helpers.lua
The $GDB env var can be set to run tests under gdbserver. If $VALGRIND is also set, it will add the --vgdb=yes command-line option to valgrind instead of starting gdbserver.
-rw-r--r--test/functional/helpers.lua32
1 files changed, 21 insertions, 11 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 4a98056104..27d8493a12 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -6,23 +6,33 @@ local Session = require('nvim.session')
local nvim_prog = os.getenv('NVIM_PROG') or 'build/bin/nvim'
local nvim_argv = {nvim_prog, '-u', 'NONE', '-i', 'NONE', '-N', '--embed'}
+local prepend_argv
if os.getenv('VALGRIND') then
local log_file = os.getenv('VALGRIND_LOG') or 'valgrind-%p.log'
- local valgrind_argv = {'valgrind', '-q', '--tool=memcheck',
- '--leak-check=yes', '--track-origins=yes',
- '--show-possibly-lost=no',
- '--suppressions=.valgrind.supp',
- '--log-file='..log_file}
- if os.getenv('VALGRIND_GDB') then
- table.insert(valgrind_argv, '--vgdb=yes')
- table.insert(valgrind_argv, '--vgdb-error=0')
+ prepend_argv = {'valgrind', '-q', '--tool=memcheck',
+ '--leak-check=yes', '--track-origins=yes',
+ '--show-possibly-lost=no',
+ '--suppressions=.valgrind.supp',
+ '--log-file='..log_file}
+ if os.getenv('GDB') then
+ table.insert(prepend_argv, '--vgdb=yes')
+ table.insert(prepend_argv, '--vgdb-error=0')
end
- local len = #valgrind_argv
+elseif os.getenv('GDB') then
+ local gdbserver_port = '7777'
+ if os.getenv('GDBSERVER_PORT') then
+ gdbserver_port = os.getenv('GDBSERVER_PORT')
+ end
+ prepend_argv = {'gdbserver', 'localhost:'..gdbserver_port}
+end
+
+if prepend_argv then
+ local len = #prepend_argv
for i = 1, #nvim_argv do
- valgrind_argv[i + len] = nvim_argv[i]
+ prepend_argv[i + len] = nvim_argv[i]
end
- nvim_argv = valgrind_argv
+ nvim_argv = prepend_argv
end
local session, loop_running, loop_stopped, last_error