From 08302d2680a8c6abcee95d622e6585cde3313ce1 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Sat, 19 Mar 2022 20:16:14 +0100 Subject: [PATCH] New options to only run assert or competion tests New tests for missing permissions --- test/test_rdlink.sh | 15 +++++++++++++-- test/totest.sh | 13 +++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/test/test_rdlink.sh b/test/test_rdlink.sh index 62d3d98..cc4d523 100755 --- a/test/test_rdlink.sh +++ b/test/test_rdlink.sh @@ -27,6 +27,8 @@ readonly color_less='\033[0m' flag_runall=0 flag_extendedOutput=0 flag_verbose=0 +flag_onlyassert=0 +flag_onlycompete=0 toassert=() tocompete=() @@ -102,9 +104,18 @@ rl::test() { flag_extendedOutput=1 flag_verbose=1 shift ;; + -oa|--only-assert) + flag_onlyassert=1 + shift ;; + -oc|--only-compete) + flag_onlycompete=1 + shift ;; esac done + (( flag_onlyassert )) && tocompete=() + (( flag_onlycompete )) && toassert=() + # Only run `compete_args` if arguments are available if [[ "$@" ]]; then compete_args=( "Tests from command line" "$@" ) @@ -113,7 +124,7 @@ rl::test() { fi # Compare against expected result - printf "\n# Assertion tests (\"Expected path\" == rdlink)\n" + (( ${#toassert[@]} )) && printf "\n# Assertion tests (\"Expected path\" == rdlink)\n" for testarray in "${toassert[@]}"; do i=0 arraywalker="$testarray"[@] @@ -143,7 +154,7 @@ rl::test() { done # Compare output of rdlink and readlink -f - printf "\n# Competition tests (readlink -f == rdlink)\n" + (( ${#tocompete[@]} )) && printf "\n# Competition tests (readlink -f == rdlink)\n" for testarray in "${tocompete[@]}"; do i=0 arraywalker="$testarray"[@] diff --git a/test/totest.sh b/test/totest.sh index df8f1e8..391f0a5 100644 --- a/test/totest.sh +++ b/test/totest.sh @@ -35,6 +35,13 @@ tocompete_init() { touch "${_tc_tmp}/a" ln -s "${_tc_tmp}/a" "${_tc_tmp}/a 2" ln -s "${_tc_tmp}/a 2" "${_tc_tmp}/a 3" + + # compete_no_permission + mkdir -p "${_tc_tmp}/noperm" + chmod 400 "${_tc_tmp}/noperm" + ln -s "noperm" "${_tc_tmp}/lnoperm" + + #ls -l "${_tc_tmp}" } # Base directory for the test @@ -50,8 +57,14 @@ tocompete_init() { "/bin/adb" ) + compete_no_permission=( "No permission to enter directory (direct and link)" + "noperm" + "lnoperm" + ) + # Add tests to global test array from test_rdlink tocompete+=( + compete_no_permission compete_links compete_canonicalize #compete_all