From eb626d0f90833d51ade9efc9d3703834f7b4cafe Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Wed, 23 Mar 2022 10:56:37 +0100 Subject: [PATCH] Improving test report and return values --- test/savetest.sh | 13 +++++++++++-- test/test_rdlink.sh | 11 ++++++----- test/totest.sh | 5 +++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/test/savetest.sh b/test/savetest.sh index 3bb35b5..443629a 100755 --- a/test/savetest.sh +++ b/test/savetest.sh @@ -2,14 +2,23 @@ savetest() { local target_file= + local environment= + local failed_tests=0 + readonly savetest_dir="$(cd "$(dirname -- "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" target_dir="${savetest_dir}/results" mkdir -p "${target_dir}" - target_file="${target_dir}/$("${savetest_dir}/getenv.sh")_result.log" + environment="$("${savetest_dir}/getenv.sh")" + target_file="${target_dir}/${environment:-"Unknown_Environemnt"}_result.log" - "${savetest_dir}/test_rdlink.sh" >"${target_file}" 2>&1 + printf "# Test environment\n\n %s\n\n" "${environment}" >"${target_file}" + + "${savetest_dir}/test_rdlink.sh" -a >>"${target_file}" 2>&1 + failed_tests="$?" + (( failed_tests )) && printf "Failed tests: %s\n" "$failed_tests" + return $failed_tests } savetest diff --git a/test/test_rdlink.sh b/test/test_rdlink.sh index 257d915..dd7fe79 100755 --- a/test/test_rdlink.sh +++ b/test/test_rdlink.sh @@ -85,7 +85,7 @@ rl::test() { # Check if assertion tests need to be performed (( ! flag_onlycompete )) && [[ ! "$@" ]] && toassert_init - + # Compare against expected result if (( ${#toassert[@]} )) ; then rl::printTitle @@ -173,15 +173,15 @@ rl::test() { done rl::printTestSummary $tests_success $tests_failed $tests_skipped - (( testend )) && return 1 || return 0 + return ${tests_failed} } rl::printTitle() { (( flag_title )) && return 0 flag_title=1 - + # See if some tests will be performed - printf "# Testing rdlink version %s\n" "${tool_rdlink_version}" + printf "# Testing rdlink version %s\n\n" "${tool_rdlink_version}" printf " Testdate: %s\n" "$(date -u +"%Y-%m-%d %H:%M:%S UTC")" } @@ -229,7 +229,7 @@ rl::testcmp() { local testresult=0 #failed local testresult_graphic="${color_red}✗${color_less}" # alt. symbol ≠ local link="$(readlink -- "${input}")" - + if [[ "${expect}" == "${actual}" ]] ; then # Don't print success for this flag (( flag_printerror )) && return 0 @@ -273,3 +273,4 @@ rl::testcmp() { #time rl::test "$@" rl::test "$@" + diff --git a/test/totest.sh b/test/totest.sh index 3009652..dda2ea4 100644 --- a/test/totest.sh +++ b/test/totest.sh @@ -152,9 +152,14 @@ toassert_init() { "../rel_b" "$(cd ".." && pwd)/rel_b" ) + assert_force_fail=( "Force fail" + "nix" "" + ) + # Add test arrays to global test array from test_rdlink toassert+=( assert_invalid_files + #assert_force_fail ) }