mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 01:35:13 +08:00
8f7ea1f5b6
In some setups (eg. macports) $tmpdir can expand to more than 100 symbols and tests fail with 'socket file name too long' errors. Using relative path to socket file fixes the issue.
48 lines
1.2 KiB
Fish
48 lines
1.2 KiB
Fish
#RUN: %fish -C 'set -g fish %fish' %s
|
|
#REQUIRES: command -v tmux
|
|
|
|
set fish (builtin realpath $fish)
|
|
|
|
# Isolated tmux.
|
|
# Note $XDG_CONFIG_HOME typically has a leading double-dot,
|
|
# so our uvars file will leak across runs; therefore
|
|
# descend more deeply into the tmpdir.
|
|
set -g tmpdir (mktemp -d)/inner1/inner2/
|
|
mkdir -p $tmpdir
|
|
|
|
# Don't CD elsewhere, because tmux socket file is relative to CWD. Using
|
|
# absolute path to socket file is prone to 'socket file name too long' error.
|
|
cd $tmpdir
|
|
|
|
set -g tmux tmux -S .tmux-socket -f /dev/null
|
|
|
|
set -g sleep sleep .1
|
|
set -q CI && set sleep sleep 1
|
|
|
|
while set -e prompt_var
|
|
end
|
|
|
|
$tmux new-session -x 80 -y 10 -d $fish -C '
|
|
# This is similar to "tests/interactive.config".
|
|
function fish_greeting; end
|
|
function fish_prompt; printf "prompt $status_generation> <$prompt_var> "; end
|
|
# No autosuggestion from older history.
|
|
set fish_history ""
|
|
function on_prompt_var --on-variable prompt_var
|
|
commandline -f repaint
|
|
end
|
|
'
|
|
|
|
$sleep # Let fish draw a prompt.
|
|
|
|
$tmux capture-pane -p
|
|
# CHECK: prompt 0> <>
|
|
|
|
set -U prompt_var changed
|
|
$sleep
|
|
$tmux capture-pane -p
|
|
# CHECK: prompt 0> <changed>
|
|
|
|
$tmux kill-server
|
|
rm -r $tmpdir
|