diff options
author | Andreas Schneider <asn@samba.org> | 2022-04-22 15:34:10 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2022-06-08 13:14:47 +0000 |
commit | e6225d77a60e3da41d7a456885a2e48a574f907c (patch) | |
tree | 9a730353d745f4fb22068367814fde64e2169824 | |
parent | 3b6558d4e38f9d56de871240514db7ac66e9960a (diff) | |
download | samba-e6225d77a60e3da41d7a456885a2e48a574f907c.tar.gz |
s3:tests: Reformat test_registry_upgrade.sh
shfmt -f source3/script/| xargs shfmt -w -p -i 0 -fn
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
-rwxr-xr-x | source3/script/tests/test_registry_upgrade.sh | 279 |
1 files changed, 139 insertions, 140 deletions
diff --git a/source3/script/tests/test_registry_upgrade.sh b/source3/script/tests/test_registry_upgrade.sh index 066adf883ec..ac4a9db3c6c 100755 --- a/source3/script/tests/test_registry_upgrade.sh +++ b/source3/script/tests/test_registry_upgrade.sh @@ -5,8 +5,8 @@ # Copyright (C) 2011 Björn Baumbach <bb@sernet.de> if [ $# -lt 2 ]; then - echo "Usage: test_registry_upgrade.sh NET DBWRAP_TOOL" - exit 1 + echo "Usage: test_registry_upgrade.sh NET DBWRAP_TOOL" + exit 1 fi SCRIPT_DIR=$(dirname $0) @@ -34,145 +34,145 @@ LOGDIR_PREFIX="registry_upgrade" registry_check() ( - CHECKNO="$1" - CHECKDIFF="$2" - REGVER="" - ALLOWEDERR="INFO: version =|Check database:|overwrite registry format version 0 with 1|no INFO/version found" - - test "x$CHECKNO" = "x0" && { - REGVER="--reg-version=1" - } - - echo "Registry check $CHECKNO" | tee -a $LOG - CHECK="$($NETCMD registry check $REGVER 2>&1)" - RC=$? - - ERRORSTR="$(echo "$CHECK" | grep -vE $ALLOWEDERR )" - test "x$RC" = "x0" || { - echo "upgrade check $CHECKNO failed:" | tee -a $LOG - return 1 - } - - test "x$ERRORSTR" = "x" || { - echo "upgrade check $CHECKNO failed:" | tee -a $LOG - echo "reason: $CHECK" | tee -a $LOG - return 1 - } - - test "x$CHECKDIFF" = "xcheckdiff" && { - $NETCMD registry export 'HKLM' $WORKSPACE/export_${CHECKNO}.reg >> $LOG - test "x$?" = "x0" || { - echo "Error: 'net registry export HKLM' failed" | tee -a $LOG - } - - diff -q $WORKSPACE/export_0.reg $WORKSPACE/export_${CHECKNO}.reg >> $LOG - test "x$?" = "x0" || { - echo "Error: $WORKSPACE/export_0.reg differs from $WORKSPACE/export_${CHECKNO}.reg" | tee -a $LOG - return 1 - } - } - - return 0 + CHECKNO="$1" + CHECKDIFF="$2" + REGVER="" + ALLOWEDERR="INFO: version =|Check database:|overwrite registry format version 0 with 1|no INFO/version found" + + test "x$CHECKNO" = "x0" && { + REGVER="--reg-version=1" + } + + echo "Registry check $CHECKNO" | tee -a $LOG + CHECK="$($NETCMD registry check $REGVER 2>&1)" + RC=$? + + ERRORSTR="$(echo "$CHECK" | grep -vE $ALLOWEDERR)" + test "x$RC" = "x0" || { + echo "upgrade check $CHECKNO failed:" | tee -a $LOG + return 1 + } + + test "x$ERRORSTR" = "x" || { + echo "upgrade check $CHECKNO failed:" | tee -a $LOG + echo "reason: $CHECK" | tee -a $LOG + return 1 + } + + test "x$CHECKDIFF" = "xcheckdiff" && { + $NETCMD registry export 'HKLM' $WORKSPACE/export_${CHECKNO}.reg >>$LOG + test "x$?" = "x0" || { + echo "Error: 'net registry export HKLM' failed" | tee -a $LOG + } + + diff -q $WORKSPACE/export_0.reg $WORKSPACE/export_${CHECKNO}.reg >>$LOG + test "x$?" = "x0" || { + echo "Error: $WORKSPACE/export_0.reg differs from $WORKSPACE/export_${CHECKNO}.reg" | tee -a $LOG + return 1 + } + } + + return 0 ) registry_upgrade() { - echo registry_upgrade $1 | tee -a $LOG - - (cat $DATADIR/registry.tdb > $WORKSPACE/registry.tdb) >> $LOG 2>&1 - - REGISTRY="${WORKSPACE}/registry.tdb" - - test -e $REGISTRY || { - echo "Error: Database file not available" | tee -a $LOG - return 1 - } - - # create config file - echo '[global]' > ${CONFIG_FILE} - echo " state directory = ${WORKSPACE}" >> ${CONFIG_FILE} - echo " private directory = ${WORKSPACE}" >> ${CONFIG_FILE} - echo " lock directory = ${WORKSPACE}" >> ${CONFIG_FILE} - - # set database INFO/version to 1 - #$DBWRAP_TOOL $REGISTRY store 'INFO/version' uint32 1 - #test "x$?" = "x0" || { - # echo "Error: Can not set INFO/version" >> $LOG - # return 1 - #} - - # check original registry.tdb - echo "$REGISTRY" | tee -a $LOG - registry_check 0 - test "x$?" = "x0" || { - echo "Error: initial 'registry_check 0' failed" | tee -a $LOG - return 1 - } - - # trigger upgrade - echo "$NETCMD registry enumerate $REGPATH" >> $LOG - $NETCMD registry enumerate $REGPATH >> $LOG - test "x$?" = "x0" || { - echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG - return 1 - } - - # check upgraded database - registry_check 1 - test "x$?" = "x0" || { - echo "Error: 'registry_check 1' after upgrade failed" | tee -a $LOG - return 1 - } - - # export database for diffs - $NETCMD registry export 'HKLM' $WORKSPACE/export_0.reg | tee -a $LOG - test "x$?" = "x0" || { - echo "Error 'net registry export' failed" | tee -a $LOG - return 1 - } - - # remove version string - $DBWRAP_TOOL $REGISTRY delete INFO/version | tee -a $LOG - test "x$?" = "x0" || { - echo "Error: Can not remove INFO/version key from registry" | tee -a $LOG - return 1 - } - - # trigger upgrade on upgraded database - echo "$NETCMD registry enumerate $REGPATH" >> $LOG - $NETCMD registry enumerate $REGPATH >> $LOG 2>&1 - test "x$?" = "x0" || { - echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG - return 1 - } - - # check upgraded database again - registry_check 2 checkdiff - test "x$?" = "x0" || { - echo "Error: 'registry_check 2' after upgrade failed" | tee -a $LOG - return 1 - } - - # set database INFO/version to version 2 - $DBWRAP_TOOL $REGISTRY store 'INFO/version' uint32 2 - test "x$?" = "x0" || { - echo "Error: Can not set INFO/version" | tee -a $LOG - return 1 - } - - # trigger upgrade - $NETCMD registry enumerate $REGPATH >> $LOG - test "x$?" = "x0" || { - echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG - return 1 - } - - # check upgraded database again - registry_check 3 checkdiff - test "x$?" = "x0" || { - echo "Error: 'registry_check 3' after upgrade failed" | tee -a $LOG - return 1 - } + echo registry_upgrade $1 | tee -a $LOG + + (cat $DATADIR/registry.tdb >$WORKSPACE/registry.tdb) >>$LOG 2>&1 + + REGISTRY="${WORKSPACE}/registry.tdb" + + test -e $REGISTRY || { + echo "Error: Database file not available" | tee -a $LOG + return 1 + } + + # create config file + echo '[global]' >${CONFIG_FILE} + echo " state directory = ${WORKSPACE}" >>${CONFIG_FILE} + echo " private directory = ${WORKSPACE}" >>${CONFIG_FILE} + echo " lock directory = ${WORKSPACE}" >>${CONFIG_FILE} + + # set database INFO/version to 1 + #$DBWRAP_TOOL $REGISTRY store 'INFO/version' uint32 1 + #test "x$?" = "x0" || { + # echo "Error: Can not set INFO/version" >> $LOG + # return 1 + #} + + # check original registry.tdb + echo "$REGISTRY" | tee -a $LOG + registry_check 0 + test "x$?" = "x0" || { + echo "Error: initial 'registry_check 0' failed" | tee -a $LOG + return 1 + } + + # trigger upgrade + echo "$NETCMD registry enumerate $REGPATH" >>$LOG + $NETCMD registry enumerate $REGPATH >>$LOG + test "x$?" = "x0" || { + echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG + return 1 + } + + # check upgraded database + registry_check 1 + test "x$?" = "x0" || { + echo "Error: 'registry_check 1' after upgrade failed" | tee -a $LOG + return 1 + } + + # export database for diffs + $NETCMD registry export 'HKLM' $WORKSPACE/export_0.reg | tee -a $LOG + test "x$?" = "x0" || { + echo "Error 'net registry export' failed" | tee -a $LOG + return 1 + } + + # remove version string + $DBWRAP_TOOL $REGISTRY delete INFO/version | tee -a $LOG + test "x$?" = "x0" || { + echo "Error: Can not remove INFO/version key from registry" | tee -a $LOG + return 1 + } + + # trigger upgrade on upgraded database + echo "$NETCMD registry enumerate $REGPATH" >>$LOG + $NETCMD registry enumerate $REGPATH >>$LOG 2>&1 + test "x$?" = "x0" || { + echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG + return 1 + } + + # check upgraded database again + registry_check 2 checkdiff + test "x$?" = "x0" || { + echo "Error: 'registry_check 2' after upgrade failed" | tee -a $LOG + return 1 + } + + # set database INFO/version to version 2 + $DBWRAP_TOOL $REGISTRY store 'INFO/version' uint32 2 + test "x$?" = "x0" || { + echo "Error: Can not set INFO/version" | tee -a $LOG + return 1 + } + + # trigger upgrade + $NETCMD registry enumerate $REGPATH >>$LOG + test "x$?" = "x0" || { + echo "Error: 'net registry enumerate $REGPATH' failed" | tee -a $LOG + return 1 + } + + # check upgraded database again + registry_check 3 checkdiff + test "x$?" = "x0" || { + echo "Error: 'registry_check 3' after upgrade failed" | tee -a $LOG + return 1 + } } # remove old workspace @@ -183,11 +183,10 @@ mkdir $WORKSPACE DIR=$(mktemp -d ${WORKSPACE}/${LOGDIR_PREFIX}_XXXXXX) LOG=$DIR/log -testit "registry_upgrade" registry_upgrade || failed=`expr $failed + 1` +testit "registry_upgrade" registry_upgrade || failed=$(expr $failed + 1) if [ $failed -eq 0 ]; then - rm -rf $WORKSPACE + rm -rf $WORKSPACE fi testok $0 $failed - |