kitty/kitty_tests
copilot-swe-agent[bot] 519fd49ce6
Fix bugs in t=k remote drag implementation and add comprehensive tests
Bug fixes in dnd.c:
- mktempdir_in_cache: add missing 'return ans' after successful strdup
- mktempdir_in_cache (utils.py): use O_RDONLY instead of O_RDWR for directories
- remote_items allocation: use mi.num_uris instead of ds.num_mimes
- Off-by-one: uri_item_idx > changed to >= for bounds checks
- Off-by-one: entry_num > changed to >= for bounds checks
- populate_dir_entries: fix missing last entry after final null separator
- add_payload directory finalization: create directory on disk with mkdirat
- get_errno_name: add EFBIG, EISDIR, ENOSPC error codes

Test infrastructure:
- Add dnd_test_force_drag_dropped() to simulate DROPPED state
- Make notify_drag_data_ready() succeed in test mode

Comprehensive t=k tests added:
- Single file, empty file, single symlink transfer
- Chunked file transfer with m=1
- Single directory with children
- Directory with symlinks
- Multiple URIs
- Deep directory trees (breadth-first and depth-first, 3+ levels)
- Mixed file/dir/symlink at top level
- Completion signal
- Error handling (client errors, invalid state)
- DoS limits (REMOTE_DRAG_LIMIT, PRESENT_DATA_CAP)
- Invalid input (bad base64, too large chunks, invalid indices/handles)
- URI list with comments
- Multiple chunks for directory listing

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/9da0bff7-6a1a-490f-a4c5-8cb328e056ce

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-13 15:54:34 +00:00
..
__init__.py Fix some responses from terminal sometimes leaking into shell on after kitten exit 2026-04-10 15:14:38 +05:30
atexit.py Add integration test for go atexit implementation 2025-09-30 12:37:25 +05:30
CascadiaCode-Regular.otf
check_build.py Cleanup previous PR 2026-03-15 08:38:59 +05:30
clipboard.py Fix a regression that broke writing to the clipboard using the OSC 5522 protocol 2024-09-15 08:42:50 +05:30
command_palette.py Add alias and combine support to the command palette 2026-04-06 09:45:39 -07:00
completion.py remove leftover debug prints 2025-07-20 21:45:36 +05:30
crypto.py Only import resource module when actually running the test instead of at import time 2023-05-24 16:59:44 +05:30
datatypes.py Cleanup previous PR 2026-03-16 17:38:14 +05:30
dnd.py Fix bugs in t=k remote drag implementation and add comprehensive tests 2026-04-13 15:54:34 +00:00
file_transmission.py tests: apply os.utime to created symlinks too 2024-10-03 23:09:28 -04:00
FiraCode-Medium.otf
fonts.py Implement software rendering for Unicode 16 legacy computing symbols 2026-04-11 14:17:21 +05:30
glfw.py a couple more tests 2023-12-01 18:16:22 +05:30
gr.py Make shebangs consistent 2023-11-11 08:32:05 +05:30
GraphemeBreakTest.json Add support for Unicode 17 2025-10-18 09:59:53 +05:30
graphics.py Add tests for graphics protocol crash fixes (commits e9661f0 and 48ab623) 2026-03-23 03:39:38 +00:00
iosevka-regular.ttf
keys.py Cleanup previous PR 2026-03-26 09:30:14 +05:30
layout.py Fix drag resize direction bugs and add comprehensive tests 2026-04-01 03:48:49 +00:00
LiberationMono-Regular.ttf
main.py Use clean HOME and CONF and CACHE dirs when running Go tests 2025-07-09 13:29:33 +05:30
mouse.py Fix double-click word selection not extending beyond viewport edges 2026-04-07 09:49:50 +00:00
multicell.py Fix selections test failing due to pixel scroll 2026-01-08 12:40:40 +05:30
notifications.py Ensure temp files and other resources are cleaned up even if kitty crashes or is SIGKILLed 2025-01-05 12:51:59 +05:30
open_actions.py Make shebangs consistent 2023-11-11 08:32:05 +05:30
options.py Support negative inactive_text_alpha values for active-window-only fading 2026-04-09 13:04:01 +08:00
panels.py ... 2025-05-03 10:47:03 +05:30
parser.py Add parse test for CSI 14;2 t 2025-11-24 11:23:21 +05:30
screen.py Fix issue #9834: preserve trailing spaces on soft-wrapped lines during copy 2026-04-08 17:17:20 +00:00
search_query_parser.py Replace isort with ruff 2023-01-09 16:47:42 +05:30
shell_integration.py Fix test failure with fish >= 4.1 2025-09-29 14:01:57 +05:30
shm.py Go SHM API to read simple data with size from SHM name 2023-02-26 08:01:02 +05:30
ssh.py Dont use subTest as it doesnt work with retry_on_failure 2025-04-07 05:22:15 +05:30
tui.py Make shebangs consistent 2023-11-11 08:32:05 +05:30
twemoji_smiley-cff2_colr_1.otf Add basic colrv1 rendering test 2025-02-03 11:06:41 +05:30
utmp.py ... 2022-12-11 20:55:06 +05:30