diff options
author | Andreas Schneider <asn@samba.org> | 2017-06-19 15:52:23 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-06-20 14:48:33 +0200 |
commit | e60aeb6f56a26019788442247361ed516bf965af (patch) | |
tree | 93437ced0e1e80d390adbed69a1992ad569dbce5 | |
parent | 0caf40ec0196de0de016fda0d4aff0734d498d2b (diff) | |
download | samba-e60aeb6f56a26019788442247361ed516bf965af.tar.gz |
s3:tests: Add test for smbclient -UDOMAIN+username
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12849
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Jun 20 14:48:33 CEST 2017 on sn-devel-144
-rwxr-xr-x | source3/script/tests/test_smbclient_basic.sh | 62 | ||||
-rwxr-xr-x | source3/selftest/tests.py | 1 |
2 files changed, 63 insertions, 0 deletions
diff --git a/source3/script/tests/test_smbclient_basic.sh b/source3/script/tests/test_smbclient_basic.sh new file mode 100755 index 00000000000..90e579b68e9 --- /dev/null +++ b/source3/script/tests/test_smbclient_basic.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +# this runs the file serving tests that are expected to pass with samba3 against shares with various options + +if [ $# -lt 5 ]; then +cat <<EOF +Usage: test_smbclient_basic.sh SERVER SERVER_IP DOMAIN USERNAME PASSWORD SMBCLIENT <smbclient arguments> +EOF +exit 1; +fi + +SERVER="$1" +SERVER_IP="$2" +USERNAME="$3" +PASSWORD="$4" +smbclient="$5" +CONFIGURATION="$6" +shift 6 +ADDARGS="$@" + +incdir=`dirname $0`/../../../testprogs/blackbox +. $incdir/subunit.sh + +test_smbclient() { + name="$1" + cmd="$2" + shift + shift + echo "test: $name" + $VALGRIND $smbclient $CONFIGURATION //$SERVER/tmp -c "$cmd" $@ + status=$? + if [ x$status = x0 ]; then + echo "success: $name" + else + echo "failure: $name" + fi + return $status +} + +# TEST using \ as the separator (default) +test_smbclient "smbclient as $DOMAIN\\$USERNAME" 'ls' -U$DOMAIN\\$USERNAME%$PASSWORD $CONFIGURATION || failed=`expr $failed + 1` +# TEST using / as the separator (default) +test_smbclient "smbclient as $DOMAIN/$USERNAME" 'ls' -U$DOMAIN/$USERNAME%$PASSWORD $CONFIGURATION || failed=`expr $failed + 1` + +# TEST using 'winbind separator = +' +test_smbclient "smbclient as $DOMAIN+$USERNAME" 'ls' -U$DOMAIN+$USERNAME%$PASSWORD $CONFIGURATION --option=winbindseparator=+ || failed=`expr $failed + 1` + +# TEST using 'winbind separator = +' set in a config file +smbclient_config="$PREFIX/tmpsmbconf" +cat > $smbclient_config <<EOF +[global] + include = $(echo $CONFIGURATION | cut -d= -f2) + winbind separator = + +EOF + +SAVE_CONFIGURATION="$CONFIGURATION" +CONFIGURATION="--configfile=$smbclient_config" +test_smbclient "smbclient as $DOMAIN+$USERNAME" 'ls' -U$DOMAIN+$USERNAME%$PASSWORD || failed=`expr $failed + 1` +CONFIGURATION="$SAVE_CONFIGURATION" +rm -rf $smbclient_config + +exit $failed diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 965ad7eee3e..ac861e8ba24 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -164,6 +164,7 @@ plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3s plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration]) plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration]) +plantestsuite("samba3.blackbox.smbclient_basic", "ad_member", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration]) for options in ["", "--option=clientntlmv2auth=no", "--option=clientusespnego=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --option=clientmaxprotocol=NT1"]: env = "nt4_dc" plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options]) |