fix: fail test exec if at least one test fail

This commit is contained in:
Maciej Sypien 2024-09-21 12:19:59 +02:00
parent e5b23dad6b
commit 284ffbf68f
No known key found for this signature in database
GPG key ID: 10BC01EDA6827DC8
4 changed files with 24 additions and 3 deletions

View file

@ -1,5 +1,5 @@
name: dev-push-check
run-name: ${{ github.actor }} pushed new code to {{ github.ref }} 💻
run-name: ${{ github.actor }} pushed new code 💻
on: [push] #, pull_request]
jobs:
lint_shellcheck:

View file

@ -29,7 +29,7 @@ EOF
echo "Current DIR: $CURRENT_DIR"
# link current repo to plugin list
ln -sf ~/.tmux/plugins/tmux-gruvbox/ "$CURRENT_DIR/../"
ln -sf ~/.tmux/plugins/tmux-gruvbox/ "$CURRENT_DIR/../../"
helper_install_tpm_plugins
@ -39,7 +39,7 @@ EOF
# get status of something from theme
_status_left_current=$(tmux show-option -gqv status-left)
if [[ "$STATUS_LEFT_DEFAULT" != "$_status_left_current" ]]; then
helper_print_fail "status-left did not match"
helper_print_fail_and_exit "status-left did not match" # fail fast
else
helper_print_success "status-left match"
fi

View file

@ -4,10 +4,24 @@ CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
main() {
set -e # exit on error
declare -i _countFailures
local _files
_countFailures=0
_files=$(find "$CURRENT_DIR" -name "test_linux_*" -type f)
for test in $_files; do
bash -c "$test"
# run all and count failures
retVal=$?
if [ $retVal -eq 1 ]; then
_countFailures+=1
fi
done
# check if anything failed and fail
if [ "$_countFailures" -gt 0 ]; then
exit 1
fi
}
main "$@"

View file

@ -1,6 +1,7 @@
#!/bin/bash
helper_teardown() {
echo "TEARDOWN"
rm -rf ~/.tmux.conf
rm -rf ~/.tmux/
tmux kill-server >/dev/null 2>&1
@ -11,6 +12,7 @@ helper_tearup_linux() {
echo "NOT LINUX. Failed & exit."
exit 1
fi
echo "TEARUP LINUX"
# install software
sudo apt update -y
@ -45,3 +47,8 @@ helper_print_success_and_exit() {
helper_install_tpm_plugins() {
bash -c "${HOME}/.tmux/plugins/tpm/scripts/install_plugins.sh install_plugins"
}
helper_get_project_root_dir() {
_current_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "${_current_dir}/../"
}