Syscache(系统)
此数据验证测试在系统卷上运行。 它向文件写入数据,并验证写入的数据正确读回。 它可以检测由路径中任何内容(包括固件、驱动程序、文件系统、内存等)导致的损坏。它使用标准 Win32 文件系统和内存管理 API 从文件中读取数据以及向文件写入数据。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 15 |
类别 | 方案 |
超时(以分钟为单位) | 900 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:WDTF 系统基础测试先决条件。
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查系统基础功能测试问题。
当测试失败时,日志包含分析失败所需的所有信息。 查找以下信息以重现错误:
“写入属性”。 查找写入属性表,查明数据写入到文件的方式。
“读取属性”。 查找读取属性表,查明从文件读回数据的方式。
发生错误的偏移量。
文件中发生错误的区域。 测试通常通过单个写入操作写入整个区域(使用 FILE_FLAG_SECTOR_CHUNKS 选项时除外,该选项一次写入一个扇区)。
详细信息
Syscache 将打开具有特定标志/属性的文件,并向该文件写入数据。 每个所选标志可能跨文件上的多次运行。
运行定义为以下一组序列:
创建/打开文件。
将文件大小截断为 0。
向文件写入数据。
关闭 文件。
再次打开该文件。
读取文件。
验证文件的内容。
关闭 文件。
文件中有一组零区域和非零区域。 零区域是文件中未写入数据的区域。 非零区域是文件中已写入数据的区域。 此模式是 RRPPPPPP 格式的 DWORD,其中顶部字节是运行编号,接下来的 3 个字节是此 DWORD 在文件中的偏移量的二进制反码。 忽略扇区的第一个 DWORD,因为它可能包含用于测试的数据。
以下属性用于写入文件:
写入属性 | 说明 |
---|---|
FILE_ATTRIBUTE_NORMAL | 请参阅 CreateFile 函数。 |
FILE_FLAG_SEQUENTIAL_SCAN | 请参阅 CreateFile 函数。 |
FILE_FLAG_NO_BUFFERING | 请参阅 CreateFile 函数。 |
FILE_FLAG_WRITE_THROUGH | 请参阅 CreateFile 函数。 |
FILE_ATTRIBUTE_TEMPORARY | 请参阅 CreateFile 函数。 |
NO_BUFFERING | WRITE_THROUGH | 请参阅 CreateFile 函数。 |
FILE_ATTRIBUTE_SPARSE_FILE | 文件设置为稀疏。 |
NORMAL APPEND_WRITE | 与 FILE_ATTRIBUTE_NORMAL 相同;每次写入都关闭并重新打开文件,并追加下一个区域。 |
FILE_FLAG_SECTOR_CHUNKS | 与 FILE_FLAG_NO_BUFFERING 相同,数据一次写入到一个扇区。 |
FILE_MAP | 与 FILE_ATTRIBUTE_NORMAL 相同,通过内存映射写入数据。 |
FILE_FLAG_OVEREXTEND | 与 FILE_ATTRIBUTE_NORMAL 相同,通过内存映射写入数据。 |
以下属性用于从文件读取数据:
写入属性 | 说明 |
---|---|
FILE_MAP | FILE_ATTRIBUTE_NORMAL,通过内存映射读取数据 |
NO_BUFFERING | FILE_FLAG_NO_BUFFERING |
NORMAL | FILE_ATTRIBUTE_NORMAL |
RANDOM_ACCESS | FILE_FLAG_RANDOM_ACCESS |
SEQUENTIAL_SCAN | FILE_FLAG_SEQUENTIAL_SCAN |
TEMPORARY | FILE_FLAG_TEMPORARY |
WRITE_THROUGH | FILE_FLAG_WRITE_THROUGH |
命令语法
命令 | 说明 |
---|---|
readwrit.exe -n 10 -d /logfile Syscache.log | 运行测试。 |
文件列表
文件 | 位置 |
---|---|
readwrit.exe | <[testbinroot]>\NTTest\BASETEST\core_file_services\cachemgr\ |
ntlog.dll | <[osbinroot]>\NTTest\CommonTest\NtLog\ |
ntlogger.ini | <[osbinroot]>\NTTest\CommonTest\NtLog\ |
stresslog.dll | <[testbinroot]>\NTTest\basetest\core_file_services\shared_libs |
Parameters
参数名称 | 参数说明 |
---|---|
LLU_NetAccessOnly | 用于网络访问的 LLU |