commit
4de1269baa
4 changed files with 73 additions and 5 deletions
|
|
@ -61,7 +61,7 @@ class DebugSession( object ):
|
||||||
self._configuration = None
|
self._configuration = None
|
||||||
self._init_complete = False
|
self._init_complete = False
|
||||||
self._launch_complete = False
|
self._launch_complete = False
|
||||||
self._on_init_complete_handlers = None
|
self._on_init_complete_handlers = []
|
||||||
self._server_capabilities = {}
|
self._server_capabilities = {}
|
||||||
|
|
||||||
def Start( self, launch_variables = {} ):
|
def Start( self, launch_variables = {} ):
|
||||||
|
|
@ -671,8 +671,7 @@ class DebugSession( object ):
|
||||||
if self._launch_complete and self._init_complete:
|
if self._launch_complete and self._init_complete:
|
||||||
for h in self._on_init_complete_handlers:
|
for h in self._on_init_complete_handlers:
|
||||||
h()
|
h()
|
||||||
|
self._on_init_complete_handlers = []
|
||||||
self._on_init_complete_handlers = None
|
|
||||||
|
|
||||||
self._stackTraceView.LoadThreads( True )
|
self._stackTraceView.LoadThreads( True )
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ def InputSave():
|
||||||
vim.eval( 'inputsave()' )
|
vim.eval( 'inputsave()' )
|
||||||
try:
|
try:
|
||||||
yield
|
yield
|
||||||
except Exception:
|
finally:
|
||||||
vim.eval( 'inputrestore()' )
|
vim.eval( 'inputrestore()' )
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -262,7 +262,6 @@ def SelectFromList( prompt, options ):
|
||||||
|
|
||||||
|
|
||||||
def AskForInput( prompt ):
|
def AskForInput( prompt ):
|
||||||
# TODO: Handle the ctrl-c and such responses returning empty or something
|
|
||||||
with InputSave():
|
with InputSave():
|
||||||
try:
|
try:
|
||||||
return vim.eval( "input( '{0}' )".format( Escape( prompt ) ) )
|
return vim.eval( "input( '{0}' )".format( Escape( prompt ) ) )
|
||||||
|
|
|
||||||
15
support/test/python/simple_python/.vimspector.json
Normal file
15
support/test/python/simple_python/.vimspector.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"configurations": {
|
||||||
|
"run": {
|
||||||
|
"adapter": "vscode-python",
|
||||||
|
"configuration": {
|
||||||
|
"request": "launch",
|
||||||
|
"type": "python",
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"program": "${file}",
|
||||||
|
"stopOnEntry": true,
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
55
tests/language_python.test.vim
Normal file
55
tests/language_python.test.vim
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
function! SetUp()
|
||||||
|
call vimspector#test#setup#SetUpWithMappings( v:none )
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ClearDown()
|
||||||
|
call vimspector#test#setup#ClearDown()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! SetUp_Test_Go_Simple()
|
||||||
|
let g:vimspector_enable_mappings = 'HUMAN'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! Test_Go_Simple()
|
||||||
|
let fn='main.py'
|
||||||
|
lcd ../support/test/python/simple_python
|
||||||
|
exe 'edit ' . fn
|
||||||
|
call setpos( '.', [ 0, 6, 1 ] )
|
||||||
|
|
||||||
|
call vimspector#test#signs#AssertCursorIsAtLineInBuffer( fn, 6, 1 )
|
||||||
|
call vimspector#test#signs#AssertSignGroupEmptyAtLine( 'VimspectorBP', 6 )
|
||||||
|
|
||||||
|
" Add the breakpoint
|
||||||
|
call feedkeys( "\<F9>", 'xt' )
|
||||||
|
call vimspector#test#signs#AssertSignGroupSingletonAtLine( 'VimspectorBP',
|
||||||
|
\ 6,
|
||||||
|
\ 'vimspectorBP' )
|
||||||
|
|
||||||
|
call setpos( '.', [ 0, 1, 1 ] )
|
||||||
|
|
||||||
|
" Here we go. Start Debugging
|
||||||
|
pyx << EOF
|
||||||
|
from unittest.mock import patch
|
||||||
|
with patch( 'vimspector.utils.SelectFromList',
|
||||||
|
return_value=None ) as p:
|
||||||
|
with patch( 'vimspector.utils.AskForInput',
|
||||||
|
return_value=None ) as p:
|
||||||
|
vim.eval( 'feedkeys( "\<F5>", "xt" )' )
|
||||||
|
vim.eval( 'vimspector#test#signs#AssertCursorIsAtLineInBuffer( fn, 6, 1 )' )
|
||||||
|
p.assert_called()
|
||||||
|
EOF
|
||||||
|
|
||||||
|
" Step
|
||||||
|
call feedkeys( "\<F10>", 'xt' )
|
||||||
|
|
||||||
|
call vimspector#test#signs#AssertCursorIsAtLineInBuffer( fn, 7, 1 )
|
||||||
|
call WaitForAssert( {->
|
||||||
|
\ vimspector#test#signs#AssertPCIsAtLineInBuffer( fn, 7 )
|
||||||
|
\ } )
|
||||||
|
|
||||||
|
call vimspector#test#setup#Reset()
|
||||||
|
|
||||||
|
lcd -
|
||||||
|
%bwipeout!
|
||||||
|
endfunction
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue