#!/bin/sh # # Blackbox test for net [rpc] conf. # # Copyright (C) 2011 Vicentiu Ciorbaru if [ $# -lt 3 ]; then cat <>$LOG echo "RC: $RC" >> $LOG return $RC # echo -n . } test_conf_addshare() { echo '\nTesting conf addshare' >> $LOG echo ------------------------- >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } #create a lot of shares for i in $(seq 1 100); do if [ $(($i % 2)) -eq 0 ]; then $NETCMD conf addshare share$i /tmp "writeable=y" "guest_ok=n" \ "test comment" >>$DIR/addshare_exp \ 2>>$DIR/addshare_exp log_print $NETCMD conf addshare share$i /tmp "writeable=y" "guest_ok=n" \ "test comment" else $NETCMD conf addshare share$i /tmp "writeable=n" "guest_ok=y" \ "test comment" >>$DIR/addshare_exp \ 2>>$DIR/addshare_exp log_print $NETCMD conf addshare share$i /tmp "writeable=n" "guest_ok=y" \ "test comment" fi test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } done $NETCMD conf listshares > $DIR/listshares_out log_print $NETCMD conf listshares test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } for i in $(seq 1 100); do grep "share$i" $DIR/listshares_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not found" | tee -a $LOG return 1 fi done #check the integrity of the shares #if it fails, it can also point to an error in showshare for i in $(seq 1 100); do $NETCMD conf showshare share$i > $DIR/showshare_out test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "path" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not found" | tee -a $LOG return 1 fi if [ $(($i % 2)) -eq 0 ]; then grep "read only *= *no" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not set correctly" | tee -a $LOG return 1 fi else grep "read only *= *yes" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not set correctly" | tee -a $LOG return 1 fi fi if [ $(($i % 2)) -eq 0 ]; then grep "guest ok *= *no" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not set correctly" | tee -a $LOG return 1 fi else grep "guest ok *= *yes" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not set correctly" | tee -a $LOG return 1 fi fi grep "comment *= *test comment" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not set correctly" | tee -a $LOG return 1 fi done echo '\nTaking a conf snapshot for later use' >> $LOG $NETCMD conf list > $DIR/conf_import_in log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } } test_conf_addshare_existing() { #try adding an already existing share echo '\nAdding an already existing share' >>$LOG $NETCMD conf addshare share1 /tmp "writeable=n" "guest_ok=y" \ "test comment" >>$DIR/addshare_exp \ 2>>$DIR/addshare_exp log_print $NETCMD conf addshare share1 /tmp "writeable=n" "guest_ok=y" \ "test comment" test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } test -z `cat $DIR/addshare_exp` && { echo "ERROR: addshare output does not match" >> $LOG return 1 } return 0 } test_conf_addshare_usage() { #check to see if command prints usage echo '\nChecking usage' >>$LOG $NETCMD conf addshare > $DIR/addshare_usage_exp log_print $NETCMD conf addshare test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf addshare" $DIR/addshare_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_delshare() { echo '\nTesting conf delshare' >>$LOG echo ------------------------- >> $LOG echo -n '\n' >> $LOG $NETCMD conf delshare share1 log_print $NETCMD conf delshare share1 test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf listshares > $DIR/listshares_out log_print $NETCMD conf listshares test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "share1$" $DIR/listshares_out >/dev/null 2>>$LOG if [ "$?" = "0" ]; then echo "ERROR: delshare did not delete 'share1'" | tee -a $LOG return 1 fi } test_conf_delshare_empty() { echo '\nAttempting to delete non_existing share' $NETCMD conf delshare share1 log_print $NETCMD conf delshare share1 test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } } test_conf_delshare_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf delshare > $DIR/delshare_usage_exp log_print $NETCMD conf delshare test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf delshare" $DIR/delshare_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_showshare_case() { echo '\nChecking case in net conf shareshare' >>$LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } for share in UPPERCASE lowercase; do log_print $NETCMD conf addshare $share /tmp $NETCMD conf addshare $share /tmp \ >>$DIR/case_addshare_exp \ 2>>$DIR/case_addshare_exp # Lookup share in different case, check that output has # share name in correct case. switch_case=$(echo $share | tr 'A-Za-z' 'a-zA-Z') log_print $NETCMD conf showshare $switch_case $NETCMD conf showshare $switch_case > $DIR/showshare_out test "x$?" = "x0" || { echo 'ERROR: net conf showshare failed.' | tee -a $LOG return 1 } grep "\[$share\]" $DIR/showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: share not found" | tee -a $LOG return 1 fi done } test_conf_drop() { echo '\nTesting conf drop' >> $LOG echo ------------------------- >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } #check to see if listing the configuration yields a blank file $NETCMD conf list 1>>$DIR/list_out log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } test -z "`cat $DIR/list_out`" || { echo "ERROR: Expected list output did not match" | tee -a $LOG return 1 } } test_conf_drop_empty() { #Drop an empty config, see if conf drop fails echo '\nAttempting to drop an empty configuration' >>$LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } #check to see if listing the configuration yields a blank file $NETCMD conf list 1>>$DIR/list_out log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } test -z "`cat $DIR/list_out`" || { echo ERROR:Expected list output did not match >> $LOG return 1 } } test_conf_drop_usage() { #check to see if command prints usage echo '\nChecking usage' >>$LOG $NETCMD conf drop extra_arg > $DIR/drop_usage_exp log_print $NETCMD conf drop extra_arg test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "$RPC *conf drop" $DIR/drop_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_setparm() { echo '\nTesting conf setparm' >> $LOG echo ------------------------- >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf setparm share1 "read only" yes log_print $NETCMD conf setparm share1 "read only" yes test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf setparm share1 "path" /tmp/test_path log_print $NETCMD conf setparm share1 "path" /tmp/test_path test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf showshare share1 > $DIR/setparm_showshare_out test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "read only *= *yes" $DIR/setparm_showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setparm did not set correctly" | tee -a $LOG return 1 fi grep "path *= */tmp/test_path" $DIR/setparm_showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setparm did not set correctly" | tee -a $LOG return 1 fi } test_conf_setparm_existing() { echo '\nSetting already existing param with the same value' $NETCMD conf setparm share1 "read only" yes log_print $NETCMD conf setparm share1 "read only" yes test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf setparm share1 "read only" yes log_print $NETCMD conf setparm share1 "read only" yes test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf showshare share1 > $DIR/setparm_existing_showshare_out test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "read only *= *yes" $DIR/setparm_existing_showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setparm did not set correctly" | tee -a $LOG return 1 fi $NETCMD conf setparm share1 "read only" no log_print $NETCMD conf setparm share1 "read only" no test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf showshare share1 > $DIR/setparm_existing_showshare_out test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "read only *= *no" $DIR/setparm_existing_showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setparm did not set correctly" | tee -a $LOG return 1 fi } test_conf_setparm_forbidden() { FORBIDDEN_PARAMS="state directory lock directory lock dir config backend include" echo '\nTrying to set forbidden parameters' >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } OLD_IFS="$IFS" IFS=' ' for PARAM in $FORBIDDEN_PARAMS ; do IFS="$OLD_IFS" echo "Trying to set parameter '$PARAM'" | tee -a $LOG $NETCMD conf setparm global "$PARAM" "value" > $DIR/setparm_forbidden_out 2>&1 log_print $NETCMD conf setparm global \""$PARAM"\" "value" test "x$?" = "x0" && { echo "ERROR: setting forbidden parameter '$PARAM' succeeded" | tee -a $LOG return 1 } echo "output of net command: " | tee -a $LOG cat $DIR/setparm_forbidden_out | tee -a $LOG SEARCH="Parameter '$PARAM' not allowed in registry." grep "$SEARCH" $DIR/setparm_forbidden_out >/dev/null 2>>$LOG test "x$?" = "x0" || { echo "ERROR: expected '$SEARCH'" | tee -a $LOG return 1 } done IFS="$OLD_IFS" return 0 } test_conf_setparm_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf setparm > $DIR/setparm_usage_exp log_print $NETCMD conf setparm test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "$RPC *conf setparm" $DIR/setparm_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setparm no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_delparm_delete_existing() { echo '\nTesting conf delparm' >> $LOG echo ------------------------- >> $LOG echo -n '\n' >>$LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf addshare share1 /tmp "writeable=y" "guest_ok=n" \ "test comment" log_print $NETCMD conf addshare share$i /tmp "writeable=y" "guest_ok=n" \ "test comment" $NETCMD conf delparm share1 "path" log_print $NETCMD conf delparm share1 "path" test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf showshare share1 > $DIR/delparm_showshare_out test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } #test to see what delparm did delete and how grep "read only *= *no" $DIR/delparm_showshare_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: delparm did not delete correctly" | tee -a $LOG return 1 fi grep "path *= */tmp" $DIR/delparm_showshare_out >/dev/null 2>>$LOG if [ "$?" = "0" ]; then echo "ERROR: delparm did not delete correctly" | tee -a $LOG return 1 fi } test_conf_delparm_delete_non_existing() { echo '\nDelete non existing share' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf delparm share1 "path" log_print $NETCMD conf delparm share1 "path" test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } } test_conf_delparm_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf delparm > $DIR/delparm_usage_exp log_print $NETCMD conf delparm test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf delparm" $DIR/delparm_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: delparm no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_getparm() { echo '\nTesting conf getparm' >> $LOG echo ------------------------- >> $LOG echo -n '\n' >>$LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { return 1 } $NETCMD conf addshare share1 /tmp/path_test "writeable=n" "guest_ok=n" \ "test comment" log_print $NETCMD conf addshare share$i /tmp/path_test "writeable=n" "guest_ok=n" \ "test comment" test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf getparm share1 "read only" >$DIR/getparm_out log_print $NETCMD conf getparm share1 "read only" test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf getparm share1 "read only" >$DIR/getparm_out log_print $NETCMD conf getparm share1 "read only" test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } echo yes >$DIR/getparm_exp diff -q $DIR/getparm_out $DIR/getparm_exp >> $LOG if [ "$?" = "1" ]; then echo "ERROR: getparm did not print correctly" | tee -a $LOG return 1 fi $NETCMD conf getparm share1 "path" >$DIR/getparm_out log_print $NETCMD conf getparm share1 "path" test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } echo /tmp/path_test >$DIR/getparm_exp diff -q $DIR/getparm_out $DIR/getparm_exp >> $LOG if [ "$?" = "1" ]; then echo "ERROR: getparm did not print correctly" | tee -a $LOG return 1 fi } test_conf_getparm_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf getparm > $DIR/getparm_usage_exp log_print $NETCMD conf getparm test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf getparm" $DIR/getparm_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: getparm no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_getparm_non_existing() { echo '\nTesting getparm non existing' >>$LOG $NETCMD conf getparm fictional_share fictional_param log_print $NETCMD conf getparm fictional_share fictional_param test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } $NETCMD conf getparm share1 fictional_param log_print $NETCMD conf getparm share1 fictional_param test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } } test_conf_setincludes() { echo '\nTesting conf setincludes' >> $LOG echo ------------------------- >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf addshare tmp_share /tmp log_print $NETCMD conf addshare tmp_share /tmp test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf setincludes tmp_share /tmp/include1 /tmp/include2 /tmp/include3 log_print $NETCMD conf setincludes tmp_share /tmp/include1 /tmp/include2 /tmp/include3 test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf list > $DIR/setincludes_list_out log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "include *= */tmp/include1$" $DIR/setincludes_list_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setincludes did not set correctly" | tee -a $LOG return 1 fi grep "include *= */tmp/include2$" $DIR/setincludes_list_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setincludes did not set correctly" | tee -a $LOG return 1 fi grep "include *= */tmp/include3$" $DIR/setincludes_list_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: setincludes did not set correctly" | tee -a $LOG return 1 fi } test_conf_setincludes_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf setincludes > $DIR/setincludes_usage_exp log_print $NETCMD conf setincludes test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf setincludes" $DIR/setincludes_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_getincludes() { $NETCMD conf getincludes tmp_share > $DIR/getincludes_out log_print $NETCMD conf getincludes tmp_share test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "include *= */tmp/include1$" $DIR/getincludes_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: getincludes did not print correctly" | tee -a $LOG return 1 fi grep "include *= */tmp/include2$" $DIR/getincludes_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: getincludes did not print correctly" | tee -a $LOG return 1 fi grep "include *= */tmp/include3$" $DIR/getincludes_out >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: getincludes did not print correctly" | tee -a $LOG return 1 fi } test_conf_getincludes_usage() { $NETCMD conf getincludes > $DIR/getincludes_usage_exp log_print $NETCMD conf getincludes grep "$RPC *conf getincludes" $DIR/getincludes_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_delincludes() { echo '\nTesting conf delincludes' >> $LOG echo ------------------------- >> $LOG $NETCMD conf delincludes tmp_share log_print $NETCMD conf delincludes tmp_share test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf list > $DIR/delincludes_list_out log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } grep "include" $DIR/delincludes_list_out >/dev/null 2>>$LOG if [ "$?" = "0" ]; then echo "ERROR: delincludes did not delete correctly" | tee -a $LOG return 1 fi } test_conf_delincludes_empty() { $NETCMD conf delincludes tmp_share log_print $NETCMD conf delincludes tmp_share test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf delincludes fictional_share log_print $NETCMD conf delincludes fictional_share test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } return 0 } test_conf_delincludes_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf delincludes > $DIR/delincludes_usage_exp log_print $NETCMD conf delincludes test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf delincludes" $DIR/delincludes_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: no/wrong usage message printed" | tee -a $LOG return 1 fi } test_conf_import() { echo '\nTesting conf import' >> $LOG echo ------------------------- >> $LOG echo '\nDropping existing configuration' >> $LOG $NETCMD conf drop log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf import $DIR/conf_import_in log_print $NETCMD conf drop test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } $NETCMD conf list > $DIR/conf_import_out log_print $NETCMD conf list test "x$?" = "x0" || { echo 'ERROR: RC does not match, expected: 0' | tee -a $LOG return 1 } diff -q $DIR/conf_import_in $DIR/conf_import_out >> $LOG if [ "$?" = "1" ]; then echo "ERROR: import failed" | tee -a $LOG return 1 fi } test_conf_import_usage() { echo '\nChecking usage' >>$LOG $NETCMD conf import > $DIR/import_usage_exp log_print $NETCMD conf import test "x$?" = "x255" || { echo 'ERROR: RC does not match, expected: 255' | tee -a $LOG return 1 } grep "$RPC *conf import" $DIR/import_usage_exp >/dev/null 2>>$LOG if [ "$?" = "1" ]; then echo "ERROR: conf import no/wrong usage message printed" | tee -a $LOG return 1 fi } CONF_FILES=$SERVERCONFFILE testit "conf_drop" \ test_conf_drop \ || failed=`expr $failed + 1` testit "conf_drop_empty" \ test_conf_drop_empty \ || failed=`expr $failed + 1` testit "conf_drop_usage" \ test_conf_drop_usage \ || failed=`expr $failed + 1` testit "conf_addshare" \ test_conf_addshare \ || failed=`expr $failed + 1` testit "conf_addshare_existing" \ test_conf_addshare_existing \ || failed=`expr $failed + 1` testit "conf_addshare_usage" \ test_conf_addshare_usage \ || failed=`expr $failed + 1` testit "conf_delshare" \ test_conf_delshare \ || failed=`expr $failed + 1` testit "conf_delshare_empty" \ test_conf_delshare_empty \ || failed=`expr $failed + 1` testit "conf_delshare_usage" \ test_conf_delshare_usage \ || failed=`expr $failed + 1` testit "test_conf_showshare_case" \ test_conf_showshare_case \ || failed=`expr $failed + 1` testit "conf_setparm" \ test_conf_setparm \ || failed=`expr $failed + 1` testit "conf_setparm_existing" \ test_conf_setparm_existing \ || failed=`expr $failed + 1` testit "conf_setparm_forbidden" \ test_conf_setparm_forbidden \ || failed=`expr $failed + 1` testit "conf_setparm_usage" \ test_conf_setparm_usage \ || failed=`expr $failed + 1` testit "conf_delparm_delete_existing" \ test_conf_delparm_delete_existing \ || failed=`expr $failed + 1` testit "conf_delparm_delete_non_existing" \ test_conf_delparm_delete_non_existing \ || failed=`expr $failed + 1` testit "conf_delparm_delete_usage" \ test_conf_delparm_usage \ || failed=`expr $failed + 1` testit "conf_getparm" \ test_conf_getparm \ || failed=`expr $failed + 1` testit "conf_getparm_usage" \ test_conf_getparm_usage \ || failed=`expr $failed + 1` testit "conf_setincludes" \ test_conf_setincludes \ || failed=`expr $failed + 1` testit "conf_setincludes_usage" \ test_conf_setincludes_usage \ || failed=`expr $failed + 1` testit "conf_getincludes" \ test_conf_getincludes \ || failed=`expr $failed + 1` testit "conf_getincludes_usage" \ test_conf_getincludes_usage \ || failed=`expr $failed + 1` testit "conf_delincludes" \ test_conf_delincludes \ || failed=`expr $failed + 1` testit "conf_delincludes_empty" \ test_conf_delincludes_usage \ || failed=`expr $failed + 1` testit "conf_delincludes_usage" \ test_conf_delincludes_empty \ || failed=`expr $failed + 1` testit "conf_import" \ test_conf_import \ || failed=`expr $failed + 1` testit "conf_import_usage" \ test_conf_import_usage \ || failed=`expr $failed + 1` if [ $failed -eq 0 ]; then rm -r $DIR fi testok $0 $failed