aboutsummaryrefslogtreecommitdiff
path: root/scripts/run-functional-tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/run-functional-tests.py')
-rw-r--r--scripts/run-functional-tests.py93
1 files changed, 0 insertions, 93 deletions
diff --git a/scripts/run-functional-tests.py b/scripts/run-functional-tests.py
deleted file mode 100644
index 3e931b248c..0000000000
--- a/scripts/run-functional-tests.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# Run functional tests using lua, busted and the python client
-
-import os
-import sys
-import textwrap
-
-from lupa import LuaRuntime, as_attrgetter
-from neovim import Nvim, spawn_session
-
-
-# Extract arguments
-busted_script = sys.argv[1]
-busted_argv = sys.argv[2:]
-
-# Setup a lua state for running busted
-lua = LuaRuntime(unpack_returned_tuples=True)
-lua_globals = lua.globals()
-
-# helper to transform iterables into lua tables
-list_to_table = lua.eval('''
-function(l)
- local t = {}
- for i, item in python.enumerate(l) do t[i + 1] = item end
- return t
-end
-''')
-
-dict_to_table = lua.eval('''
-function(d)
- local t = {}
- for k, v in python.iterex(d.items()) do t[k] = v end
- return t
-end
-''')
-
-def to_table(obj):
- if type(obj) in [tuple, list]:
- return list_to_table(list(to_table(e) for e in obj))
- if type(obj) is dict:
- return dict_to_table(as_attrgetter(
- dict((k, to_table(v)) for k, v in obj.items())))
- return obj
-
-nvim_prog = os.environ.get('NVIM_PROG', 'build/bin/nvim')
-nvim_argv = [nvim_prog, '-u', 'NONE', '--embed']
-
-if 'VALGRIND' in os.environ:
- log_file = os.environ.get('VALGRIND_LOG', 'valgrind-%p.log')
- valgrind_argv = ['valgrind', '-q', '--tool=memcheck', '--leak-check=yes',
- '--track-origins=yes', '--suppressions=.valgrind.supp',
- '--log-file={0}'.format(log_file)]
- if 'VALGRIND_GDB' in os.environ:
- valgrind_argv += ['--vgdb=yes', '--vgdb-error=0']
- nvim_argv = valgrind_argv + nvim_argv
-
-session = spawn_session(nvim_argv)
-nvim = Nvim.from_session(session)
-
-def nvim_command(cmd):
- nvim.command(cmd)
-
-def nvim_eval(expr):
- return to_table(nvim.eval(expr))
-
-def nvim_feed(input, mode=''):
- nvim.feedkeys(input)
-
-def buffer_slice(start=None, stop=None, buffer_idx=None):
- rv = '\n'.join(nvim.buffers[buffer_idx or 0][start:stop])
- return rv
-
-def nvim_replace_termcodes(input, *opts):
- return nvim.replace_termcodes(input, *opts)
-
-expose = [
- nvim_command,
- nvim_eval,
- nvim_feed,
- nvim_replace_termcodes,
- buffer_slice,
- textwrap.dedent,
-]
-
-for fn in expose:
- lua_globals[fn.__name__] = fn
-
-# Set 'arg' global to let busted parse arguments
-lua_globals['arg'] = list_to_table(busted_argv)
-
-# Read the busted script and execute in the lua state
-with open(busted_script) as f:
- busted_setup = f.read()
-lua.execute(busted_setup)