windows-nt/Source/XPSP1/NT/base/fs/ntfs/fu/test.cmd
2020-09-26 16:20:57 +08:00

170 lines
6.2 KiB
Batchfile

@echo off
rem Test fs util messages/behavior
rem
rem test - run test, produce log, and compare with saved log
rem
if not "%1" == "" goto %1
setlocal
call test Run >test.log
fcom test.good test.log
endlocal
goto :eof
:Test
shift
set _test=%1
shift
%1 %2 %3 %4 %5 %6 %7 %8 %9
set _result=%errorlevel%
if "%_test%" == "success" if not %_result% == 0 echo Expected success: %1 %2 %3 %4 %5 %6 %7 %8 %9
if "%_test%" == "fail" if %_result% == 0 echo Expected failure: %1 %2 %3 %4 %5 %6 %7 %8 %9
goto :eof
:Run
prompt []
call test test success obj\i386\fsutil.exe
obj\i386\fsutil.exe x
call test test success obj\i386\fsutil.exe behavior
obj\i386\fsutil.exe behavior x
call test test success obj\i386\fsutil.exe behavior query
call test test fail obj\i386\fsutil.exe behavior query x
call test test success obj\i386\fsutil.exe behavior query disable8dot3
call test test success obj\i386\fsutil.exe behavior query allowextchar
call test test success obj\i386\fsutil.exe behavior query disablelastaccess
call test test success obj\i386\fsutil.exe behavior query quotanotify
call test test success obj\i386\fsutil.exe behavior query mftzone
call test test success obj\i386\fsutil.exe behavior set
call test test fail obj\i386\fsutil.exe behavior set x
call test test success obj\i386\fsutil.exe dirty
call test test fail obj\i386\fsutil.exe dirty x
call test test success obj\i386\fsutil.exe dirty query
call test test success obj\i386\fsutil.exe dirty set
call test test success obj\i386\fsutil.exe file
call test test fail obj\i386\fsutil.exe file x
call test test success obj\i386\fsutil.exe file findbysid
call test test success obj\i386\fsutil.exe file queryallocranges
call test test success obj\i386\fsutil.exe file setshortname
call test test success obj\i386\fsutil.exe file setvaliddata
call test test success obj\i386\fsutil.exe file setzerodata
call test test success obj\i386\fsutil.exe fsinfo
call test test fail obj\i386\fsutil.exe fsinfo x
call test test success obj\i386\fsutil.exe fsinfo drives
call test test success obj\i386\fsutil.exe fsinfo drivetype
call test test success obj\i386\fsutil.exe fsinfo volumeinfo
call test test success obj\i386\fsutil.exe fsinfo ntfsinfo
call test test success obj\i386\fsutil.exe fsinfo statistics
call test test success obj\i386\fsutil.exe hardlink
call test test fail obj\i386\fsutil.exe hardlink x
call test test success obj\i386\fsutil.exe hardlink create
call test test success obj\i386\fsutil.exe objectid
call test test fail obj\i386\fsutil.exe objectid x
call test test success obj\i386\fsutil.exe objectid query
call test test success obj\i386\fsutil.exe objectid set
call test test success obj\i386\fsutil.exe objectid delete
call test test success obj\i386\fsutil.exe objectid create
call test test success obj\i386\fsutil.exe quota
call test test fail obj\i386\fsutil.exe quota x
call test test success obj\i386\fsutil.exe quota disable
call test test success obj\i386\fsutil.exe quota track
call test test success obj\i386\fsutil.exe quota enforce
call test test success obj\i386\fsutil.exe quota violations
call test test success obj\i386\fsutil.exe quota modify
call test test success obj\i386\fsutil.exe quota query
call test test success obj\i386\fsutil.exe reparsepoint
call test test fail obj\i386\fsutil.exe reparsepoint x
call test test success obj\i386\fsutil.exe reparsepoint query
call test test success obj\i386\fsutil.exe reparsepoint delete
call test test success obj\i386\fsutil.exe sparse
call test test fail obj\i386\fsutil.exe sparse x
call test test success obj\i386\fsutil.exe sparse setflag
call test test success obj\i386\fsutil.exe sparse queryflag
call test test success obj\i386\fsutil.exe sparse queryrange
call test test success obj\i386\fsutil.exe sparse setrange
call test test success obj\i386\fsutil.exe usn
call test test fail obj\i386\fsutil.exe usn x
call test test success obj\i386\fsutil.exe usn createjournal
call test test success obj\i386\fsutil.exe usn deletejournal
call test test success obj\i386\fsutil.exe usn enumdata
call test test success obj\i386\fsutil.exe usn queryjournal
call test test success obj\i386\fsutil.exe usn readdata
call test test success obj\i386\fsutil.exe usn readjournal
call test test success obj\i386\fsutil.exe volume
call test test fail obj\i386\fsutil.exe volume x
call test test success obj\i386\fsutil.exe volume dismount
call test test success obj\i386\fsutil.exe volume extend
call test test success obj\i386\fsutil.exe volume diskfree
rem ---------------
rem specific tests
rem ---------------
del sparse
call test test success obj\i386\fsutil file createnew sparse 16000000
call test test success obj\i386\fsutil sparse setflag sparse
obj\i386\fsutil.exe file setzerodata offset=65536 length=131072 sparse
obj\i386\fsutil.exe file queryallocranges offset=0 length=20000000 sparse
rem test it in hex
del sparse
call test test success obj\i386\fsutil file createnew sparse 0x1000000
call test test success obj\i386\fsutil sparse setflag sparse
obj\i386\fsutil.exe file setzerodata offset=0x10000 length=0x20000 sparse
obj\i386\fsutil.exe file queryallocranges offset=0x0 length=0x2000000 sparse
rem ---------------
rem 167977
rem ---------------
call test test success obj\i386\fsutil behavior set quotanotify 4294967295
call test test success obj\i386\fsutil behavior query quotanotify
obj\i386\fsutil behavior set quotanotify 4,294,967,295
call test test fail obj\i386\fsutil behavior set quotanotify xxx
call test test fail obj\i386\fsutil behavior set quotanotify 0
call test test fail obj\i386\fsutil behavior set quotanotify 5555555555
call test test fail obj\i386\fsutil behavior set quotanotify -879868574663545
call test test fail obj\i386\fsutil behavior set quotanotify -65765
rem ---------------
rem 202191
rem ---------------
del xxx
call test test success obj\i386\fsutil file createnew xxx 100
call test test fail obj\i386\fsutil file createnew xxx 100
del xxx
rem ---------------
rem 203140
rem ---------------
call test test success obj\i386\fsutil quota track c:
echo Sleeping for 60 seconds >&2
sleep 60
call test test success obj\i386\fsutil quota query c:
call test test success obj\i386\fsutil quota disable c: