forked from aniani/vim
Problem: Test 108 fails when language is French. Solution: Force English messages. (Dominique Pelle)
89 lines
1.3 KiB
Plaintext
89 lines
1.3 KiB
Plaintext
Tests for backtrace debug commands. vim: set ft=vim :
|
|
|
|
STARTTEST
|
|
:so small.vim
|
|
:lang mess C
|
|
:function! Foo()
|
|
: let var1 = 1
|
|
: let var2 = Bar(var1) + 9
|
|
: return var2
|
|
:endfunction
|
|
:
|
|
:function! Bar(var)
|
|
: let var1 = 2 + a:var
|
|
: let var2 = Bazz(var1) + 4
|
|
: return var2
|
|
:endfunction
|
|
:
|
|
:function! Bazz(var)
|
|
: let var1 = 3 + a:var
|
|
: let var3 = "another var"
|
|
: return var1
|
|
:endfunction
|
|
:new
|
|
:debuggreedy
|
|
:redir => out
|
|
:debug echo Foo()
|
|
step
|
|
step
|
|
step
|
|
step
|
|
step
|
|
step
|
|
echo "- show backtrace:\n"
|
|
backtrace
|
|
echo "\nshow variables on different levels:\n"
|
|
echo var1
|
|
up
|
|
back
|
|
echo var1
|
|
u
|
|
bt
|
|
echo var1
|
|
echo "\n- undefined vars:\n"
|
|
step
|
|
frame 2
|
|
echo "undefined var3 on former level:"
|
|
echo var3
|
|
fr 0
|
|
echo "here var3 is defined with \"another var\":"
|
|
echo var3
|
|
step
|
|
step
|
|
step
|
|
up
|
|
echo "\nundefined var2 on former level"
|
|
echo var2
|
|
down
|
|
echo "here var2 is defined with 10:"
|
|
echo var2
|
|
echo "\n- backtrace movements:\n"
|
|
b
|
|
echo "\nnext command cannot go down, we are on bottom\n"
|
|
down
|
|
up
|
|
echo "\nnext command cannot go up, we are on top\n"
|
|
up
|
|
b
|
|
echo "fil is not frame or finish, it is file"
|
|
fil
|
|
echo "\n- relative backtrace movement\n"
|
|
fr -1
|
|
frame
|
|
fra +1
|
|
fram
|
|
echo "\n- go beyond limits does not crash\n"
|
|
fr 100
|
|
fra
|
|
frame -40
|
|
fram
|
|
echo "\n- final result 19:"
|
|
cont
|
|
:0debuggreedy
|
|
:redir END
|
|
:$put =out
|
|
:w! test.out
|
|
:qa!
|
|
ENDTEST
|
|
|