mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04:58:40 +03:00
s3-net: add roundtrip tests for registry import/export
This commit is contained in:
parent
b5d882f517
commit
64f8306e8e
@ -345,6 +345,93 @@ take_administrative_rights()
|
||||
fi
|
||||
}
|
||||
|
||||
SED_INVALID_PARAMS="{
|
||||
s/lock directory/;&/g
|
||||
s/modules dir/;&/g
|
||||
s/logging/;&/g
|
||||
s/status/;&/g
|
||||
s/logdir/;&/g
|
||||
s/read prediction/;&/g
|
||||
s/mkprofile/;&/g
|
||||
s/valid chars/;&/g
|
||||
s/timesync/;&/g
|
||||
s/sambaconf/;&/g
|
||||
s/logtype/;&/g
|
||||
s/servername/;&/g
|
||||
}"
|
||||
|
||||
REGPATH="HKLM\Software\Samba"
|
||||
|
||||
conf_roundtrip_step() {
|
||||
echo $* >>$LOG
|
||||
$@ 2>>$LOG
|
||||
# echo -n .
|
||||
}
|
||||
|
||||
conf_roundtrip()
|
||||
{
|
||||
local DIR=$(mktemp -d --tmpdir=$PREFIX conf_roundtrip_XXXX)
|
||||
local LOG=$DIR/log
|
||||
|
||||
echo conf_roundtrip $1 > $LOG
|
||||
|
||||
sed -e "$SED_INVALID_PARAMS" $1 >$DIR/conf_in
|
||||
|
||||
conf_roundtrip_step $NET conf drop
|
||||
test -z "$($NET conf list)" 2>>$LOG
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "ERROR: conf drop failed" | tee -a $LOG
|
||||
return 1
|
||||
fi
|
||||
|
||||
conf_roundtrip_step $NET conf import $DIR/conf_in
|
||||
conf_roundtrip_step $NET conf list > $DIR/conf_exp
|
||||
|
||||
grep "\[global\]" $DIR/conf_exp >/dev/null 2>>$LOG
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "ERROR: conf import => conf export failed" | tee -a $LOG
|
||||
return 1
|
||||
fi
|
||||
|
||||
conf_roundtrip_step $NET -d10 registry export $REGPATH $DIR/conf_exp.reg
|
||||
|
||||
conf_roundtrip_step $NET conf drop
|
||||
test -z "$($NET conf list)" 2>>$LOG
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "ERROR: conf drop failed" | tee -a $LOG
|
||||
return 1
|
||||
fi
|
||||
|
||||
conf_roundtrip_step $NET registry import $DIR/conf_exp.reg
|
||||
|
||||
conf_roundtrip_step $NET conf list >$DIR/conf_out
|
||||
diff -q $DIR/conf_out $DIR/conf_exp >> $LOG
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "ERROR: registry import => conf export failed" | tee -a $LOG
|
||||
return 1
|
||||
fi
|
||||
|
||||
conf_roundtrip_step $NET registry export $REGPATH $DIR/conf_out.reg
|
||||
diff -q $DIR/conf_out.reg $DIR/conf_exp.reg >>$LOG
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "Error: registry import => registry export failed" | tee -a $LOG
|
||||
return 1
|
||||
fi
|
||||
rm -r $DIR
|
||||
}
|
||||
|
||||
CONF_FILES=${CONF_FILES:-$(find $SRCDIR/.. -name *.conf | xargs grep -l "\[global\]")}
|
||||
|
||||
for conf_file in $CONF_FILES
|
||||
do
|
||||
conf_file=${conf_file#$SRCDIR/}
|
||||
testit "conf_roundtrip $conf_file" \
|
||||
conf_roundtrip $conf_file \
|
||||
|| failed=`expr $failed + 1`
|
||||
done
|
||||
|
||||
|
||||
|
||||
if test "x${RPC}" = "xrpc" ; then
|
||||
testit "giving user ${USERNAME} administrative rights" \
|
||||
give_administrative_rights
|
||||
@ -439,5 +526,6 @@ testit "taking administrative rights from user ${USERNAME}" \
|
||||
failed=`expr $failed + 1`
|
||||
fi
|
||||
|
||||
|
||||
testok $0 $failed
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user