commit
4de1269baa
4 changed files with 73 additions and 5 deletions
|
|
@ -61,7 +61,7 @@ class DebugSession( object ):
|
|||
self._configuration = None
|
||||
self._init_complete = False
|
||||
self._launch_complete = False
|
||||
self._on_init_complete_handlers = None
|
||||
self._on_init_complete_handlers = []
|
||||
self._server_capabilities = {}
|
||||
|
||||
def Start( self, launch_variables = {} ):
|
||||
|
|
@ -671,8 +671,7 @@ class DebugSession( object ):
|
|||
if self._launch_complete and self._init_complete:
|
||||
for h in self._on_init_complete_handlers:
|
||||
h()
|
||||
|
||||
self._on_init_complete_handlers = None
|
||||
self._on_init_complete_handlers = []
|
||||
|
||||
self._stackTraceView.LoadThreads( True )
|
||||
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ def InputSave():
|
|||
vim.eval( 'inputsave()' )
|
||||
try:
|
||||
yield
|
||||
except Exception:
|
||||
finally:
|
||||
vim.eval( 'inputrestore()' )
|
||||
|
||||
|
||||
|
|
@ -262,7 +262,6 @@ def SelectFromList( prompt, options ):
|
|||
|
||||
|
||||
def AskForInput( prompt ):
|
||||
# TODO: Handle the ctrl-c and such responses returning empty or something
|
||||
with InputSave():
|
||||
try:
|
||||
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