Teste de Syscache
Esse é um teste automatizado que grava em um arquivo e verifica se os dados gravados são lidos corretamente. Ele pode detectar corrompidos causados por qualquer coisa no caminho de firmware, drivers, sistema de arquivos, memória etc. Ele usa APIs padrão de gerenciamento de memória e sistema de arquivos Win32 para ler e gravar dados do arquivo. O binário de teste é readwrit.exe.
O Syscache abre um arquivo com um determinado sinalizador/atributo e grava no arquivo. Cada sinalizador escolhido pode abranger várias execuções no arquivo.
Uma execução é definida como um conjunto da seguinte sequência:
Criar/abrir um arquivo.
Trunque o filesize como 0.
Gravar no arquivo.
Feche o arquivo.
Reabra o arquivo.
Ler o arquivo.
Verifique o conteúdo do arquivo.
Feche o arquivo.
Há um conjunto de regiões zero e não zero no arquivo. Zero regiões são áreas no arquivo em que nenhum dado foi gravado. Regiões não zero são áreas no arquivo em que os dados foram gravados. O padrão é um DWORD do formato RRPPPPPP. Os dois primeiros bytes são o número de execução e os próximos três bytes são o complemento do deslocamento desse DWORD no arquivo.
Os seguintes atributos são usados para gravar um arquivo:
Atributo de Gravação | Explicação |
---|---|
FILE_ATTRIBUTE_NORMAL |
Consulte a Documentação de CreateFile() |
FILE_FLAG_SEQUENTIAL_SCAN |
Consulte a Documentação de CreateFile() |
FILE_FLAG_NO_BUFFERING |
Consulte a Documentação de CreateFile() |
FILE_FLAG_NO_BUFFERING |
Consulte a Documentação de CreateFile() |
FILE_FLAG_WRITE_THROUGH |
Consulte a Documentação de CreateFile() |
FILE_ATTRIBUTE_TEMPORARY |
Consulte a Documentação de CreateFile() |
NO_BUFFERING | WRITE_THROUGH |
Consulte a Documentação de CreateFile() |
FILE_ATTRIBUTE_SPARSE_FILE |
O arquivo é definido como esparso. |
NORMAL APPEND_WRITE |
O mesmo que FILE_ATTRIBUTE_NORMAL; fecha e reabre o arquivo por gravação e acrescentando a próxima região. |
FILE_FLAG_SECTOR_CHUNKS |
Assim como FILE_FLAG_NO_BUFFERING, os dados são gravados um setor por vez. |
FILE_MAP |
Assim como FILE_ATTRIBUTE_NORMAL, os dados são gravados por meio do mapeamento de memória. |
FILE_FLAG_OVEREXTEND |
Assim como FILE_ATTRIBUTE_NORMAL, os dados são gravados por meio do mapeamento de memória. |
Os seguintes atributos são usados para leitura do arquivo:
Atributo de leitura | Explicação |
---|---|
FILE_MAP |
FILE_ATTRIBUTE_NORMAL, os dados são lidos por meio do mapeamento de memória |
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 |
Detalhes do teste
Especificações |
|
Plataformas |
|
Versões com suporte |
|
Tempo de execução esperado (em minutos) | 180 |
Categoria | Desenvolvimento |
Tempo limite (em minutos) | 10800 |
Requer reinicialização | false |
Requer configuração especial | false |
Tipo | automático |
Documentação adicional
Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:
Executando o teste
Para obter mais informações sobre os requisitos, consulte Pré-requisitos de teste do sistema de arquivos.
Além disso, esse teste requer espaço extra no disco rígido para quatro partições simples de 2.048 megabytes (MB) e duas partições simples de 1.024 MB.
Antes de executar o teste, você deve adicionar as partições a seguir ao computador de teste.
Rótulo | Sistema de arquivos | Tamanho | Letra da unidade esperada |
---|---|---|---|
NTFS |
NTFS |
2.048 MB |
G: |
CNTFS |
NTFS (compactado) |
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 |
10240 mb |
o: |
Solucionando problemas
Para solução de problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.
Para obter informações de solução de problemas, consulte Solução de problemas de teste do sistema de arquivos.
Quando o teste falha, o log contém todas as informações necessárias para analisar a falha. Procure as seguintes informações para reproduzir o erro:
O "Atributo de Gravação". Pesquise a tabela de atributos de gravação para descobrir como os dados foram gravados no arquivo.
O "Atributo de Leitura". Pesquise a tabela de atributos de leitura para descobrir como os dados foram lidos no arquivo.
O deslocamento no qual o erro ocorreu.
A região do arquivo em que o erro ocorreu. O teste normalmente grava toda a região usando uma única gravação (com exceção da opção FILE_FLAG_SECTOR_CHUNKS).
Para executar esse teste, verifique se o computador tem volumes NTFS, CNTFS, FAT16, FAT32, ExFAT e UDF configurados. Além disso, verifique se a letra da unidade desse volume foi inserida nos parâmetros _DRIVE_LETTER <sistema> de arquivos.
Este teste retorna Pass ou Fail. Para examinar os detalhes do teste, examine o log de teste do Windows Hardware Lab Kit (Windows HLK) Studio.
Mais informações
Sintaxe de comando
Opção de comando | Descrição |
---|---|
WrapSyscache.cmd [NTFS_DRIVE_LETTER] [CNTFS_DRIVE_LETTER] [FAT_DRIVE_LETTER] [FAT32_DRIVE_LETTER] [EXFAT_DRIVE_LETTER] [UDF_DRIVE_LETTER] [WTTRunWorkingDir] |
Grava em um arquivo e verifica se os dados gravados são lidos corretamente |
Observação
Para obter ajuda de linha de comando para esse binário de teste, digite /h.
Lista de arquivos
Arquivo | Location |
---|---|
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\ |
Parâmetros
Nome do parâmetro | Descrição do parâmetro |
---|---|
NTFS_DRIVE_LETTER | A letra da unidade para o volume NTFS no qual o teste do Syscache será executado. |
CNTFS_DRIVE_LETTER | A letra da unidade para o volume NTFS compactado no qual o teste do Syscache será executado. |
FAT_DRIVE_LETTER | A letra da unidade para o volume FAT no qual o teste do Syscache será executado. |
FAT32_DRIVE_LETTER | A letra da unidade para o volume FAT no qual o teste do Syscache será executado. |
EXFAT_DRIVE_LETTER | A letra da unidade do volume ExFat em que o teste do Syscache será executado. |
UDF_DRIVE_LETTER | A letra da unidade para o volume UDF em que o teste do Syscache será executado. |
LLU_LclAdminUser | LLU para execução |
LLU_NetAccessOnly | LLU para cópia |
REFS_DRIVE_LETTER | A letra da unidade para o volume ReFS no qual o teste será executado. Insira NONE se não >= Servidor Win8. |