mirror of
https://github.com/jimeh/tmuxifier.git
synced 2026-02-19 01:46:40 +00:00
Add and use test helpers to create/kill test-specific tmux sessions
This commit is contained in:
@@ -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()"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user