1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00
samba-mirror/testprogs/blackbox/common_test_fns.inc
Joseph Sutton 23d2c9cb72 testprogs: Make test_rpcclient_expect_failure_grep() return 0 on success
This is more consistent with the behaviour of the other expect_failure
functions.

Adjust all callers expecting the opposite behaviour to match.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
2023-04-12 13:52:32 +00:00

156 lines
2.8 KiB
PHP
Executable File

# 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}"
}