FAT Keyword Search Test Description
Description of Test Results
Introduction
This is a description of the test cases and test images that can be found here. 
The Standard Tests are outlined here. The test cases were designed so that the tool design could be learned. As is shown, just because a tool does not find a string, does not mean that the tool has a bug. The test image is a FAT file system with 1 cluster per sector. 
Description
The index numbers in this list correspond to the test number. 
The 'first' string is in the allocated space of a cluster. If this string is found, then the tool likely examines the allocated space of a cluster. 
The 'SECOND' string is in the allocated space of a cluster. The string also exists in the directory entry listings because a file exists with the same name. If this string is found twice, then the tool likely searches the meta data structures in addition to just the data area. 
The '1cross1' string starts in the allocated space of a cluster of one file and ends in the next consecutive cluster, which is allocated to a second file. If this string is found, then the tool likely looks at all clusters together for the string. 
The '2cross2' string starts in the allocated space of one cluster in a file and ends in the next consecutive cluster, which is allocated to the same file. If this string is found, then the tool either looks at all clusters at a time or reconstructs the files before searching them. See string 9 for a related test. 
The '3cross3' string starts at the end of one unallocated cluster and ends in the next consecutive cluster, which is also unallocated. If this string is found, then the tool likely searches unallocated space as a large chunk of data and not each cluster individually. 
The '1slack1' string starts in the allocated space of a cluster and ends in the slack space of the same cluster. If this string is found, then the tool likely does not use the file boundaries within a cluster to find the string. 
The '2slack2' string starts in the slack space of a file and ends in the allocated space of the next consecutive cluster, which is allocated to a different file. If this string is found, then the tool likely does not use file boundaries to find the string. 
The '3slack3' string starts and ends in the slack space of a file. If this string is found, then the tool likely examines the slack space during the search. 
The '1fragment1' string starts at the end of a cluster in a file and ends in the next cluster of the file. The two cluster are fragmented though. If this string is found, then the tool likely puts the clusters of the file together before performing the search. 
The '2fragment sentence2' string starts at the end of one cluster in a file and ends in the next cluster of the file. The two cluster are fragmented and the space is the last value in the first cluster. If this string is found, then the tool likely puts the clusters of the file together before performing the search. 
The 'deleted' string starts and ends in an unallocated cluster. If this string is found, then the tool likely examines the unallocated space of the image when searching for the string. 
The 'a?b\c*d$e#f[g^' string starts and ends in the allocated space of a cluster. If this is found, then the tool likely escapes grep regular expression values properly (if needed). 
References
http://dftt.sourceforge.net/test2
Brian Carrier 
NOTE: This work is not the result of Purdue University or CERIAS sponsored research.