aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-03-30 13:08:55 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2022-03-30 16:27:11 -0400
commite5f7752a046c2a53f9990a0849dbcd51f0e14299 (patch)
treec98fffbe5a12bcf6ca269b94dbeb4ae1b5e1d65b /binutils
parent47ccd6b84bdf35688fb1516f06db68462bd24585 (diff)
downloadbinutils-e5f7752a046c2a53f9990a0849dbcd51f0e14299.zip
binutils-e5f7752a046c2a53f9990a0849dbcd51f0e14299.tar.gz
binutils-e5f7752a046c2a53f9990a0849dbcd51f0e14299.tar.bz2
gdb/testsuite: add tests for Term
While trying to review Andrew's patch here [1], I thought I spotted a bug in the handling of a CSI, but I had no way to know for sure. So I thought it would be useful to have unit tests for the handling of control characters and control sequences of our toy terminal implementation. It might help avoid chasing bugs in the GDB TUI when in reality it's a problem with the testsuite's terminal implementation. Add the gdb.tui/tuiterm.exp file to do that. All currently supported control sequences and characters are tested, except _csi_m (the one that handles colors and stuff). _csi_m should probably be tested too, but it will require more work. Fix a few issues that the tests spotted: - backspace: according to [3] (table 4-1), a backspace when the cursor is at the beginning of a line should have no effect. Our implementation did wrap to the end of the previous line. Change our implementation to match the doc (and the test). - insert character: this control sequence is supposed to insert blank characters, shifting all the rest of the line right. The current implementation moves N characters right, but it overwrites the characters on the right instead of shifting them. It also doesn't insert blank characters at the cursor. - Cursor down, forward, next line: off-by-one error when reaching the end of the display. - erase in display, line: off-by-one errors. - vertical line position absolute: allowed setting the cursor outside the display, when it should clamp it to the display size. I found that this web page [2] gave some good clues on the expected behavior of some control characters or sequences that some other pages didn't. [1] https://sourceware.org/pipermail/gdb-patches/2022-March/186433.html [2] https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences [3] https://vt100.net/docs/vt510-rm/chapter4.html#S4.3.3 Change-Id: Iab4141fdcfb7459d1b7c45cc63bd1fcb50a78d5d
Diffstat (limited to 'binutils')
0 files changed, 0 insertions, 0 deletions