tools: run-tests: leak-test

This commit is contained in:
Bill Zissimopoulos 2016-11-02 20:16:18 -07:00
parent c665812d76
commit 53077d990a

View File

@ -27,31 +27,32 @@ cd P: >nul 2>nul || (echo === Unable to find drive P: >&2 & goto fail)
set testpass=0 set testpass=0
set testfail=0 set testfail=0
for %%f in (^ for %%f in (^
:winfsp-tests-x64 ^ :winfsp-tests-x64 ^
:winfsp-tests-x64-case-randomize ^ :winfsp-tests-x64-case-randomize ^
:winfsp-tests-x64-mountpoint-drive ^ :winfsp-tests-x64-mountpoint-drive ^
:winfsp-tests-x64-mountpoint-dir ^ :winfsp-tests-x64-mountpoint-dir ^
:winfsp-tests-x64-no-traverse ^ :winfsp-tests-x64-no-traverse ^
:winfsp-tests-x86 ^ :winfsp-tests-x86 ^
:winfsp-tests-x86-case-randomize ^ :winfsp-tests-x86-case-randomize ^
:winfsp-tests-x86-mountpoint-drive ^ :winfsp-tests-x86-mountpoint-drive ^
:winfsp-tests-x86-mountpoint-dir ^ :winfsp-tests-x86-mountpoint-dir ^
:winfsp-tests-x86-no-traverse ^ :winfsp-tests-x86-no-traverse ^
:winfsp-tests-x64-external-share ^ :winfsp-tests-x64-external-share ^
:fsx-memfs-x64-disk ^ :fsx-memfs-x64-disk ^
:fsx-memfs-x64-net ^ :fsx-memfs-x64-net ^
:standby-memfs-x64-disk ^ :standby-memfs-x64-disk ^
:standby-memfs-x64-net ^ :standby-memfs-x64-net ^
:winfsp-tests-x86-external-share ^ :winfsp-tests-x86-external-share ^
:fsx-memfs-x86-disk ^ :fsx-memfs-x86-disk ^
:fsx-memfs-x86-net ^ :fsx-memfs-x86-net ^
:standby-memfs-x86-disk ^ :standby-memfs-x86-disk ^
:standby-memfs-x86-net ^ :standby-memfs-x86-net ^
:winfstest-memfs-x64-disk ^ :winfstest-memfs-x64-disk ^
:winfstest-memfs-x64-net ^ :winfstest-memfs-x64-net ^
:winfstest-memfs-x86-disk ^ :winfstest-memfs-x86-disk ^
:winfstest-memfs-x86-net ^ :winfstest-memfs-x86-net ^
) do ( :leak-test ^
) do (
echo === Running %%f echo === Running %%f
if defined APPVEYOR ( if defined APPVEYOR (
@ -239,3 +240,33 @@ P:
call "%ProjRoot%\ext\test\winfstest\run-winfstest.bat" call "%ProjRoot%\ext\test\winfstest\run-winfstest.bat"
if !ERRORLEVEL! neq 0 goto fail if !ERRORLEVEL! neq 0 goto fail
exit /b 0 exit /b 0
:leak-test
for /F "tokens=1,2 delims=:" %%i in ('verifier /query ^| findstr ^
/c:"Current Pool Allocations:" ^
/c:"CurrentPagedPoolAllocations:" ^
/c:"CurrentNonPagedPoolAllocations:"'
) do (
set FieldName=%%i
set FieldName=!FieldName: =!
set FieldValue=%%j
set FieldValue=!FieldValue: =!
set FieldValue=!FieldValue:^(=!
set FieldValue=!FieldValue:^)=!
if X!FieldName!==XCurrentPoolAllocations (
for /F "tokens=1,2 delims=/" %%k in ("!FieldValue!") do (
set NonPagedAlloc=%%k
set PagedAlloc=%%l
)
) else if X!FieldName!==XCurrentPagedPoolAllocations (
set PagedAlloc=%%j
) else if X!FieldName!==XCurrentNonPagedPoolAllocations (
set NonPagedAlloc=%%j
)
)
if !PagedAlloc! neq 0 goto fail
if !NonPagedAlloc! neq 0 goto fail
exit /b 0