Merge branch 'zsh-fix' into develop

This commit is contained in:
Foo 2015-08-22 18:19:14 +03:00
commit 7ef8f4f97e
14 changed files with 251 additions and 211 deletions

33
tests/common.sh Normal file
View File

@ -0,0 +1,33 @@
. tests/bot-ci/scripts/common/main.sh
set +x
: ${PYTHON:=python}
FAILED=0
FAIL_SUMMARY=""
enter_suite() {
local suite_name="$1"
export POWERLINE_CURRENT_SUITE="${POWERLINE_CURRENT_SUITE}/$suite_name"
}
exit_suite() {
if test $FAILED -ne 0 ; then
echo "Suite ${POWERLINE_CURRENT_SUITE} failed, summary:"
echo "${FAIL_SUMMARY}"
fi
export POWERLINE_CURRENT_SUITE="${POWERLINE_CURRENT_SUITE%/*}"
exit $FAILED
}
fail() {
local test_name="$1"
local fail_char="$2"
local message="$3"
local full_msg="$fail_char $POWERLINE_CURRENT_SUITE|$test_name :: $message"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}${full_msg}"
echo "Failed: $full_msg"
echo "$full_msg" >> tests/failures
FAILED=1
}

View File

@ -1,5 +1,8 @@
#!/bin/sh #!/bin/sh
FAILED=0 . tests/common.sh
enter_suite daemon
export ADDRESS="powerline-ipc-test-$$" export ADDRESS="powerline-ipc-test-$$"
echo "Powerline address: $ADDRESS" echo "Powerline address: $ADDRESS"
if $PYTHON scripts/powerline-daemon -s$ADDRESS ; then if $PYTHON scripts/powerline-daemon -s$ADDRESS ; then
@ -8,16 +11,14 @@ if $PYTHON scripts/powerline-daemon -s$ADDRESS ; then
$PYTHON client/powerline.py --socket $ADDRESS -p/dev/null shell left | \ $PYTHON client/powerline.py --socket $ADDRESS -p/dev/null shell left | \
grep 'file not found' grep 'file not found'
) ; then ) ; then
echo "-p/dev/null argument ignored or not treated properly" fail "devnull" F "-p/dev/null argument ignored or not treated properly"
FAILED=1
fi fi
if ( \ if ( \
$PYTHON client/powerline.py --socket $ADDRESS \ $PYTHON client/powerline.py --socket $ADDRESS \
-p$PWD/powerline/config_files shell left | \ -p$PWD/powerline/config_files shell left | \
grep 'file not found' grep 'file not found'
) ; then ) ; then
echo "-p/dev/null argument remembered while it should not" fail "nodevnull" F "-p/dev/null argument remembered while it should not"
FAILED=1
fi fi
if ! ( \ if ! ( \
cd tests && \ cd tests && \
@ -25,17 +26,15 @@ if $PYTHON scripts/powerline-daemon -s$ADDRESS ; then
-p$PWD/../powerline/config_files shell left | \ -p$PWD/../powerline/config_files shell left | \
grep 'tests' grep 'tests'
) ; then ) ; then
echo "Output lacks string “tests”" fail "segment" F "Output lacks string “tests”"
FAILED=1
fi fi
else else
echo "Daemon exited with status $?" fail "exitcode" E "Daemon exited with status $?"
FAILED=1
fi fi
if $PYTHON scripts/powerline-daemon -s$ADDRESS -k ; then if $PYTHON scripts/powerline-daemon -s$ADDRESS -k ; then
: :
else else
echo "powerline-daemon -k failed with exit code $?" fail "-k" F "powerline-daemon -k failed with exit code $?"
FAILED=1
fi fi
exit $FAILED
exit_suite

View File

@ -1,7 +1,10 @@
#!/bin/sh #!/bin/sh
FAILED=0 . tests/common.sh
enter_suite lint
if ! ${PYTHON} scripts/powerline-lint -p powerline/config_files ; then if ! ${PYTHON} scripts/powerline-lint -p powerline/config_files ; then
echo "Failed powerline-lint" fail "test" F "Running powerline-lint failed"
FAILED=1
fi fi
exit $FAILED
exit_suite

View File

@ -1,9 +1,13 @@
#!/bin/sh #!/bin/sh
FAILED=0 . tests/common.sh
enter_suite python
for file in tests/test_*.py ; do for file in tests/test_*.py ; do
test_name="${file##*/test_}"
if ! ${PYTHON} $file --verbose --catch ; then if ! ${PYTHON} $file --verbose --catch ; then
echo "Failed test(s) from $file" fail "${test_name%.py}" F "Failed test(s) from $file"
FAILED=1
fi fi
done done
exit $FAILED
exit_suite

View File

@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
. tests/bot-ci/scripts/common/main.sh . tests/common.sh
FAILED=0
enter_suite vim
if test -z "$VIM" ; then if test -z "$VIM" ; then
if test -n "$USE_UCS2_PYTHON" ; then if test -n "$USE_UCS2_PYTHON" ; then
@ -42,28 +43,29 @@ export POWERLINE_THEME_OVERRIDES='default.segments.left=[]'
test_script() { test_script() {
local vim="$1" local vim="$1"
local script="$2" local script="$2"
local test_name_prefix="$3"
echo "Running script $script with $vim" echo "Running script $script with $vim"
if ! test -e "$vim" ; then if ! test -e "$vim" ; then
return 0 return 0
fi fi
if ! "$vim" -u NONE -S $script || test -f message.fail ; then if ! "$vim" -u NONE -S $script || test -f message.fail ; then
echo "Failed script $script run with $VIM" >&2 local test_name="$test_name_prefix-${script##*/}"
fail "${test_name%.vim}" F "Failed script $script run with $VIM"
cat message.fail >&2 cat message.fail >&2
rm message.fail rm message.fail
FAILED=1
fi fi
} }
for script in tests/test_*.vim ; do for script in tests/test_*.vim ; do
if test "${script%.old.vim}" = "${script}" ; then if test "${script%.old.vim}" = "${script}" ; then
test_script "$NEW_VIM" "$script" test_script "$NEW_VIM" "$script" new
fi fi
done done
if test -e "$OLD_VIM" ; then if test -e "$OLD_VIM" ; then
for script in tests/test_*.old.vim ; do for script in tests/test_*.old.vim ; do
test_script "$OLD_VIM" "$script" test_script "$OLD_VIM" "$script" old
done done
fi fi
exit $FAILED exit_suite

View File

@ -1,8 +1,13 @@
#!/bin/sh #!/bin/sh
set -e . tests/common.sh
FAILED=0
if ! sh tests/test_in_vterm/test.sh ; then enter_suite vterm
echo "Failed vterm"
FAILED=1 for t in tests/test_in_vterm/test_*.sh ; do
fi test_name="${t##*/test_}"
exit $FAILED if ! sh "$t" ; then
fail "${test_name%.sh}" F "Failed running $t"
fi
done
exit_suite

View File

@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
. tests/bot-ci/scripts/common/main.sh . tests/common.sh
enter_suite root
: ${USER:=`id -un`} : ${USER:=`id -un`}
: ${HOME:=`getent passwd $USER | cut -d: -f6`} : ${HOME:=`getent passwd $USER | cut -d: -f6`}
export USER HOME export USER HOME
FAILED=0
if test "$TRAVIS" = true ; then if test "$TRAVIS" = true ; then
export PATH="$HOME/opt/fish/bin:${PATH}" export PATH="$HOME/opt/fish/bin:${PATH}"
export PATH="$PWD/tests/bot-ci/deps/rc:$PATH" export PATH="$PWD/tests/bot-ci/deps/rc:$PATH"
@ -34,9 +34,16 @@ fi
export PYTHON="${PYTHON:=python}" export PYTHON="${PYTHON:=python}"
export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}`realpath .`" export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}`realpath .`"
for script in tests/run_*_tests.sh ; do for script in tests/run_*_tests.sh ; do
test_name="${script##*/run_}"
if ! sh $script ; then if ! sh $script ; then
echo "Failed $script" fail "${test_name%_tests.sh}" F "Failed $script"
FAILED=1
fi fi
done done
exit $FAILED
if test -e tests/failures ; then
echo "Some tests failed. Summary:"
cat tests/failures
rm tests/failures
fi
exit_suite

View File

@ -1,55 +0,0 @@
#!/bin/sh
. tests/bot-ci/scripts/common/main.sh
set +x
FAILED=0
rm -rf tests/vterm
mkdir tests/vterm
mkdir tests/vterm/path
ln -s "$(which "${PYTHON}")" tests/vterm/path/python
ln -s "$(which bash)" tests/vterm/path
ln -s "$(which env)" tests/vterm/path
ln -s "$(which cut)" tests/vterm/path
ln -s "$PWD/scripts/powerline-render" tests/vterm/path
ln -s "$PWD/scripts/powerline-config" tests/vterm/path
cp -r tests/terminfo tests/vterm
FAIL_SUMMARY=""
test_tmux() {
if test "$PYTHON_IMPLEMENTATION" = PyPy; then
# FIXME PyPy3 segfaults for some reason, PyPy does it as well, but
# occasionally.
return 0
fi
if ! which "${POWERLINE_TMUX_EXE}" ; then
return 0
fi
ln -sf "$(which "${POWERLINE_TMUX_EXE}")" tests/vterm/path
f=tests/test_in_vterm/test_tmux.py
if ! "${PYTHON}" $f ; then
echo "Failed vterm test $f"
FAILED=1
FAIL_SUMMARY="$FAIL_SUMMARY${NL}F $POWERLINE_TMUX_EXE $f"
fi
}
if test -z "$POWERLINE_TMUX_EXE" && test -d tests/bot-ci/deps/tmux ; then
for tmux in tests/bot-ci/deps/tmux/tmux-*/tmux ; do
export POWERLINE_TMUX_EXE="$PWD/$tmux"
test_tmux || true
done
else
export POWERLINE_TMUX_EXE="${POWERLINE_TMUX_EXE:-tmux}"
test_tmux || true
fi
if test $FAILED -eq 0 ; then
echo "$FAIL_SUMMARY"
rm -rf tests/vterm
fi
exit $FAILED

View File

@ -18,7 +18,7 @@ from powerline import get_fallback_logger
from tests.lib.terminal import ExpectProcess from tests.lib.terminal import ExpectProcess
VTERM_TEST_DIR = os.path.abspath('tests/vterm') VTERM_TEST_DIR = os.path.abspath('tests/vterm_tmux')
def cell_properties_key_to_shell_escape(cell_properties_key): def cell_properties_key_to_shell_escape(cell_properties_key):

View File

@ -0,0 +1,52 @@
#!/bin/sh
. tests/common.sh
enter_suite tmux
rm -rf tests/vterm_tmux
mkdir tests/vterm_tmux
mkdir tests/vterm_tmux/path
ln -s "$(which "${PYTHON}")" tests/vterm_tmux/path/python
ln -s "$(which bash)" tests/vterm_tmux/path
ln -s "$(which env)" tests/vterm_tmux/path
ln -s "$(which cut)" tests/vterm_tmux/path
ln -s "$PWD/scripts/powerline-render" tests/vterm_tmux/path
ln -s "$PWD/scripts/powerline-config" tests/vterm_tmux/path
cp -r tests/terminfo tests/vterm_tmux
test_tmux() {
if test "$PYTHON_IMPLEMENTATION" = PyPy; then
# FIXME PyPy3 segfaults for some reason, PyPy does it as well, but
# occasionally.
return 0
fi
if ! which "${POWERLINE_TMUX_EXE}" ; then
return 0
fi
ln -sf "$(which "${POWERLINE_TMUX_EXE}")" tests/vterm_tmux/path
f=tests/test_in_vterm/test_tmux.py
if ! "${PYTHON}" $f ; then
local test_name="$("$POWERLINE_TMUX_EXE" -V 2>&1 | cut -d' ' -f2)"
fail "$test_name" F "Failed vterm test $f"
fi
}
if test -z "$POWERLINE_TMUX_EXE" && test -d tests/bot-ci/deps/tmux ; then
for tmux in tests/bot-ci/deps/tmux/tmux-*/tmux ; do
export POWERLINE_TMUX_EXE="$PWD/$tmux"
test_tmux || true
done
else
export POWERLINE_TMUX_EXE="${POWERLINE_TMUX_EXE:-tmux}"
test_tmux || true
fi
if test $FAILED -eq 0 ; then
rm -rf tests/vterm_tmux
else
echo "$FAIL_SUMMARY"
fi
exit_suite

View File

@ -30,6 +30,7 @@ user = os.environ['USER']
REFS_RE = re.compile(r'^\[\d+ refs\]\n') REFS_RE = re.compile(r'^\[\d+ refs\]\n')
IPYPY_DEANSI_RE = re.compile(r'\033(?:\[(?:\?\d+[lh]|[^a-zA-Z]+[a-ln-zA-Z])|[=>])') IPYPY_DEANSI_RE = re.compile(r'\033(?:\[(?:\?\d+[lh]|[^a-zA-Z]+[a-ln-zA-Z])|[=>])')
ZSH_HL_RE = re.compile(r'\033\[\?\d+[hl]')
start_str = 'cd tests/shell/3rd' start_str = 'cd tests/shell/3rd'
if shell == 'pdb': if shell == 'pdb':
@ -55,7 +56,10 @@ with codecs.open(fname, 'r', encoding='utf-8') as R:
line = line.replace(user, 'USER') line = line.replace(user, 'USER')
if pid is not None: if pid is not None:
line = line.replace(pid, 'PID') line = line.replace(pid, 'PID')
if shell == 'fish': if shell == 'zsh':
line = line.replace('\033[0m\033[23m\033[24m\033[J', '')
line = ZSH_HL_RE.subn('', line)[0]
elif shell == 'fish':
res = '' res = ''
try: try:
while line.index('\033[0;'): while line.index('\033[0;'):

View File

@ -1,10 +1,8 @@
#!/bin/sh #!/bin/sh
. tests/bot-ci/scripts/common/main.sh . tests/common.sh
set +x
enter_suite shells
: ${PYTHON:=python}
FAIL_SUMMARY=""
FAILED=0
if test "x$1" = "x--fast" ; then if test "x$1" = "x--fast" ; then
FAST=1 FAST=1
shift shift
@ -285,9 +283,7 @@ check_test_client() {
esac esac
expected_mime_type="${expected_mime_type%/*}" expected_mime_type="${expected_mime_type%/*}"
if test "$expected_mime_type" != "$actual_mime_type" ; then if test "$expected_mime_type" != "$actual_mime_type" ; then
echo "Expected $executable to have MIME type $expected_mime_type, but got $actual_mime_type" fail "MIME-$executable" "M" "Expected $executable to have MIME type $expected_mime_type, but got $actual_mime_type"
FAILED=1
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}M ${executable}"
fi fi
} }
@ -382,8 +378,7 @@ if test -z "${ONLY_SHELL}" || test "x${ONLY_SHELL%sh}" != "x${ONLY_SHELL}" || te
fi fi
echo ">>> $(readlink "tests/shell/path/$SH")" echo ">>> $(readlink "tests/shell/path/$SH")"
if ! run_test $TEST_TYPE $TEST_CLIENT $TEST_COMMAND ; then if ! run_test $TEST_TYPE $TEST_CLIENT $TEST_COMMAND ; then
FAILED=1 fail "$SH-$TEST_TYPE-$TEST_CLIENT:test" F "Failed checking $TEST_COMMAND"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}T ${TEST_TYPE} ${TEST_CLIENT} ${TEST_COMMAND}"
fi fi
done done
done done
@ -395,8 +390,7 @@ if test -z "${ONLY_SHELL}" || test "x${ONLY_SHELL%sh}" != "x${ONLY_SHELL}" || te
echo "Daemon log:" echo "Daemon log:"
echo '============================================================' echo '============================================================'
cat tests/shell/daemon_log cat tests/shell/daemon_log
FAILED=1 fail "$SH-$TEST_TYPE-$TEST_CLIENT:log" E "Non-empty daemon log for ${TEST_COMMAND}"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}L ${TEST_TYPE} ${TEST_CLIENT} ${TEST_COMMAND}"
fi fi
fi fi
done done
@ -406,9 +400,7 @@ if $PYTHON scripts/powerline-daemon -s$ADDRESS > tests/shell/daemon_log_2 2>&1 ;
sleep 1 sleep 1
$PYTHON scripts/powerline-daemon -s$ADDRESS -k $PYTHON scripts/powerline-daemon -s$ADDRESS -k
else else
echo "Daemon exited with status $?" fail "daemon:run" F "Daemon exited with status $?"
FAILED=1
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}D"
fi fi
if ! test -z "$(cat tests/shell/daemon_log_2)" ; then if ! test -z "$(cat tests/shell/daemon_log_2)" ; then
@ -416,8 +408,7 @@ if ! test -z "$(cat tests/shell/daemon_log_2)" ; then
echo "Daemon log (2nd):" echo "Daemon log (2nd):"
echo '============================================================' echo '============================================================'
cat tests/shell/daemon_log_2 cat tests/shell/daemon_log_2
FAILED=1 fail "daemon:log" E "Daemon run with non-empty log"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}L"
fi fi
if ( test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xzsh" ) \ if ( test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xzsh" ) \
@ -425,8 +416,7 @@ if ( test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xzsh" ) \
&& zsh tests/test_shells/zsh_test_script.zsh 2>/dev/null; then && zsh tests/test_shells/zsh_test_script.zsh 2>/dev/null; then
echo "> zpython" echo "> zpython"
if ! run_test zpython zpython zsh -f -i ; then if ! run_test zpython zpython zsh -f -i ; then
FAILED=1 fail "zsh-zpython:test" F "Failed checking zsh -f -i"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}T zpython zsh -f -i"
fi fi
fi fi
@ -435,8 +425,7 @@ if test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xpdb" ; then
if test "x${ONLY_TEST_TYPE}" = "x" || test "x${ONLY_TEST_TYPE}" = "xsubclass" ; then if test "x${ONLY_TEST_TYPE}" = "x" || test "x${ONLY_TEST_TYPE}" = "xsubclass" ; then
echo "> pdb subclass" echo "> pdb subclass"
if ! run_test subclass python $PDB_PYTHON "$PWD/tests/test_shells/pdb-main.py" ; then if ! run_test subclass python $PDB_PYTHON "$PWD/tests/test_shells/pdb-main.py" ; then
FAILED=1 fail "pdb-subclass:test" F "Failed checking $PDB_PYTHON $PWD/tests/test_shells/pdb-main.py"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}T pdb $PDB_PYTHON $PWD/tests/test_shells/pdb-main.py"
fi fi
fi fi
if test "x${ONLY_TEST_TYPE}" = "x" || test "x${ONLY_TEST_TYPE}" = "xmodule" ; then if test "x${ONLY_TEST_TYPE}" = "x" || test "x${ONLY_TEST_TYPE}" = "xmodule" ; then
@ -446,8 +435,7 @@ if test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xpdb" ; then
MODULE="powerline.bindings.pdb.__main__" MODULE="powerline.bindings.pdb.__main__"
fi fi
if ! run_test module python $PDB_PYTHON -m$MODULE "$PWD/tests/test_shells/pdb-script.py" ; then if ! run_test module python $PDB_PYTHON -m$MODULE "$PWD/tests/test_shells/pdb-script.py" ; then
FAILED=1 fail "pdb-module:test" F "Failed checking $PDB_PYTHON -m$MODULE $PWD/tests/test_shells/pdb-script"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}T pdb $PDB_PYTHON -m$MODULE $PWD/tests/test_shells/pdb-script"
fi fi
fi fi
fi fi
@ -460,8 +448,7 @@ if test "x${ONLY_SHELL}" = "x" || test "x${ONLY_SHELL}" = "xipython" ; then
export POWERLINE_THEME_OVERRIDES='in.segments.left=[]' export POWERLINE_THEME_OVERRIDES='in.segments.left=[]'
echo "> ipython" echo "> ipython"
if ! run_test ipython ipython ${IPYTHON_PYTHON} -mIPython ; then if ! run_test ipython ipython ${IPYTHON_PYTHON} -mIPython ; then
FAILED=1 fail "ipython:test" F "Failed checking ${IPYTHON_PYTHON} -mIPython"
FAIL_SUMMARY="${FAIL_SUMMARY}${NL}T ipython"
fi fi
unset POWERLINE_THEME_OVERRIDES unset POWERLINE_THEME_OVERRIDES
unset POWERLINE_CONFIG_OVERRIDES unset POWERLINE_CONFIG_OVERRIDES
@ -470,7 +457,6 @@ fi
if test $FAILED -eq 0 ; then if test $FAILED -eq 0 ; then
rm -r tests/shell rm -r tests/shell
else
echo "${FAIL_SUMMARY}"
fi fi
exit $FAILED
exit_suite

View File

@ -1,52 +1,52 @@
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd .git   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd .git
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="/home/USER/.virtenvs/some-virtual-environment"   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="/home/USER/.virtenvs/some-virtual-environment"
  HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV=   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV=
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh
[1] PID [1] PID
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s
[1] + terminated bgscript.sh [1] + terminated bgscript.sh
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  \[\]  cd ../'%%'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  \[\]  cd ../'%%'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  %%  cd ../'#[bold]'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  %%  cd ../'#[bold]'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  #[bold]  cd ../'(echo)'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  #[bold]  cd ../'(echo)'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  (echo)  cd ../'$(echo)'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  (echo)  cd ../'$(echo)'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  $(echo)  cd ../'`echo`'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  $(echo)  cd ../'`echo`'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  `echo`  cd ../'«Unicode!»'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  `echo`  cd ../'«Unicode!»'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  «Unicode!»  cd ..   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  «Unicode!»  cd ..
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bindkey -v ; set_theme default   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bindkey -v ; set_theme default
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd   COMMND   HOSTNAME  USER  ⋯  tests  shell  3rd    INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd   COMMND   HOSTNAME  USER  ⋯  tests  shell  3rd  
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd    INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  echo abc  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  echo abc
abc abc
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  false  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  false
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.hostname.display false  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.hostname.display false
 INSERT  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.user.display false  INSERT  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.user.display false
 INSERT  ⋯  tests  shell  3rd  select abc in def ghi jkl  INSERT  ⋯  tests  shell  3rd  select abc in def ghi jkl
 select                            do  select                            do
 select                             echo $abc  select                             echo $abc
 select                             break  select                             break
 select                            done  select                            done
1) def 2) ghi 3) jkl 1) def 2) ghi 3) jkl
                   Select variant  1                    Select variant  1
def def
 INSERT  ⋯  tests  shell  3rd  cd .  INSERT  ⋯  tests  shell  3rd  cd .
 INSERT  ⋯  tests  shell  3rd  cd .  INSERT  ⋯  tests  shell  3rd  cd .
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_LEFT"  INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_LEFT"
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
 foo  
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_FULL"
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo  INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
                                                                                                                                                                                                                                                                                                      foo   foo  
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR  INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
                                                                                                                                                                                                                                                                                                             INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_FULL"
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
                                                                                                                                                                                                                                                                                                      foo 
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above  INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above
 INSERT  ⋯  tests  shell  3rd  hash -d foo=$PWD:h ; cd .  INSERT  ⋯  tests  shell  3rd  hash -d foo=$PWD:h ; cd .
 INSERT  ~foo  3rd  set_theme_option default.dividers.left.hard \$ABC  INSERT  ~foo  3rd  set_theme_option default.dividers.left.hard \$ABC
 INSERT $ABC~foo  3rd $ABCtrue  INSERT $ABC~foo  3rd $ABCtrue

View File

@ -1,52 +1,52 @@
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd .git   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd .git
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="/home/USER/.virtenvs/some-virtual-environment"   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="/home/USER/.virtenvs/some-virtual-environment"
  HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV=   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV=
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh
[1] PID [1] PID
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s
[1] + terminated bgscript.sh [1] + terminated bgscript.sh
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  \[\]  cd ../'%%'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  \[\]  cd ../'%%'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  %%  cd ../'#[bold]'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  %%  cd ../'#[bold]'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  #[bold]  cd ../'(echo)'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  #[bold]  cd ../'(echo)'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  (echo)  cd ../'$(echo)'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  (echo)  cd ../'$(echo)'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  $(echo)  cd ../'`echo`'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  $(echo)  cd ../'`echo`'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  `echo`  cd ../'«Unicode!»'   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  `echo`  cd ../'«Unicode!»'
  HOSTNAME  USER   BRANCH  ⋯  shell  3rd  «Unicode!»  cd ..   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  «Unicode!»  cd ..
  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bindkey -v ; set_theme default   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bindkey -v ; set_theme default
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd   COMMND   HOSTNAME  USER  ⋯  tests  shell  3rd    INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd   COMMND   HOSTNAME  USER  ⋯  tests  shell  3rd  
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd    INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  echo abc  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  echo abc
abc abc
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  false  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  false
 INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.hostname.display false  INSERT   HOSTNAME  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.hostname.display false
 INSERT  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.user.display false  INSERT  USER  ⋯  tests  shell  3rd  set_theme_option default.segment_data.user.display false
 INSERT  ⋯  tests  shell  3rd  select abc in def ghi jkl  INSERT  ⋯  tests  shell  3rd  select abc in def ghi jkl
 select  do  select  do
 select   echo $abc  select   echo $abc
 select   break  select   break
 select  done  select  done
1) def 2) ghi 3) jkl 1) def 2) ghi 3) jkl
 Select variant  1  Select variant  1
def def
 INSERT  ⋯  tests  shell  3rd  cd .  INSERT  ⋯  tests  shell  3rd  cd .
 INSERT  ⋯  tests  shell  3rd  cd .  INSERT  ⋯  tests  shell  3rd  cd .
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_LEFT"  INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_LEFT"
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
 foo  
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_FULL"
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo  INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
                                                                                                                                                                                                                                                                                                      foo   foo  
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR  INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
                                                                                                                                                                                                                                                                                                             INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above "$ABOVE_FULL"
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  export DISPLAYED_ENV_VAR=foo
                                                                                                                                                                                                                                                                                                      foo 
 INSERT  ⋯  tests  shell  3rd  unset DISPLAYED_ENV_VAR
                                                                                                                                                                                                                                                                                                           
 INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above  INSERT  ⋯  tests  shell  3rd  set_theme_option default.segments.above
 INSERT  ⋯  tests  shell  3rd  hash -d foo=$PWD:h ; cd .  INSERT  ⋯  tests  shell  3rd  hash -d foo=$PWD:h ; cd .
 INSERT  ~foo  3rd  set_theme_option default.dividers.left.hard \$ABC  INSERT  ~foo  3rd  set_theme_option default.dividers.left.hard \$ABC
 INSERT $ABC~foo  3rd $ABCtrue  INSERT $ABC~foo  3rd $ABCtrue