aboutsummaryrefslogtreecommitdiff
path: root/test/functional/provider/perl_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2022-05-03 15:08:35 +0200
committerGitHub <noreply@github.com>2022-05-03 06:08:35 -0700
commit4fb48c5654d9ffbffbdcdd80d0498b1ea3c8e68b (patch)
tree8a1222f6ed9a170ca2d151afcd911dfd01affdaf /test/functional/provider/perl_spec.lua
parentb5c15ba7e5266bdd742a835d82525d4625980d4d (diff)
downloadrneovim-4fb48c5654d9ffbffbdcdd80d0498b1ea3c8e68b.tar.gz
rneovim-4fb48c5654d9ffbffbdcdd80d0498b1ea3c8e68b.tar.bz2
rneovim-4fb48c5654d9ffbffbdcdd80d0498b1ea3c8e68b.zip
feat(server): set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009
PROBLEM ------------------------------------------------------------------------ $NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the current process should listen on this address") and a descriptor ("the current process is a child of this address"). This contradiction means the presence of NVIM_LISTEN_ADDRESS is ambiguous, so child Nvim always tries to listen on its _parent's_ socket. This is the cause of lots of "Failed to start server" spam in our test/CI logs: WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0 WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0 SOLUTION ------------------------------------------------------------------------ 1. Set $NVIM to the parent v:servername, *only* in child processes. - Now the correct way to detect a "parent" Nvim is to check for $NVIM. 2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes. 3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after server init. 4. Open a channel to parent automatically, expose it as v:parent. Fixes #3118 Fixes #6764 Fixes #9336 Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696 Ref #8696
Diffstat (limited to 'test/functional/provider/perl_spec.lua')
-rw-r--r--test/functional/provider/perl_spec.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/functional/provider/perl_spec.lua b/test/functional/provider/perl_spec.lua
index 125674660b..aff5e36e24 100644
--- a/test/functional/provider/perl_spec.lua
+++ b/test/functional/provider/perl_spec.lua
@@ -83,7 +83,7 @@ describe('perl provider', function()
use Neovim::Ext;
use Neovim::Ext::MsgPack::RPC;
- my $session = Neovim::Ext::MsgPack::RPC::socket_session($ENV{NVIM_LISTEN_ADDRESS});
+ my $session = Neovim::Ext::MsgPack::RPC::socket_session($ENV{NVIM});
my $nvim = Neovim::Ext::from_session($session);
$nvim->command('let g:job_out = "hello"');
1;
@@ -116,7 +116,7 @@ describe('perl provider', function()
use Neovim::Ext;
use Neovim::Ext::MsgPack::RPC;
- my $session = Neovim::Ext::MsgPack::RPC::socket_session($ENV{NVIM_LISTEN_ADDRESS});
+ my $session = Neovim::Ext::MsgPack::RPC::socket_session($ENV{NVIM});
my $nvim = Neovim::Ext::from_session($session);
my $plugin = TestPlugin->new($nvim);
$plugin->test_command();