Commit Graph

752 Commits

Author SHA1 Message Date
Kovid Goyal
18cd97d914
Skip SIGSTSTP test when CLD_STOPPED is not available 2022-06-13 19:05:49 +05:30
Kovid Goyal
5f13946bac
Allow using our signal handlers in python event loops via an fd
pythons signal fd only return signal numbers not the full siginfo struct
2022-06-13 18:52:23 +05:30
Kovid Goyal
da6faa656c
Use a fork() without exec() to create prewarm process
This has the advantages:

1) Even first kitten use is fast
2) Computer has to do less work overall since prewarm process is itself prewarmed
2022-06-12 18:06:51 +05:30
Kovid Goyal
2dd1201c3f
Dont use a kitten for prewarm 2022-06-09 06:53:51 +05:30
Kovid Goyal
6afbdbe94f
Use correct kitty config in prewarmed process 2022-06-07 12:53:39 +05:30
Kovid Goyal
061a0c8cb6
Reset global options object in the tests 2022-06-07 10:58:03 +05:30
Kovid Goyal
bf6c90a69a
Compare realpaths for cwd test 2022-06-06 20:46:49 +05:30
Kovid Goyal
98f46f8bd7
Start work on prewarming
The prewarm process and its controller are implemented with some basic
tests.
2022-06-06 20:39:36 +05:30
Kovid Goyal
fc217dafba
Merge branch 'master' of https://github.com/suvayu/kitty 2022-06-06 16:55:08 +05:30
Kovid Goyal
a6aff817cf
Prepare for prewarm testing 2022-06-06 15:59:34 +05:30
Suvayu Ali
38cb18fe92 diff kitten: tests for directory walking 2022-06-06 11:01:45 +02:00
Kovid Goyal
e12a9f3caf
Iosevka: Fix incorrect rendering when there is a combining char that does not group with its neighbors
Fixes #5153
2022-06-01 12:00:53 +05:30
Kovid Goyal
6405849a1b
Bash integration clone test was accidentally running zsh
Fixes #5144
2022-05-29 08:46:06 +05:30
Kovid Goyal
e9340dfaaf
Some more tests for last non empty command output 2022-05-28 15:22:17 +05:30
Kovid Goyal
0509855930
Allow getting the last non-empty command output easily via an action or remote control
Fixes #4973
2022-05-28 15:19:24 +05:30
Kovid Goyal
27906ea853
Skip login shell detection when login shell is set to nologin 2022-05-28 08:09:30 +05:30
Kovid Goyal
eb84990f5a
Fix #5110 2022-05-19 09:55:12 +05:30
Kovid Goyal
58333f260b
Fix spurious error print in test 2022-05-13 17:42:00 +05:30
Kovid Goyal
2b3be147e6
Allow three combining chars per cell
Makes use of otherwise wasted padding in the CPUCell struct
2022-04-28 09:45:34 +05:30
Kovid Goyal
775584b5a5
Use literal quoting for env vars sent over ssh by clone 2022-04-15 14:34:21 +05:30
Kovid Goyal
e71b9091a3
Dont rely on env -0 for bash either 2022-04-15 13:33:32 +05:30
Kovid Goyal
b866c3e783
Add a zsh test for clone env serialization 2022-04-15 12:04:50 +05:30
Kovid Goyal
a1bfcd9fc5
Also transfer env vars when cloning over ssh kitten 2022-04-13 20:08:06 +05:30
Kovid Goyal
93a7b220c9
Fix parsing of quoted words 2022-04-12 19:31:56 +05:30
Kovid Goyal
8f92c594f2
Create a search query parser 2022-04-12 19:26:25 +05:30
Kovid Goyal
e66c732b41
Forgot to adjust test for new mouse encoding 2022-04-07 17:23:23 +05:30
Kovid Goyal
bae9b095b4
Start work on kitty launcher for remote servers
This will automatically download kitty and run it. The ssh kitten
can add it to PATH thereby making kitty available on the remote machine
at low cost.
2022-04-03 15:10:20 +05:30
pagedown
276ba7754a
Add ssh kitten URL test 2022-03-23 20:08:50 +08:00
Kovid Goyal
0a5c16363c
Fix continued lines not having their continued status reset on line feed
Fixes #4837
2022-03-16 15:20:25 +05:30
Kovid Goyal
0a2768e496
Split up the bootstrap script to keep its size down 2022-03-16 07:17:12 +05:30
pagedown
621453b068
... 2022-03-16 01:33:23 +08:00
pagedown
150bf1a5b0
Reduce bootstrap script length by removing comments and indents
dropbear has 9000 bytes limit on ssh arguments length.
2022-03-16 01:03:51 +08:00
pagedown
7160027c14
Use the fish built-in function name to report current working directory
If the feature is enabled by fish in the future, it will override the
built-in one and there will be no duplicate reporting.
2022-03-16 01:03:26 +08:00
Kovid Goyal
c95dca4023
See if we can make the test more robust 2022-03-15 20:38:02 +05:30
Kovid Goyal
47b3c37bf0
Add cwd reporting to fish integration 2022-03-15 20:25:39 +05:30
Kovid Goyal
190666dc8a
Check that non-ascii paths work in cwd reporting 2022-03-15 20:16:09 +05:30
Kovid Goyal
f982e754e4
Enable CWD reporting in bash integration 2022-03-15 15:37:17 +05:30
Kovid Goyal
4a1ad7755a
Enable CWD reporting in the zsh integration 2022-03-15 14:30:21 +05:30
Kovid Goyal
54c5faa12d
Simplify hostname matching
Now that we load the opts upfront, we can have load_config return the
final opts object itself
2022-03-15 11:25:21 +05:30
Kovid Goyal
441ea7d696
askpass.py should be executable 2022-03-13 14:49:36 +05:30
Kovid Goyal
2b06ca5e1a
ssh kitten: Send data without a roundtrip
Send data to the remote side without waiting for a data request. Avoids
an extra roundtrip during initialization.
2022-03-13 13:55:30 +05:30
Kovid Goyal
e1504c4775
Avoid needing to initialize tty state in bootstrap scripts 2022-03-13 13:55:30 +05:30
Kovid Goyal
b2e74e4830
Switch to using the hostname from the CLI for settings
This removes the need to wait for data from the remote machine
before sending data to it.
2022-03-13 13:55:30 +05:30
Kovid Goyal
f3088c5646
Only try to chmod runtime dir if actually needed 2022-03-13 13:45:03 +05:30
Kovid Goyal
920086ae88
unlink SHM file at end of each individual test 2022-03-10 10:57:36 +05:30
Kovid Goyal
708c5126b9
Return the data cookie settings when generating the bootstrap script 2022-03-09 22:18:04 +05:30
Kovid Goyal
5dde31f80c
DRYer 2022-03-09 11:52:36 +05:30
Kovid Goyal
3bb869f725
Also test launching of bootstrap.py 2022-03-09 11:32:14 +05:30
Kovid Goyal
6df78fa67c
Add tests with different shells used as launchers 2022-03-09 11:29:06 +05:30
Kovid Goyal
53b1607c4d
When testing ssh kitten launch the bootscrapt script the same way sshd does it 2022-03-09 11:25:02 +05:30
Kovid Goyal
c9071a66ca
ssh kitten: Add an option to change the cwd at login 2022-03-07 12:24:37 +05:30
Kovid Goyal
d4d4e00f9d
Merge branch 'ksi' of https://github.com/page-down/kitty 2022-03-07 11:18:15 +05:30
Kovid Goyal
68df13d3fe
Fix recursive definitions in env vars not expanded 2022-03-07 11:07:26 +05:30
pagedown
1b68e41db4
Remove the fish integration prompt end B prompt marking
Currently kitty does not use the B prompt marking.
This is consistent with the zsh and bash implementations.
Improve compatibility with most user configurations.
2022-03-07 12:12:52 +08:00
Kovid Goyal
2404eba11f
ssh kitten: Passthrough to ssh if run outside of kitty
Also, ensure that the ssh data request is only served if it is received
over the tty of the correct kitty window.
2022-03-07 06:48:18 +05:30
Kovid Goyal
75d5e386d3
Make the integration tests more strict
Actually assert that there are/are not prompt marking bytes in the data
received by the pty
2022-03-06 15:35:24 +05:30
Kovid Goyal
7f9fec061a
bootstrap.py is now tested the same as bootsstrap.sh 2022-03-06 14:26:15 +05:30
Kovid Goyal
4552a474b7
Make the no-integration test more comprehensive and stronger 2022-03-06 12:23:11 +05:30
Kovid Goyal
c713dc0ca8
Allow using a --kitten argument with the ssh kitten to make it easier to override settings from ssh.conf 2022-03-06 10:07:46 +05:30
Kovid Goyal
01dd0416ac
Add an option to control the login shell 2022-03-05 11:16:15 +05:30
Kovid Goyal
0c79561977
Fix the ssh_copy test on macOS 2022-03-04 21:31:13 +05:30
pagedown
7c166e2194
Try to make the fish vi cursor test more stable 2022-03-04 23:46:39 +08:00
pagedown
d236b34fd4
Shell integration: Fix running bash non-interactively
In POSIX mode, bash does not perform ENV with non-interactive shell, so
the mode cannot be recovered. Check the arguments and do not change the
execution environment.
2022-03-04 19:47:44 +08:00
Kovid Goyal
e797ba4800
Allow matching on hostname and username 2022-03-04 12:42:31 +05:30
Kovid Goyal
1c558be524
Port HISTFILE fix to ssh bash launcher 2022-03-03 21:24:45 +05:30
Kovid Goyal
7d653cb7bf
Allow copying the same file to multiple locations 2022-03-03 21:24:45 +05:30
Kovid Goyal
b4cc38a1d9
Fix symlink extraction over ssh 2022-03-03 21:24:45 +05:30
Kovid Goyal
8867317b6a
Allow transferring files outside of HOME 2022-03-03 21:24:45 +05:30
Kovid Goyal
e06bd68379
Split up ssh tests 2022-03-03 21:24:45 +05:30
Kovid Goyal
ae6665493a
Implement setting of env vars 2022-03-03 21:24:44 +05:30
Kovid Goyal
53c8485a7a
Get env conf working with tests 2022-03-03 21:24:44 +05:30
Kovid Goyal
02a68e7541
Pass the value of shell_integration in the tarfile
Allows per host overrides and also avoids needing to read kitty.conf in
the ssh kitten
2022-03-03 21:24:44 +05:30
Kovid Goyal
6e5dbc5285
Test for handling of leading data 2022-03-03 21:24:44 +05:30
Kovid Goyal
e1f5ef59c8
Remove integration tests with login_shell=''since that is tested explicitly before 2022-03-03 21:24:44 +05:30
Kovid Goyal
44baeb6924
Run login_shell detection tests with all available shells 2022-03-03 21:24:44 +05:30
Kovid Goyal
c00e8b1709
Add tests for the individual login_shell detection functions 2022-03-03 21:24:44 +05:30
Kovid Goyal
55ede897b9
faster fail 2022-03-03 21:24:43 +05:30
Kovid Goyal
a71e7d7eb1
Simplify data transmission 2022-03-03 21:24:43 +05:30
Kovid Goyal
22c1ee7dc8
Cannot call the parser from callbacks that are themselves called from the parser 2022-03-03 21:24:43 +05:30
Kovid Goyal
d452a5cdce
... 2022-03-03 21:24:43 +05:30
Kovid Goyal
78b553e55e
Add tests for turning off shell integration in the bootstrap script 2022-03-03 21:24:43 +05:30
Kovid Goyal
8ca3a511cc
Get the ssh bootstrap tests fully working 2022-03-03 21:24:43 +05:30
Kovid Goyal
bf26a3f569
Skip bash if its too old when testing bootstrap script 2022-03-03 21:24:43 +05:30
Kovid Goyal
ddb8753548
Work on enabling shell integration over ssh 2022-03-03 21:24:43 +05:30
Kovid Goyal
e73525d0a2
Start work on testing the bootstrap script 2022-03-03 21:24:43 +05:30
Kovid Goyal
4279f20daf
Dont depend on the default bash prompt when testing 2022-03-03 21:24:42 +05:30
Kovid Goyal
2dd7c3b939
More work on ssh bootstrap 2022-03-03 21:24:42 +05:30
Kovid Goyal
d8ed42ae8e
Move setting of ZLE_RPROMPT_INDENT to zshrc which will hopefully prevent it being overriden 2022-03-03 19:16:44 +05:30
Kovid Goyal
297592242c
Fix #4782
Presumably the failure is caused by zsh not having finished drawing the
prompt when the cursor shape is changed. So instead wait till the
expected prompt is drawn. There are probably more places where this
change needs to be made, which I cant tell since I cant reproduce.
2022-03-03 17:22:42 +05:30
Kovid Goyal
e103b280fd
Add test for HISTFILE 2022-02-28 20:09:54 +05:30
pagedown
2d4f7e3446
Disable system startup files in zsh integration test with --noglobalrcs 2022-02-27 20:21:05 +08:00
Kovid Goyal
165c1240a9
Make the test a little more robust 2022-02-27 11:04:12 +05:30
Kovid Goyal
f91463a494
Also add test for handling of control chars in zsh title reporting 2022-02-27 10:47:23 +05:30
Kovid Goyal
d53f8f24c4
Fix #4757
Still have to do the fix for zsh/fish
2022-02-27 10:20:19 +05:30
pagedown
e2f16ff624
Add fish pipestatus integration tests and changelog entries 2022-02-27 00:27:31 +08:00
Kovid Goyal
b212fd5bcd
Dont actually need a thread for PTY 2022-02-24 10:05:13 +05:30
Kovid Goyal
0a297f4656
proper ordering during shutdown 2022-02-24 00:27:09 +05:30
Kovid Goyal
fa397a1d24
PTY: Write to child in separate thread 2022-02-24 00:26:08 +05:30
Kovid Goyal
0610daaec7
Remove echo dance 2022-02-24 00:08:17 +05:30
Kovid Goyal
8278e2b88d
Dont fail test in no PATH in environ 2022-02-23 23:27:24 +05:30