diff options
-rwxr-xr-x | source3/script/tests/test_testparm_s3.sh | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/source3/script/tests/test_testparm_s3.sh b/source3/script/tests/test_testparm_s3.sh new file mode 100755 index 0000000000..f1316e922c --- /dev/null +++ b/source3/script/tests/test_testparm_s3.sh @@ -0,0 +1,90 @@ +#!/bin/sh + +# Tests for lp_load() via testparm. +# +# The main purpose (for now) is to test all the special handlers +# and the macro expansions. + +TEMP_CONFFILE=${LIBDIR}/smb.conf.tmp +TESTPARM="$VALGRIND ${TESTPARM:-$BINDIR/testparm} --suppress-prompt" + +incdir=`dirname $0` +. $incdir/test_functions.sh + +failed=0 + +test_include_expand_macro() +{ + MACRO=$1 + rm -f ${TEMP_CONFFILE} + cat >${TEMP_CONFFILE}<<EOF +[global] + include = ${TEMP_CONFFILE}.%${MACRO} +EOF + ${TESTPARM} ${TEMP_CONFFILE} +} + +test_one_global_option() +{ + OPTION=$1 + rm -f ${TEMP_CONFFILE} + cat > ${TEMP_CONFFILE}<<EOF +[global] + ${OPTION} +EOF + ${TESTPARM} ${TEMP_CONFFILE} +} + +test_copy() +{ + rm -f ${TEMP_CONFFILE} + cat > ${TEMP_CONFFILE}<<EOF +[share1] + path = /tmp + read only = no + +[share2] + copy = share1 +EOF + ${TESTPARM} ${TEMP_CONFFILE} +} + + +testit "netbios name" \ + test_one_global_option "netbios name = funky" || \ + failed=`expr ${failed} + 1` + +testit "netbios aliases" \ + test_one_global_option "netbios aliases = funky1 funky2 funky3" || \ + failed=`expr ${failed} + 1` + +testit "netbios scope" \ + test_one_global_option "netbios scope = abc" || \ + failed=`expr ${failed} + 1` + +testit "workgroup" \ + test_one_global_option "workgroup = samba" || \ + failed=`expr ${failed} + 1` + +testit "display charset" \ + test_one_global_option "display charset = UTF8" || \ + failed=`expr ${failed} + 1` + +testit "ldap debug level" \ + test_one_global_option "ldap debug level = 7" || \ + failed=`expr ${failed} + 1` + +for LETTER in U G D I i L N M R T a d h m v w V ; do +testit "include with %${LETTER} macro expansion" \ + test_include_expand_macro "${LETTER}" || \ + failed=`expr ${failed} + 1` +done + +testit "copy" \ + test_copy || \ + failed=`expr ${failed} + 1` + +rm -f ${TEMP_CONFFILE} + +testok $0 ${failed} + |