From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- testprogs/blackbox/common_test_fns.inc | 155 +++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100755 testprogs/blackbox/common_test_fns.inc (limited to 'testprogs/blackbox/common_test_fns.inc') diff --git a/testprogs/blackbox/common_test_fns.inc b/testprogs/blackbox/common_test_fns.inc new file mode 100755 index 0000000..df8fee0 --- /dev/null +++ b/testprogs/blackbox/common_test_fns.inc @@ -0,0 +1,155 @@ +# Common tests +# Pulled out of existing tests to prevent duplication. +# +test_smbclient() +{ + name="$1" + cmd="$2" + unc="$3" + shift + shift + shift + subunit_start_test "$name" + output=$($VALGRIND $smbclient $CONFIGURATION "$unc" -c "$cmd" "$@" 2>&1) + status=$? + if [ x$status = x0 ]; then + subunit_pass_test "$name" + else + printf '%s' "$output" | subunit_fail_test "$name" + fi + return $status +} + +test_smbclient_expect_failure() +{ + name="$1" + cmd="$2" + unc="$3" + shift + shift + shift + subunit_start_test "$name" + output=$($VALGRIND $smbclient $CONFIGURATION "$unc" -c "$cmd" "$@" 2>&1) + status=$? + if [ x$status = x0 ]; then + printf '%s' "$output" | subunit_fail_test "$name" + return 1 + else + subunit_pass_test "$name" + return 0 + fi +} + +test_rpcclient_grep() +{ + name="$1" + cmd="$2" + srv="$3" + grep="$4" + shift + shift + shift + shift + subunit_start_test "$name" + output=$($VALGRIND $rpcclient $CONFIGURATION "$srv" -c "$cmd" "$@" 2>&1) + status=$? + if [ x$status != x0 ]; then + printf '%s' "$output" | subunit_fail_test "$name" + return $status + fi + printf '%s' "$output" | grep -q "$grep" + gstatus=$? + if [ x$gstatus = x0 ]; then + subunit_pass_test "$name" + else + printf '%s' "$output" | subunit_fail_test "$name" + fi + return $gstatus +} + +test_rpcclient_expect_failure_grep() +{ + name="$1" + cmd="$2" + srv="$3" + grep="$4" + shift + shift + shift + shift + subunit_start_test "$name" + output=$($VALGRIND $rpcclient $CONFIGURATION "$srv" -c "$cmd" "$@" 2>&1) + status=$? + if [ x$status = x0 ]; then + printf '%s' "$output" | subunit_fail_test "$name" + return 1 + fi + printf '%s' "$output" | grep -q "$grep" + gstatus=$? + if [ x$gstatus = x0 ]; then + subunit_pass_test "$name" + else + printf '%s' "$output" | subunit_fail_test "$name" + fi + return $gstatus +} + +kerberos_kinit() +{ + kinit_tool="${1}" + principal="${2}" + password="${3}" + shift 3 + kbase=$(basename ${kinit_tool}) + if [ "${kbase}" = "samba4kinit" ]; then + kpassfile=$(mktemp) + echo $password >${kpassfile} + $kinit_tool -c ${KRB5CCNAME} --password-file=${kpassfile} "$@" $principal + status=$? + rm -f ${kpassfile} + else + echo $password | $kinit_tool "$@" $principal + status=$? + fi + return $status +} + +remove_directory() +{ + local xdir=${1} + shift + + if [ "$xdir" = "/" ] || [ ! -d "$xdir" ] || [ -z "$(ls -A "$xdir")" ]; then + return + fi + + rm -rf "$xdir" +} + +# This function should be used to either use a system tool or one of our +# build dir if available. +# +# Examples: +# +# system_or_builddir_binary ldbsearch ${BUILDDIR} +# system_or_builddir_binary kinit ${BUILDDIR} samba4kinit +# +system_or_builddir_binary() +{ + _bin_name="${1}" + _build_dir="${2}" + _alt_bin_name="${3}" + + _bin="$(command -v ${_bin_name})" + _bin_build_path="${_build_dir}/${_bin_name}" + + if [ -n "${_alt_bin_name}" ]; then + _bin_build_path="${_build_dir}/${_alt_bin_name}" + fi + + if [ -x "${_bin_build_path}" ]; then + _bin="${_bin_build_path}" + fi + + echo "${_bin}" +} -- cgit v1.2.3