IFS Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated Test

Overview

The installable file system test suite verifies whether the behavior in the file system stack is consistent with the File System Behavior Overview. This is a regression test suite.

More information about File System Behavior is available at http://download.microsoft.com/download/4/3/8/43889780-8d45-4b2e-9d3a-c696a890309f/File%20System%20Behavior%20Overview.pdf.

Details

Documentation for the test variations can be found at http://msdn.microsoft.com/en-us/library/ff563405(VS.85).aspx

Run Time:1 hour

Log File:

Ifstest-Local-NtfsResults.log

Ifstest-Local-CntfsResults.log

Ifstest-Local-Fat16Results.log

Ifstest-Local-Fat32Results.log

Ifstest-Local-ExFatResults.log

Ifstest-Local-UDFResults.log

System Restart Required: Yes

Test Category:Kernel Mode Filter Drivers

Supported operating systems for Logo or Signature testing:

  • Windows 7 SP1

  • Windows Server 2008 R2 SP1

Program: IFSTest.exe

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above)
  • Filter driver to be tested, along with any supporting application suite

Hardware Requirements

  • Computer that meets the minimum software requirements
  • Windows keyboard
  • Two-button pointing device
  • Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz
  • Hard drive with a minimum of 20 GB available on partition C:
  • Extra hard drive space for four simple 2048 mb partitions and two simple 1024 mb partitions

Processor

The test tool runs on the following processor architectures:

  • x86
  • x64

Running the Test

Before running the test, the following partitions need to be added to the Windows environment:

Label File System Size Expected Drive Letter
NTFS ntfs 2048mb g:
CNTFS ntfs (compressed) 2048mb i:
FAT Fat16 1024mb k:
FAT32 Fat32 1024mb l:
ExFAT ExFat 2048mb m:
UDF UDF 2048mb n:

When executed, the test will run variations for each of the six partitions above.

All test cases return PASS or FAIL. Review the test results in the log file for specific details about failures.

If there is a policy on the test system of locking out new accounts, the IFS test might return "blocked" on the multiprocess variations if the local machine account "ifstest" is locked out.

Please use account manager to unlock the account and rerun the suite.

RunIFStest.cmd contains references to environment variables that can be changed to allow for skipping of certain file systems.

Command Syntax

Command option Description
IfsTest.exe -g Virus /n .\Ifstest-Local-NtfsResults.log /N 356789AB /T /p /m /E /j /r c: -d \Ntfs -a \datacoh.exe /u ifstest /U *rw53w5
-g <suitename> Do not run <suitename>
/n <logname> Create a long of name <logname>
/N

Specify NTLOG levels. If not included, then the GUI dialog box appears. This is useful in a batch mode run of the test

NTLOG Levels:

1 ABORT 2 SEV1 3 SEV2 4 SEV3 5 WARN 6 PASS 7 BLOCK 8 INFO 9 SYSTEM INFO A DEBUG INFO B TEST
/T Enable trace of tests being done
/p Enable pagefile testing in CreatePagingFileTest
/m Enable dirty bit testing in MountedDirtyTest
/E Enable AllowExtendedDASDTest
/j Enable support for tests involving the change journal
/r <volumeletter> Path to second volume required in certain tests
-d <> System Path to FSD device object in FileSystemDeviceOpenTest.
-a Provide path to executable
/u Username for test account
/U Password for test account
/t <variation> Execute only one named variation

Troubleshooting

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

The tests should be able to create a temporary local machine account (ifstest). They also expect to have additional partitioned volumes.

Use a tool such as minispy to see what irps are traveling on the file system stack. Compare passing (default Windows install) with installs, including any failing driver.

For information about File System Behavior, go tohttp://download.microsoft.com/download/4/3/8/43889780-8d45-4b2e-9d3a-c696a890309f/File%20System%20Behavior%20Overview.pdf.

For documentation about the test variations, go tohttp://msdn.microsoft.com/en-us/library/ff563405(VS.85).aspx

Code Tour

File Manifest

File Location
ntlog.dll [WTT\TestBinRoot]\NTTest\CommonTest\Ntlog\
ntlogger.ini [WTT\TestBinRoot]\NTTest\CommonTest\Ntlog\
chg.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
chgfile.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
chgnotif.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
cleanupfiles.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
closedel.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
createkc.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
datacoh.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
decrypt.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
defrag.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
devctrl.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
dirinfo.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
dirpt.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
eainfo.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
encrypt.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
encryptvirus.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
enum.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
esecurit.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
estream.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
fileinfo.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
filelock.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
forcedis.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
fsctlgen.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
fsctlvol.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
IFSCFG.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifsmsg.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest-av.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest-av_wdk.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstestcleanup.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest_storagelogo.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ifstest_wdk.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ishell.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
linkpt.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
linktrak.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
mfile.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
mountpt.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
objectid.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
opcreatg.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
opcreatp.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
oplocks.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
quotas.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
readwr.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
reparspt.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
ResetAutoLogon.vbs [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
restoresystem.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
seccache.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
securit.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
setupsystem.cmd [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
skel.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
sparse.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
virus.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
volinfo.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
writevirus.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
xchg.exe [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
guidefile.dat [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\virusfiles\
virusfile1.evf [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\virusfiles\
virusfile2.evf [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\virusfiles\
virusfile3.evf [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\virusfiles\
virusfile4.evf [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\virusfiles\
createwttlog.vbs [WTT\TestBinRoot]\NTTest\basetest\core_file_services\LFS_Automation\common\
chgjourn.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\
fbslog.dll [WTT\TestBinRoot]\NTTest\basetest\core_file_services\shared_libs\fbslog\
RunIFSTests.cmd [WTT\TestBinRoot]\NTTest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\
WrapIFSTests.cmd [WTT\TestBinRoot]\NTTest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\
attachfilter.cmd [WTT\TestBinRoot]\NTTest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\

Test Assertions

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

The tests expect the partitions to be in place.

Build date: 9/14/2012