Поделиться через


Тест Syscache

Это автоматизированный тест, который выполняет запись в файл и проверяет правильность считывания записанных данных. Он может обнаруживать повреждения, вызванные чем-либо в пути из встроенного ПО, драйверов, файловой системы, памяти и т. д. Он использует стандартные API-интерфейсы управления файловой системой Win32 и памятью для чтения и записи данных из файла. Тестовый двоичный файл readwrit.exe.

Syscache открывает файл с определенным флагом или атрибутом и выполняет запись в файл. Каждый выбранный флаг может охватывать несколько запусков в файле.

Выполнение определяется как набор из следующей последовательности:

  • Создайте или откройте файл.

  • Усечь размер файла до 0.

  • Запись в файл.

  • Закройте файл.

  • Повторно откройте файл.

  • Прочитать файл.

  • Проверьте содержимое файла.

  • Закройте файл.

В файле есть набор из нулевых и ненулевых областей. Ноль областей — это области в файле, в которых не были записаны данные. Ненулевыми регионами являются области в файле, в которые были записаны данные. Шаблон представляет собой DWORD формата RRPPPPPP. Два верхних байта являются номером выполнения, а следующие 3 байта являются дополнением к смещению этого DWORD в файле.

Для записи файла используются следующие атрибуты:

Атрибут записи Описание

FILE_ATTRIBUTE_NORMAL

См. документацию по CreateFile()

FILE_FLAG_SEQUENTIAL_SCAN

См. документацию по CreateFile()

FILE_FLAG_NO_BUFFERING

См. документацию по CreateFile()

FILE_FLAG_NO_BUFFERING

См. документацию по CreateFile()

FILE_FLAG_WRITE_THROUGH

См. документацию по CreateFile()

FILE_ATTRIBUTE_TEMPORARY

См. документацию по CreateFile()

NO_BUFFERING | WRITE_THROUGH

См. документацию по CreateFile()

FILE_ATTRIBUTE_SPARSE_FILE

Для файла задано значение разреженный.

ОБЫЧНЫЙ 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

 

Сведения о тесте

   
Характеристики
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.FileSystem.Functionality
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
  • Windows 10, мобильный выпуск (Arm)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 180
Категория Разработка
Время ожидания (в минутах) 10800
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Запуск теста

Дополнительные сведения о требованиях см. в разделе Предварительные требования для тестирования файловой системы.

Кроме того, для этого теста требуется дополнительное место на жестком диске для четырех простых секций размером 2048 МБ и двух простых секций размером 1024 МБ.

Перед запуском теста необходимо добавить следующие разделы на тестовый компьютер.

Метка Файловая система Размер Ожидаемая буква диска

NTFS

NTFS

2048 МБ

Г:

CNTFS

NTFS (сжатый)

2048 МБ

i:

FAT

FAT16

1 024 МБ

K:

FAT32

FAT32

1 024 МБ

l:

ExFAT

ExFAT

2048 МБ

М:

Определяемая пользователем функция

Определяемая пользователем функция

2048 МБ

N:

REFS

REFS

10240 МБ

O:

 

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок см. в разделе Устранение неполадок при тестировании файловой системы.

Если тест завершается сбоем, журнал содержит все сведения, необходимые для анализа сбоя. Чтобы воспроизвести ошибку, найдите следующие сведения:

  • Атрибут записи. Найдите таблицу атрибутов записи, чтобы узнать, как данные были записаны в файл.

  • Атрибут чтения. Найдите таблицу атрибутов чтения, чтобы узнать, как данные были считаны из файла.

  • Смещение, с которым произошла ошибка.

  • Область файла, в которой произошла ошибка. Тест обычно записывает весь регион с помощью одной операции записи (за исключением FILE_FLAG_SECTOR_CHUNKS параметра).

Чтобы выполнить этот тест, убедитесь, что на компьютере настроены тома NTFS, CNTFS, FAT16, FAT32, ExFAT и UDF. Кроме того, убедитесь, что буква диска для этого тома указана в параметрах файловой< системы>_DRIVE_LETTER.

Этот тест возвращает значение Пройдено или Сбой. Чтобы просмотреть сведения о тесте, просмотрите журнал тестирования из Windows Hardware Lab Kit (Windows HLK) Studio.

Дополнительные сведения

Синтаксис команды

Параметр команды Описание

WrapSyscache.cmd [NTFS_DRIVE_LETTER] [CNTFS_DRIVE_LETTER] [FAT_DRIVE_LETTER] [FAT32_DRIVE_LETTER] [EXFAT_DRIVE_LETTER] [UDF_DRIVE_LETTER] [WTTRunWorkingDir]

Выполняет запись в файл и проверяет правильность считывания записанных данных.

Примечание

   Для справки командной строки для этого тестового двоичного файла введите /h.

 

Список файлов

Файл Расположение

Ntlog.dll

<[osbinroot]>\nttest\CommonTest\NtLog\

Ntlogger.ini

<[osbinroot]>\nttest\CommonTest\NtLog\

Readwrit.exe

<[testbinroot]>\nttest\BASETEST\core_file_services\cachemgr\

RunSyscache.cmd

<[testbinroot]>\nttest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\

Stresslog.dll

<[testbinroot]>\nttest\basetest\core_file_services\shared_libs\

WrapSyscache.cmd

<[testbinroot]>\nttest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\

 

Параметры

Имя параметра Описание параметра
NTFS_DRIVE_LETTER Буква диска для тома NTFS, на котором будет выполняться тест Syscache.
CNTFS_DRIVE_LETTER Буква диска для сжатого тома NTFS, на котором будет выполняться тест Syscache.
FAT_DRIVE_LETTER Буква диска для тома FAT, на котором будет выполняться тест Syscache.
FAT32_DRIVE_LETTER Буква диска для тома FAT, на котором будет выполняться тест Syscache.
EXFAT_DRIVE_LETTER Буква диска для тома ExFat, на котором будет выполняться тест Syscache.
UDF_DRIVE_LETTER Буква диска для тома UDF, на котором будет выполняться тест Syscache.
LLU_LclAdminUser LLU для выполнения
LLU_NetAccessOnly LLU для копирования
REFS_DRIVE_LETTER Буква диска для тома ReFS, на котором будет выполняться тест. Введите NONE, если нет >= Win8 Server.