Add and use test helpers to create/kill test-specific tmux sessions

This commit is contained in:
2014-06-04 00:07:23 +01:00
parent 87d767d1c5
commit d47838ca1f
3 changed files with 42 additions and 25 deletions

View File

@@ -6,35 +6,25 @@ source "${root}/lib/layout-helpers.sh"
# __get_first_window_index() tests.
#
# Setup.
libexec="${root}/libexec"
export TMUXIFIER_TMUX_OPTS="-L tmuxifier-tests"
session="test"
# When first window has a index of 0.
tmux $TMUXIFIER_TMUX_OPTS new-session -d -s $session
create-test-session
assert "__get_first_window_index" "0"
tmux $TMUXIFIER_TMUX_OPTS kill-server
kill-test-session
# When first window has a index of 1.
tmux $TMUXIFIER_TMUX_OPTS new-session -d -s $session
tmux $TMUXIFIER_TMUX_OPTS new-window -t "$session:1"
tmux $TMUXIFIER_TMUX_OPTS kill-window -t "$session:0"
create-test-session
test-socket-tmux new-window -t "$session:1"
test-socket-tmux kill-window -t "$session:0"
assert "__get_first_window_index" "1"
tmux $TMUXIFIER_TMUX_OPTS kill-server
kill-test-session
# When first window has a index of 2.
tmux $TMUXIFIER_TMUX_OPTS new-session -d -s $session
tmux $TMUXIFIER_TMUX_OPTS new-window -t "$session:2"
tmux $TMUXIFIER_TMUX_OPTS kill-window -t "$session:0"
create-test-session
test-socket-tmux new-window -t "$session:2"
test-socket-tmux kill-window -t "$session:0"
assert "__get_first_window_index" "2"
tmux $TMUXIFIER_TMUX_OPTS kill-server
kill-test-session
# Tear down.
unset TMUXIFIER_TMUX_OPTS
unset session
# End of tests.
assert_end "__get_first_window_index()"

View File

@@ -8,17 +8,15 @@ source "${root}/lib/util.sh"
# Setup.
libexec="${root}/libexec"
export TMUXIFIER_TMUX_OPTS="-L tmuxifier-tests"
tmux $TMUXIFIER_TMUX_OPTS new-session -d -s foobar
tmux $TMUXIFIER_TMUX_OPTS new-session -d -s dude
test-socket-tmux new-session -d -s foobar
test-socket-tmux new-session -d -s dude
# Passes all arguments to Tmux.
assert "${libexec}/tmuxifier-tmux list-sessions -F \"- #{session_name}\"" \
"- dude\n- foobar"
# Tear down.
tmux $TMUXIFIER_TMUX_OPTS kill-server
unset TMUXIFIER_TMUX_OPTS
kill-test-server
# End of tests.
assert_end "tmuxifier-tmux"

View File

@@ -18,6 +18,9 @@ abs_dirname() {
cd "$cwd"
}
# Find and store path to Tmux binary.
TMUX_BIN="$(command -v tmux)"
# Set testroot variable.
testroot="$(abs_dirname "$BASH_SOURCE")"
@@ -43,3 +46,29 @@ unset TMUXIFIER_NO_COMPLETE
# Include assert.sh and stub.sh libraries.
source "${testroot}/assert.sh"
source "${testroot}/stub.sh"
test-socket-tmux() {
export TMUXIFIER_TMUX_OPTS="-L tmuxifier-tests"
"$TMUX_BIN" $TMUXIFIER_TMUX_OPTS $@
}
create-test-session() {
session="$1"
if [ -z "$session" ]; then session="test"; fi
test-socket-tmux new-session -d -s "$session"
}
kill-test-session() {
local target="$1"
if [ -z "$target" ]; then target="$session"; fi
test-socket-tmux kill-session -t "$target"
}
kill-test-server() {
test-socket-tmux kill-server
unset TMUXIFIER_TMUX_OPTS
unset session
}