1
0
Fork 0
mirror of https://github.com/vim/vim synced 2025-03-29 13:06:45 +01:00

Update termdebug tests

* Trim leading newlines and whitespaces from string returned by 1messages
* Replace addresses in screendump with a hardcoded one
* Add another screen dump test for pointer deref
This commit is contained in:
Peter Wolf 2024-10-25 23:04:58 +02:00
parent c0f970c1ef
commit c39dc91e2a
5 changed files with 39 additions and 10 deletions

View file

@ -1,8 +1,8 @@
|U+0&#ffffff0|s|i|n|g| |h|o|s|t| |l|i|b|t|h|r|e|a|d|_|d|b| |l|i|b|r|a|r|y| |"|/+0#00e0003&|l|i|b|/|x|8|6|_|6|4|-|l|i|n|u|x|-|g|n|u|/|l|i|b|t|h|r|e|a|d|_|d|b|.|s|o|.|1|"+0#0000000&|.|
@75
|B|r|e|a|k|p|o|i|n|t| |1|,| |m+0#e0e0004&|a|i|n| +0#0000000&|(|a+0#00e0e07&|r|g|c|=+0#0000000&|1|,| |a+0#00e0e07&|r|g|v|=+0#0000000&|0|x|7|f@6|e|1|2|8|)| @26
@4|a|t| |X+0#00e0003&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c|:+0#0000000&|8| @42
|8| @8|r+2#0000e05&|e|t|u|r|n| +0#0000000&|0+0#e000e06&|;+0#e000002&| +0#0000000&@55
|B|r|e|a|k|p|o|i|n|t| |1|,| |m+0#e0e0004&|a|i|n| +0#0000000&|(|a+0#00e0e07&|r|g|c|=+0#0000000&|1|,| |a+0#00e0e07&|r|g|v|=+0#0000000&|0|x|7|f@6|d|e|f|8|)| @26
@4|a|t| |X+0#00e0003&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c|:+0#0000000&|9| @42
|9| @8|r+2#0000e05&|e|t|u|r|n| +0#0000000&|0+0#e000e06&|;+0#e000002&| +0#0000000&@55
@75
|g+0#ffffff16#00e0003|d|b| |[|r|u|n@1|i|n|g|]| @43|1|,|1| @11|T|o|p
| +0#0000000#ffffff0@74
@ -12,9 +12,9 @@
@75
|d+0#ffffff16#00e0003|e|b|u|p+0#0000001#ffd7ff255|:| |{| @3|g+0#ffffff16#00e0003|r|a|m| |[|a|c|t|i|v|e|]| @31|0|,|0|-|1| @9|A|l@1
| +0#0000000#e0e0e08| +2#ffffff16#6c6c6c255|S|t| +0#0000001#ffd7ff255@1|x| |=| |1|,|x+2#ffffff16#6c6c6c255|t| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|F|i|n|i|s|h| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|C|o|n|t| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|S|t|o|p| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|E|v|a|l| | +0#0000000#e0e0e08@25
| +0#0000e05#a8a8a8255@1|i+0#00e0003#ffffff0|n| +0#0000001#ffd7ff255@1|y| |=| |2| |n+0#00e0003#ffffff0|t| +0#0000000&|a|r|g|c|,| |c+0#00e0003&|h|a|r|*+0#0000000&| |a|r|g|v|[|]|)| |{| @38
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|}+0#0000001#ffd7ff255| @6|o+0#0000000#ffffff0|i|n|t| |p| |=| |{|a|r|g|c|,| |2+0#e000002&|}+0#0000000&|;| @43
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1| +0#0000001#ffd7ff255@1|y| |=| |2| |o+0#0000000#ffffff0|i|n|t| |p| |=| |{|a|r|g|c|,| |2+0#e000002&|}+0#0000000&|;| @43
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|}+0#0000001#ffd7ff255| @6|o+0#0000000#ffffff0|i|n|t|*| |p|_|p|t|r| |=| |&|p|;| @45
|0+0&#ff404010|1| +0&#5fd7ff255@1>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|;+0#0000000&| @61
| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @71
|X+3&&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c| @33|8|,|3| @11|B|o|t
|X+3&&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c| @33|9|,|3| @11|B|o|t
|:+0&&|E|v|a|l|u|a|t|e| |p| @63

View file

@ -0,0 +1,2 @@
" replace hex addresses with |0|x|f@12|
:%s/|0|x|\(\(\w\|@\)\+|\)\+/|0|x|f@12|/g

View file

@ -0,0 +1,20 @@
|U+0&#ffffff0|s|i|n|g| |h|o|s|t| |l|i|b|t|h|r|e|a|d|_|d|b| |l|i|b|r|a|r|y| |"|/+0#00e0003&|l|i|b|/|x|8|6|_|6|4|-|l|i|n|u|x|-|g|n|u|/|l|i|b|t|h|r|e|a|d|_|d|b|.|s|o|.|1|"+0#0000000&|.|
@75
|B|r|e|a|k|p|o|i|n|t| |1|,| |m+0#e0e0004&|a|i|n| +0#0000000&|(|a+0#00e0e07&|r|g|c|=+0#0000000&|1|,| |a+0#00e0e07&|r|g|v|=+0#0000000&|0|x|7|f@6|d|e|f|8|)| @26
@4|a|t| |X+0#00e0003&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c|:+0#0000000&|9| @42
|9| @8|r+2#0000e05&|e|t|u|r|n| +0#0000000&|0+0#e000e06&|;+0#e000002&| +0#0000000&@55
@75
|g+0#ffffff16#00e0003|d|b| |[|r|u|n@1|i|n|g|]| @43|1|,|1| @11|T|o|p
| +0#0000000#ffffff0@74
@75
@75
@75
@75
|d+0#ffffff16#00e0003|e|b|u|p+0#0000001#ffd7ff255|_|p|t|r|:| |0|x|7|f@6|d@1|c|0| |=| |{| +0#ffffff16#00e0003@27|0|,|0|-|1| @9|A|l@1
| +0#0000000#e0e0e08| +2#ffffff16#6c6c6c255|S|t| +0#0000001#ffd7ff255@1|x| |=| |1|,| @16|o+2#ffffff16#6c6c6c255|n|t| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|S|t|o|p| | +0#0000000#e0e0e08@1| +2#ffffff16#6c6c6c255|E|v|a|l| | +0#0000000#e0e0e08@25
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1| +0#0000001#ffd7ff255@1|y| |=| |2| @17|}+0#0000000#ffffff0|;| @43
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|}+0#0000001#ffd7ff255| @23| +0#0000000#ffffff0@45
|0+0&#ff404010|1| +0&#5fd7ff255@1>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|;+0#0000000&| @61
| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @71
|X+3&&|T|D|_|e|v|a|l|u|a|t|e|_|i|n|_|p|o|p|u|p|.|c| @33|9|,|3| @11|B|o|t
|:+0&&|E|v|a|l|u|a|t|e| |p|_|p|t|r| @59

View file

@ -0,0 +1,2 @@
" replace hex addresses with |0|x|f@12|
:%s/|0|x|\(\(\w\|@\)\+|\)\+/|0|x|f@12|/g

View file

@ -266,13 +266,13 @@ func Test_termdebug_evaluate()
" Evaluate an expression
Evaluate n
call term_wait(gdb_buf)
call assert_equal(execute('1messages'), '"n": 7')
call assert_equal(execute('1messages')->trim(), '"n": 7')
Evaluate argc
call term_wait(gdb_buf)
call assert_equal(execute('1messages'), '"argc": 1')
call assert_equal(execute('1messages')->trim(), '"argc": 1')
Evaluate isprime(n)
call term_wait(gdb_buf)
call assert_equal(execute('1messages'), '"isprime(n)": 1')
call assert_equal(execute('1messages')->trim(), '"isprime(n)": 1')
wincmd t
quit!
@ -293,6 +293,7 @@ func Test_termdebug_evaluate_in_popup()
int main(int argc, char* argv[]) {
struct Point p = {argc, 2};
struct Point* p_ptr = &p;
return 0;
}
END
@ -306,7 +307,7 @@ func Test_termdebug_evaluate_in_popup()
let g:termdebug_config['evaluate_in_popup'] = v:true
Termdebug ./XTD_evaluate_in_popup
wincmd b
Break 8
Break 9
Run
END
@ -318,6 +319,10 @@ func Test_termdebug_evaluate_in_popup()
call TermWait(buf, 400)
call VerifyScreenDump(buf, 'Test_termdebug_evaluate_in_popup_01', {})
call term_sendkeys(buf, ":Evaluate p_ptr\<CR>")
call TermWait(buf, 400)
call VerifyScreenDump(buf, 'Test_termdebug_evaluate_in_popup_02', {})
" Cleanup
call term_sendkeys(buf, ":Gdb")
call term_sendkeys(buf, ":quit!\<CR>")