diff --git a/tests/test_shells/bash.ok b/tests/test_shells/bash.ok index 34ec242f..0ee4e9b6 100644 --- a/tests/test_shells/bash.ok +++ b/tests/test_shells/bash.ok @@ -2,11 +2,11 @@   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment"   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV= -  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh [1] PID   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s -[1]+ Terminated bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' +[1]+ Terminated bgscript.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]' diff --git a/tests/test_shells/bgscript.sh b/tests/test_shells/bgscript.sh new file mode 100755 index 00000000..71886e62 --- /dev/null +++ b/tests/test_shells/bgscript.sh @@ -0,0 +1,5 @@ +#!/bin/sh +echo $$ > pid +while true ; do + sleep 0.1s +done diff --git a/tests/test_shells/bb.ok b/tests/test_shells/busybox.ok similarity index 97% rename from tests/test_shells/bb.ok rename to tests/test_shells/busybox.ok index 8a439c05..760d7d03 100644 --- a/tests/test_shells/bb.ok +++ b/tests/test_shells/busybox.ok @@ -2,10 +2,10 @@   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment"   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV= -  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s -[1]+ Terminated bash -c "echo \$\$>pid ; while true ; do sleep 0.1s ; done" +[1]+ Terminated bgscript.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]' diff --git a/tests/test_shells/dash.ok b/tests/test_shells/dash.ok index 2a42cd64..2ad24b25 100644 --- a/tests/test_shells/dash.ok +++ b/tests/test_shells/dash.ok @@ -2,10 +2,10 @@   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment"   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV= -  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s -[1] + Terminated bash -c "echo \$\$>pid ; while true ; do sleep 0.1s ; done" +[1] + Terminated bgscript.sh cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1    HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]' diff --git a/tests/test_shells/input.bash b/tests/test_shells/input.bash index ff7ad797..47042cf9 100644 --- a/tests/test_shells/input.bash +++ b/tests/test_shells/input.bash @@ -8,7 +8,7 @@ cd .git cd .. VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment" VIRTUAL_ENV= -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill `cat pid` ; sleep 1s cd "$DIR1" diff --git a/tests/test_shells/input.bb b/tests/test_shells/input.busybox similarity index 90% rename from tests/test_shells/input.bb rename to tests/test_shells/input.busybox index 2d4fbc42..d5b11b12 100644 --- a/tests/test_shells/input.bb +++ b/tests/test_shells/input.busybox @@ -8,7 +8,7 @@ cd .git cd .. VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment" VIRTUAL_ENV= -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill `cat pid` ; sleep 1s cd "$DIR1" diff --git a/tests/test_shells/input.dash b/tests/test_shells/input.dash index 2d4fbc42..d5b11b12 100644 --- a/tests/test_shells/input.dash +++ b/tests/test_shells/input.dash @@ -8,7 +8,7 @@ cd .git cd .. VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment" VIRTUAL_ENV= -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill `cat pid` ; sleep 1s cd "$DIR1" diff --git a/tests/test_shells/input.fish b/tests/test_shells/input.fish index d256c6fa..eda074e9 100644 --- a/tests/test_shells/input.fish +++ b/tests/test_shells/input.fish @@ -9,7 +9,7 @@ cd .git cd .. setenv VIRTUAL_ENV "$HOME/.virtenvs/some-virtual-environment" setenv VIRTUAL_ENV -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill (cat pid) ; sleep 1s cd "$DIR1" diff --git a/tests/test_shells/input.mksh b/tests/test_shells/input.mksh index a2f0a7dd..0b0b4904 100644 --- a/tests/test_shells/input.mksh +++ b/tests/test_shells/input.mksh @@ -8,7 +8,7 @@ cd .git cd .. VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment" VIRTUAL_ENV= -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill `cat pid` ; sleep 1 cd "$DIR1" diff --git a/tests/test_shells/input.tcsh b/tests/test_shells/input.tcsh index 3b5b1eb0..297cff9c 100644 --- a/tests/test_shells/input.tcsh +++ b/tests/test_shells/input.tcsh @@ -6,7 +6,7 @@ cd .git cd .. setenv VIRTUAL_ENV "/home/foo/.virtenvs/some-virtual-environment" unsetenv VIRTUAL_ENV -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false # Warning: currently tcsh bindings do not support job count kill `cat pid` ; sleep 1s cd $DIR1:q diff --git a/tests/test_shells/input.zsh b/tests/test_shells/input.zsh index 51095f5f..228a9ca9 100644 --- a/tests/test_shells/input.zsh +++ b/tests/test_shells/input.zsh @@ -14,7 +14,7 @@ cd .git cd .. VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment" VIRTUAL_ENV= -bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +bgscript.sh & waitpid.sh false kill `cat pid` ; sleep 1s cd "$DIR1" diff --git a/tests/test_shells/mksh.ok b/tests/test_shells/mksh.ok index 09307716..4770aff1 100644 --- a/tests/test_shells/mksh.ok +++ b/tests/test_shells/mksh.ok @@ -3,7 +3,7 @@   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment"   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV= -  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh [1] PID   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1 diff --git a/tests/test_shells/test.sh b/tests/test_shells/test.sh index 4aff414e..b7302d89 100755 --- a/tests/test_shells/test.sh +++ b/tests/test_shells/test.sh @@ -46,15 +46,7 @@ run_test() { test "x$ONLY_SHELL" = "x" || test "x$ONLY_SHELL" = "x$SH" || return 0 if ! which "${SH}" ; then - if test "x${SH}" = "xbb" ; then - if ! which busybox ; then - return 0 - fi - shift - ARGS=( busybox ash "$@" ) - else - return 0 - fi + return 0 fi export TEST_TYPE @@ -86,6 +78,7 @@ run_test() { sleep 0.1s done ./tests/test_shells/postproc.py ${TEST_TYPE} ${SH} + rm -f tests/shell/3rd/pid if ! check_screen_log ${TEST_TYPE} ${SH} ; then echo '____________________________________________________________' # Repeat the diff to make it better viewable in travis output @@ -108,8 +101,8 @@ run_test() { dash) # ? ;; - bb) - bb --help + busybox) + busybox --help ;; *) ${SH} --version @@ -159,6 +152,8 @@ ln -s "$(which cut)" tests/shell/path ln -s "$(which bc)" tests/shell/path ln -s "$(which expr)" tests/shell/path ln -s "$(which mktemp)" tests/shell/path +ln -s ../../test_shells/bgscript.sh tests/shell/path +ln -s ../../test_shells/waitpid.sh tests/shell/path for pexe in powerline powerline-config ; do if test -e scripts/$pexe ; then ln -s "$PWD/scripts/$pexe" tests/shell/path @@ -204,7 +199,7 @@ if test -z "${ONLY_SHELL}" || test "x${ONLY_SHELL%sh}" != "x${ONLY_SHELL}" || te FAILED=1 fi - if ! run_test $TEST_TYPE bb -i ; then + if ! run_test $TEST_TYPE busybox ash -i ; then FAILED=1 fi diff --git a/tests/test_shells/waitpid.sh b/tests/test_shells/waitpid.sh new file mode 100755 index 00000000..8d98e216 --- /dev/null +++ b/tests/test_shells/waitpid.sh @@ -0,0 +1,4 @@ +#!/bin/sh +while ! test -e pid ; do + sleep 0.1s +done diff --git a/tests/test_shells/zsh.daemon.ok b/tests/test_shells/zsh.daemon.ok index 3582bc70..d57f2182 100644 Binary files a/tests/test_shells/zsh.daemon.ok and b/tests/test_shells/zsh.daemon.ok differ diff --git a/tests/test_shells/zsh.nodaemon.ok b/tests/test_shells/zsh.nodaemon.ok index daa84f40..c4b4f6d2 100644 --- a/tests/test_shells/zsh.nodaemon.ok +++ b/tests/test_shells/zsh.nodaemon.ok @@ -3,11 +3,11 @@   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  .git  cd ..   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV="$HOME/.virtenvs/some-virtual-environment"   HOSTNAME  USER  ⓔ  some-virtual-environment   BRANCH  ⋯  tests  shell  3rd  VIRTUAL_ENV= -  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' & +  HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  bgscript.sh & waitpid.sh [1] PID   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  false   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  1  1  kill `cat pid` ; sleep 1s -[1] + terminated bash -c 'echo $$>pid ; while true ; do sleep 0.1s ; done' +[1] + terminated bgscript.sh   HOSTNAME  USER   BRANCH  ⋯  tests  shell  3rd  cd "$DIR1"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^[[32m  cd ../"$DIR2"   HOSTNAME  USER   BRANCH  ⋯  shell  3rd  ^H  cd ../'\[\]'