Function for running all tests

This commit is contained in:
Bruno Sutic 2015-08-01 18:06:19 +02:00
parent eb24578b08
commit 9a34ff66bc
No known key found for this signature in database
GPG Key ID: 66D96E4F2F7EF26C
7 changed files with 57 additions and 39 deletions

View File

@ -4,6 +4,7 @@
- refactor `shared_set_tpm_path_constant` function
- move all instructions to `docs/` dir
- add `bin/install_plugins` cli executable script
- improved test runner function
### v2.0.0, 2015-07-07
- enable overriding default key bindings

View File

@ -63,3 +63,11 @@ exit_value_helper() {
exit 0
fi
}
run_tests() {
# get all the functions starting with 'test_' and invoke them
for test in $(compgen -A function | grep "^test_"); do
"$test"
done
exit_value_helper
}

View File

@ -27,8 +27,4 @@ test_plugin_installation() {
teardown_helper
}
main() {
test_plugin_installation
exit_value_helper
}
main
run_tests

View File

@ -4,6 +4,8 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PLUGINS_DIR="$HOME/.tmux/plugins"
TPM_DIR="$PWD"
CUSTOM_PLUGINS_DIR="$HOME/foo/plugins"
source "$CURRENT_DIR/helpers.sh"
# TMUX KEY-BINDING TESTS
@ -14,17 +16,33 @@ test_plugin_installation_via_tmux_key_binding() {
run-shell "$TPM_DIR/tpm"
HERE
# opens tmux and test it with `expect`
"$CURRENT_DIR"/expect_successful_plugin_download ||
"$CURRENT_DIR/expect_successful_plugin_download" ||
fail_helper "[key-binding] plugin installation fails"
# check plugin dir exists after download
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[key-binding] plugin download fails"
teardown_helper
}
test_plugin_installation_custom_dir_via_tmux_key_binding() {
set_tmux_conf_helper <<- HERE
set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
set -g @plugin "tmux-plugins/tmux-example-plugin"
run-shell "$TPM_DIR/tpm"
HERE
"$CURRENT_DIR/expect_successful_plugin_download" ||
fail_helper "[key-binding][custom dir] plugin installation fails"
check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[key-binding][custom dir] plugin download fails"
teardown_helper
rm -rf "$CUSTOM_PLUGINS_DIR"
}
test_multiple_plugins_installation_via_tmux_key_binding() {
set_tmux_conf_helper <<- HERE
set -g @plugin "tmux-plugins/tmux-example-plugin"
@ -33,7 +51,7 @@ test_multiple_plugins_installation_via_tmux_key_binding() {
HERE
# opens tmux and test it with `expect`
"$CURRENT_DIR"/expect_successful_multiple_plugins_download ||
"$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
fail_helper "[key-binding] multiple plugins installation fails"
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
@ -65,6 +83,27 @@ test_plugin_installation_via_script() {
teardown_helper
}
test_plugin_installation_custom_dir_via_script() {
set_tmux_conf_helper <<- HERE
set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
set -g @plugin "tmux-plugins/tmux-example-plugin"
run-shell "$TPM_DIR/tpm"
HERE
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
fail_helper "[script][custom dir] plugin installation fails"
check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[script][custom dir] plugin download fails"
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
fail_helper "[script][custom dir] plugin already installed message fail"
teardown_helper
rm -rf "$CUSTOM_PLUGINS_DIR"
}
test_multiple_plugins_installation_via_script() {
set_tmux_conf_helper <<- HERE
set -g @plugin "tmux-plugins/tmux-example-plugin"
@ -87,13 +126,4 @@ test_multiple_plugins_installation_via_script() {
teardown_helper
}
main() {
test_plugin_installation_via_tmux_key_binding
test_multiple_plugins_installation_via_tmux_key_binding
test_plugin_installation_via_script
test_multiple_plugins_installation_via_script
exit_value_helper
}
main
run_tests

View File

@ -92,13 +92,4 @@ test_legacy_and_new_syntax_for_plugin_installation_work_via_script() {
teardown_helper
}
main() {
test_plugin_installation_via_tmux_key_binding
test_legacy_and_new_syntax_for_plugin_installation_work_via_tmux_key_binding
test_plugin_installation_via_script
test_legacy_and_new_syntax_for_plugin_installation_work_via_script
exit_value_helper
}
main
run_tests

View File

@ -28,8 +28,4 @@ test_plugin_sourcing() {
teardown_helper
}
main() {
test_plugin_sourcing
exit_value_helper
}
main
run_tests

View File

@ -30,8 +30,4 @@ test_plugin_installation() {
teardown_helper
}
main() {
test_plugin_installation
exit_value_helper
}
main
run_tests