Installable File System Filter Test
This automated test verifies whether the behavior in the file system stack is consistent with the typical behavior of a file system. This is a regression test suite.
For more information about the behavior of file systems, see File System Behavior in the Microsoft Windows Environment.
Test details
Associated requirements |
Filter.Driver.AntiVirus.MiniFilter Filter.Driver.FileSystem.Functionality Filter.Driver.FileSystem.MiniFilter |
Platforms |
Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64) Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2 |
Expected run time |
~120 minutes |
Categories |
Certification |
Type |
Automated |
Running the test
If you are running this test on Windows 8, it must be the Professional or Ultimate version of Windows 8; otherwise, the test may fail.
In addition, this test requires extra hard drive space for four simple 2,048-megabyte (MB) partitions and two simple 1,024-MB partitions.
Use a system with 2 local disks. One disk is the boot disk with the system partition, while a completely separate disk is partitioned according to the test requirements.
For more information about requirements, see File System Testing Prerequisites.
Before you run the test, add the following partitions to the Windows environment.
Label | File system | Size | Expected drive letter |
---|---|---|---|
NTFS |
NTFS |
2,048 MB |
g: |
CNTFS |
NTFS (compressed) |
2,048 MB |
i: |
FAT |
FAT16 |
1,024 MB |
k: |
FAT32 |
FAT32 |
1,024 MB |
l: |
ExFAT |
ExFAT |
2,048 MB |
m: |
UDF |
UDF |
2,048 MB |
n: |
REFS |
REFS |
10240mb |
o: |
If the test system includes a policy of locking out new accounts, this test might return Blocked on the multiprocess variations if the local computer account Ifstest is locked out. You can then use Account Manager to unlock the account and rerun the suite. RunIFStest.cmd contains references to environment variables that you can change to allow for skipping of certain file systems.
RunIFStest.cmd contains references to environment variables that can be changed to allow for skipping of certain file systems.
Troubleshooting
The test creates a temporary local computer account (Ifstest). It also expects to have additional partitioned volumes. Use a tool such as Minispy to see which I/O request packets (IRPs) are traveling on the file system stack. Compare passing (default Windows installations) with installations, including any failing driver. For documentation about the test variations, see IFS Test in the MSDN® Library.
For general troubleshooting information, see Troubleshooting File System Testing.
This test returns Pass or Fail. The test uses Ntlog for logging the test results. To review test details, review the test log from Windows Hardware Certification Kit (Windows HCK) Studio.
More Information
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 |
File list
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\ |
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\IFS_TEST_KIT\virusfiles\ |
chgjourn.dll |
[WTT\TestBinRoot]\NTTest\basetest\core_file_services\LFS_Automation\common\ |
fbslog.dll |
[WTT\TestBinRoot]\NTTest\basetest\core_file_services\IFS_TEST_KIT\ |
RunIFSTests.cmd |
[WTT\TestBinRoot]\NTTest\basetest\core_file_services\shared_libs\fbslog\ |
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\ |