Commit graph

936 commits

Author SHA1 Message Date
Kovid Goyal
624007c7aa
Refuse to read image files in /proc /sys and /dev
Also, open the image file with O_NONBLOCK to ensure we dont hang opening
a FIFO
2023-05-25 12:17:03 +05:30
Kovid Goyal
d059ddbb07
Only import resource module when actually running the test instead of at import time 2023-05-24 16:59:44 +05:30
Olivier Gayot
430768f38b Skip crypto test if RLIMIT_MEMLOCK is too low
On systems where the max locked memory (a.k.a., RLIMIT_MEMLOCK) is too
low, the crypto test fails with "Cannot allocate memory".

Distros such as Debian and Ubuntu run the test-suite as part of the
build process. This results in failed builds if the build machine itself
does not have a sufficiently high value for RLIMIT_MEMLOCK. That said,
the resulting builds would run perfectly fine when installed on machines
that meet the requirements.

On supported systems, we now check if the RLIMIT_MEMLOCK is high enough
and skip the crypto test if it is not.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-05-24 13:18:08 +02:00
Kovid Goyal
a2aadd4756
Remove python diff tests as no longer needed 2023-03-27 11:54:34 +05:30
Kovid Goyal
d30091034a
Remove the python diff kitten 2023-03-27 11:46:22 +05:30
Kovid Goyal
1bed92bed1
Cleanup previous PR 2023-03-20 07:42:10 +05:30
usertam
08fa7f19f7
kitty_tests, shell-integration: rework getpwuid() exceptions suppression 2023-03-20 03:31:23 +08:00
Samuel Tam
31319f0b65
kitty_tests/ssh.py: skip login shell detection if getpwuid() fails 2023-03-19 18:45:47 +08:00
Kovid Goyal
c19ac531cf
Fix some failing tests 2023-03-14 20:40:12 +05:30
Kovid Goyal
29dd2438c9
Port the subseq matcher to Go 2023-03-14 12:29:44 +05:30
Kovid Goyal
34cbf5ceac
Get rid of prewarming
Don't need it anymore since all major UI kittens are ported to Go
and so don't have startup latency.
2023-03-10 13:22:10 +05:30
Kovid Goyal
b76b0c61ed
Port custom processor for hints 2023-03-10 10:45:37 +05:30
Kovid Goyal
5b3f5dd02d
Port all remaining hints matching tests 2023-03-09 20:53:46 +05:30
Kovid Goyal
0e5ed29d83
Fix generation of url regex for Go 2023-03-09 19:00:56 +05:30
Kovid Goyal
8add28de96
Merge branch 'pr-unicode-placeholders' of https://github.com/sergei-grechanik/kitty 2023-03-03 10:55:02 +05:30
Kovid Goyal
00b3437a05
Remove python implementation of SSH kitten 2023-02-28 12:42:30 +05:30
Kovid Goyal
6de77ce987
Clean up exclude pattern handling 2023-02-26 09:12:12 +05:30
Kovid Goyal
5cc3d3cbfe
Fix remaining failing tests 2023-02-26 08:01:04 +05:30
Kovid Goyal
dc938cf3dd
More test fixes 2023-02-26 08:01:04 +05:30
Kovid Goyal
22ea33182a
Fix various test failures 2023-02-26 08:01:04 +05:30
Kovid Goyal
3f417b26b2
Wire up the new ssh kitten into the python ssh kitten tests 2023-02-26 08:01:04 +05:30
Kovid Goyal
525caff938
Move get_connection_data to utils module as it is not needed for the actual kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal
e02ba7f389
Port bootstrap script length limit 2023-02-26 08:01:03 +05:30
Kovid Goyal
d656017f27
Move SSH askpass implementation into kitten 2023-02-26 08:01:02 +05:30
Kovid Goyal
5a8d903a4d
Go SHM API to read simple data with size from SHM name 2023-02-26 08:01:02 +05:30
Kovid Goyal
d98504e1a6
Finish porting SSH config file parsing 2023-02-26 08:01:02 +05:30
Kovid Goyal
2b7d6d45df
Finish up config parser port 2023-02-26 08:01:01 +05:30
Sergei Grechanik
d63eeada73 Image placement using Unicode placeholders
This commit introduces the Unicode placeholder image placement method.
In particular:
- Virtual placements can be created by passing `U=1` in a put command.
- Images with virtual placements can be displayed using the placeholder
  character `U+10EEEE` with diacritics indicating rows and columns.
- The image ID is indicated by the foreground color of the placeholder.
  Additionally, the most significant byte of the ID can be specified via
  the third diacritic.
- Underline color can be optionally used to specify the placement ID.
- A bug was fixed, which caused incomplete image removal when it was
  overwritten by another image with the same ID.
2023-02-21 18:23:16 -08:00
Kovid Goyal
ac5298ce76
Finish porting unicode input 2023-02-15 17:42:31 +05:30
Kovid Goyal
53e33a80ba
Start work on porting unicode input kitten to Go 2023-02-14 21:33:21 +05:30
Kovid Goyal
dd5cfe38b7
Update README 2023-01-14 15:56:03 +05:30
Kovid Goyal
6b8e5ea225
Rename kitty-tool to kitten
It's easier to type, and cuter.

Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.

The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.

Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
7fe5d7b58f
Replace isort with ruff 2023-01-09 16:47:42 +05:30
Kovid Goyal
a068e3e655
Fix issues reported by ruff 2023-01-09 15:54:41 +05:30
Kovid Goyal
e2543e8968
Fix #5852 2023-01-04 08:20:04 +05:30
Kovid Goyal
306f9e5735
Prettify URLs before displaying them to the user 2022-12-29 17:04:02 +05:30
Kovid Goyal
6e4376e44e
A few more wrapping serialization tests 2022-12-27 09:11:15 +05:30
Kovid Goyal
f6801d48d1
Add a test to ensure \n does not change wrapping status 2022-12-27 08:48:26 +05:30
Kovid Goyal
68cf9f7514
Switch to tracking linewrap on the last cell in a line
This allows us to have newline not affect the wrap status of a line.

Now a lines wrapping status is changed only when the last cell
in the line is changed. This actually matches the behavior of many other
terminal emulators so is probably a good thing from a ecosystem
compatibility perspective.

The fish shell expects this weird behavior of newline not changing
wrapping status, for unknown reasons, which is the actual motivation for
doing all this work.

Fixes #5766
2022-12-26 20:26:21 +05:30
Sergei Grechanik
32d8aac808 Fix scrolling images within margins
This commit fixes an off-by-one error in image scrolling that caused
images to not be scrolled or to be cropped at the wrong line.
2022-12-25 15:34:54 -08:00
Kovid Goyal
cd92d50a0d
Keyboard protocol: Remove CSI R from the allowed encodings of the F3 key as it conflicts with the *Cursor Position Report* escape code 2022-12-24 10:32:28 +05:30
James McCoy
9afd0309fc
tests: Use tempdir for XDG_RUNTIME_DIR 2022-12-21 22:21:48 -05:00
Kovid Goyal
c6360537e5
Try to fix tests failing on Python 3.11 2022-12-16 10:05:05 +05:30
Kovid Goyal
032e01ebf7
... 2022-12-11 20:55:06 +05:30
Kovid Goyal
3ee9f723f2
The legacy osc 52 protocol now works with the new clipboard requests manager class 2022-11-28 20:53:56 +05:30
Kovid Goyal
f9a22d0bc7
Port ANSI escape code parser to Go 2022-11-25 21:03:09 +05:30
Kovid Goyal
cfc6bd4da5
Native code implementation for expanding ANSI escape codes 2022-11-25 17:33:41 +05:30
Kovid Goyal
51bba9110e
Bash integration: Fix clone-in-kitty not working on bash >= 5.2 if environment variable values contain newlines or other special characters
Bash >= 5.2 changed the export command to output values using $' escaping when they contain special characters.
Fixes #5629
2022-11-22 16:38:24 +05:30
Kovid Goyal
efaf9faa38
Implement edit-in-kitty using kitty-tool
Fixes #5546
Fixes #5630
2022-11-17 20:48:20 +05:30
Kovid Goyal
a5a4a1bf8f
Increase timeout in test 2022-11-17 10:02:44 +05:30
Kovid Goyal
16775c5539
ssh kitten: Add a kitty-tool wrapper script to auto-download and use kitty-tool
Needs testing.
2022-11-15 13:26:48 +05:30
Kovid Goyal
2e07f90baf
... 2022-11-14 15:42:07 +05:30
Kovid Goyal
f945ef8ee8
handle ctrl-c better when interrupting go test 2022-11-14 15:42:06 +05:30
Kovid Goyal
7d5849cc17
... 2022-11-14 15:42:03 +05:30
Kovid Goyal
d2a2af9672
Add completion for kitty-tool 2022-11-14 15:42:02 +05:30
Kovid Goyal
3bd4fd999a
All completion tests pass again 2022-11-14 15:42:02 +05:30
Kovid Goyal
262e2fb7a3
Various fixes from the completion merge 2022-11-14 15:42:02 +05:30
Kovid Goyal
3662efdf80
Nicer handling of python for typecheck 2022-11-14 15:42:02 +05:30
Kovid Goyal
49f5f25fb9
Run tests in the writeable src dir as the generated go files are present there 2022-11-14 15:42:01 +05:30
Kovid Goyal
ff4353b209
... 2022-11-14 15:42:01 +05:30
Kovid Goyal
800dbf1f4d
extra message when tests have failed 2022-11-14 15:42:00 +05:30
Kovid Goyal
54ec486d3a
Now completion for hyperlinked_grep is automatic thanks to delegation
Also fix delegation for zsh when the command being completed differs
from the current command.
2022-11-14 15:42:00 +05:30
Kovid Goyal
e3b8de1ac0
Update test for new exe search 2022-11-14 15:41:59 +05:30
Kovid Goyal
928a4db817
Implement delegate based completion fof the ssh and hyperlinked_grep kittens 2022-11-14 15:41:59 +05:30
Kovid Goyal
fd631bf402
Delegate based completion for @launch args 2022-11-14 15:41:59 +05:30
Kovid Goyal
dc403156a9
Delegate based completion for kitty cmd 2022-11-14 15:41:59 +05:30
Kovid Goyal
8796168469
Port code to truncate strings to visual width to Go 2022-11-14 15:41:58 +05:30
Kovid Goyal
67f556bd7c
Add completion for the launch wrappers 2022-11-14 15:41:58 +05:30
Kovid Goyal
7737369fc9
Add completion for the kittens 2022-11-14 15:41:58 +05:30
Kovid Goyal
25a7ec9a07
Extra completion for some kitty options 2022-11-14 15:41:58 +05:30
Kovid Goyal
c2a2b4c087
Add various special purpose entry points 2022-11-14 15:41:58 +05:30
Kovid Goyal
3bf20594b7
Wire up completion for rc command options 2022-11-14 15:41:58 +05:30
Kovid Goyal
3a8bab90dc
Get rid of WordPrefix 2022-11-14 15:41:58 +05:30
Kovid Goyal
0ff2446a1a
More completion work 2022-11-14 15:41:58 +05:30
Kovid Goyal
d84efe105c
... 2022-11-14 15:41:58 +05:30
Kovid Goyal
c5afceb4cb
Basic completion for options 2022-11-14 15:41:57 +05:30
Kovid Goyal
18c3e46ac6
When completing on patterns exclude directories that only contain files that dont match 2022-11-14 15:41:57 +05:30
Kovid Goyal
3c29ce936b
Dont recurse for file completion
We could potentially end up recursing over the entire file system. And
for completion we only present the candidates in the immediate directory
anyway.
2022-11-14 15:41:57 +05:30
Kovid Goyal
c9d986f9a8
args completion for rc commands 2022-11-14 15:41:57 +05:30
Kovid Goyal
134fce8507
Allow completing paths with ~ prefix 2022-11-14 15:41:57 +05:30
Kovid Goyal
5d89a6c3c4
Work on completion of file args 2022-11-14 15:41:57 +05:30
Kovid Goyal
4575a14873
work on framework for testing completion 2022-11-14 15:41:56 +05:30
Kovid Goyal
b33a684357
... 2022-11-14 15:41:53 +05:30
Kovid Goyal
3b2c4561c2
Dont change the env for go tests
This prevents got test caching from working greatly increasing the time
for running a test
2022-11-14 15:41:53 +05:30
Kovid Goyal
e69b02ad46
... 2022-11-14 15:41:53 +05:30
Kovid Goyal
85b6053380
Run go tests in parallel 2022-11-14 15:41:53 +05:30
Kovid Goyal
417c8887b9
Start on testing infra for command to JSON serialization 2022-11-14 15:41:47 +05:30
Kovid Goyal
82a0e56eb2
Fix go tests not being excluded correctly 2022-11-14 15:41:45 +05:30
Kovid Goyal
fb4c7db25e
Add a test for existence of kitty-tool 2022-11-14 15:41:45 +05:30
Kovid Goyal
14262b158d
Log which go exe is being used to run the tests 2022-11-14 15:41:44 +05:30
Kovid Goyal
1325844539
Add some go testing infrastructure 2022-11-14 15:41:44 +05:30
Kovid Goyal
9d471782dd
Increase some more timeouts 2022-11-03 13:13:14 +05:30
Kovid Goyal
93563f1280
More pointless code churn thanks to importlib.resources
They've deprecated a bunch of API but the suggested replacement is
either not present in versions of python that are not EOLed or doesn't
actually work.
2022-11-03 12:13:47 +05:30
Kovid Goyal
0b3228ab16
... 2022-11-01 12:51:36 +05:30
Kovid Goyal
3f28cf45d4
Dont use the deprecated importlib.resources API 2022-11-01 12:38:24 +05:30
Kovid Goyal
c2ead407ae
... 2022-10-31 18:14:38 +05:30
Kovid Goyal
16b322616a
Fix cursor position at x=0 changing to x=1 on resize
Fixes #5635
2022-10-31 08:03:42 +05:30
Kovid Goyal
e0b4c7edc5
Increase the timeout for shell integration tests
Needed for ARM running non-natively
2022-10-30 11:09:36 +05:30
Kovid Goyal
a8ab4eaf23
Use a larger timeout when running prewarm test 2022-10-30 10:36:10 +05:30
Kovid Goyal
5ea0519f62
Pass through python used for type check to the test code from before the env is sanitized 2022-09-25 14:36:12 +05:30