From 3bffba945a4b6150ce9ed4f87a1d4f7321ea6355 Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Fri, 4 Mar 2016 20:59:17 -0800 Subject: [PATCH] show timing for each bats file and overall test run --- tests/ci/parallel_runner.sh | 29 +++++++++++++++++++++++++++++ tests/ci/unit_test_runner.sh | 17 ++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/tests/ci/parallel_runner.sh b/tests/ci/parallel_runner.sh index c78b07f25..823ac13e5 100755 --- a/tests/ci/parallel_runner.sh +++ b/tests/ci/parallel_runner.sh @@ -46,26 +46,55 @@ if [[ -n "$CIRCLE_NODE_INDEX" ]] && [[ "$MODE" == "setup" ]]; then # esac fi +start=$(date +%s) case "$CIRCLE_NODE_INDEX" in 0) echo "=====> make unit-tests (1/4) on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" sudo -E UNIT_TEST_BATCH=1 make -e unit-tests + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi ;; 1) echo "=====> make unit-tests (2/4) on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" sudo -E UNIT_TEST_BATCH=2 make -e unit-tests + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi ;; 2) echo "=====> make unit-tests (3/4) on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" sudo -E UNIT_TEST_BATCH=3 make -e unit-tests + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi echo "=====> make deploy tests" sudo -E make -e deploy-test-checks-root deploy-test-config deploy-test-multi + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi ;; 3) echo "=====> make unit-tests (4/4) on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" sudo -E UNIT_TEST_BATCH=4 make -e unit-tests + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi ;; esac +end=$(date +%s) +runtime=$((end-start)) +echo "suite runtime: $(date -u -d @${runtime} +"%T")" diff --git a/tests/ci/unit_test_runner.sh b/tests/ci/unit_test_runner.sh index d3f632bd9..189bf497f 100755 --- a/tests/ci/unit_test_runner.sh +++ b/tests/ci/unit_test_runner.sh @@ -19,5 +19,20 @@ is_number "$BATCH_NUM" || usage TESTS=$(find "$(dirname "$0")/../unit" -maxdepth 1 -name "${BATCH_NUM}0*.bats" | sort -n | xargs) echo "running the following tests $TESTS" + # shellcheck disable=SC2086 -bats $TESTS +for test in $TESTS; do + echo $test + starttest=$(date +%s) + + bats $test + RC=$? + if [[ $RC -ne 0 ]]; then + echo "exit status: $RC" + exit $RC + fi + + endtest=$(date +%s) + testruntime=$((endtest-starttest)) + echo "individual runtime: $(date -u -d @${testruntime} +"%T")" +done