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
Specifications |
|
Platforms |
|
Supported Releases |
|
Expected run time (in minutes) | 120 |
Category | Development |
Timeout (in minutes) | 7200 |
Requires reboot | false |
Requires special configuration | false |
Type | automatic |
Additional documentation
Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):
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
For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.
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 Lab Kit (Windows HLK) Studio.
More information
Command option | Description |
---|---|
IfsTest.exe |
%DRIVE_ltr% -g Virus /n .\Ifstest-Local-NtfsResults.log /N 356789AB /T /p /m /E /j /r c: -d \Ntfs -a \datacoh.exe /u ifstest /U *rs53w52 |
-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\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\ |
Parameters
Parameter name | Parameter description |
---|---|
NTFS_DRIVE_LETTER | The drive letter for the NTFS volume that the IFS Test Kit will run on. |
CNTFS_DRIVE_LETTER | The drive letter for the compressed NTFS volume that the IFS Test Kit will run on. |
FAT_DRIVE_LETTER | The drive letter for the FAT16 volume that the IFS Test Kit will run on. This volume must be greated than 1 Gb. and less than 2 Gb. |
FAT32_DRIVE_LETTER | The drive letter for the FAT32 volume that the IFS Test Kit will run on. |
LLU_LclAdminUser | LLU for execute |
LLU_NetAccessOnly | LLU for copy |
EXFAT_DRIVE_LETTER | The drive letter for the ExFat volume that the IFS Test Kit will run on. |
UDF_DRIVE_LETTER | The drive letter for the UDF volume that the IFS Test Kit will run on. |
DRIVER_UNDER_TEST | |
REFS_DRIVE_LETTER | The drive letter for the ReFS volume that the test will run on. Enter NONE if not >= Win8 Server. |