Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Testes do SysFund controlados por dados e o arquivo de configuração
Você pode encontrar os testes do SysFund controlados por dados em <raiz> EWDK descompactada\Arquivos de Programas\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund\DataDriven. O conjunto de testes controlado por dados consiste nos seguintes arquivos:
- Cinco DLL de teste que usam o arquivo de configuração XML WDTFTest.xml:
- Sysfund_Device_IO_DataDriven.dll
- Sysfund_PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven.dll
- Sysfund_PNP_RemoveAndRestartDevice_DataDriven.dll
- Sysfund_RebootRestart_With_IO_During_DataDriven.dll
- Sysfund_Sleep_With_IO_BeforeAndAfter_DataDriven.dll
- Duas DLL do utilitário que usam o arquivo de configuração XML WDTFTest.xml:
- Utility_DeviceStatusCheck_DataDriven.dll
- Utility_EnableDisableDriverVerifier_DataDriven.dll
- O arquivo de configuração XML:
- WDTFTest.xml
Sistema – Teste de E/S do Dispositivo
- Binário: Sysfund_Device_IO_DataDriven.dll
- Esse teste envia E/S para todos os dispositivos no sistema
Sistema – PNP (desabilitar e habilitar) com E/S antes e depois (Confiabilidade)
- Binário: Sysfund_PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven.dll
- Documentação
Sistema – PNP Remover Teste de Dispositivo (Confiabilidade)
- Binário: Sysfund_PNP_RemoveAndRestartDevice_DataDriven.dll
- Documentação
Sistema – Reinicializar a reinicialização com E/S durante (Confiabilidade)
- Binário: Sysfund_RebootRestart_With_IO_During_DataDriven.dll
- Documentação
Sistema – Suspensão com E/S antes e depois (SysFund de Confiabilidade)
- Binário: Sysfund_Sleep_With_IO_BeforeAndAfter_DataDriven.dll
- Documentação
Status marcar do dispositivo
- Binário: Utility_DeviceStatusCheck_DataDriven.dll
- Essa DLL do utilitário verifica se os códigos de problema dos dispositivos de destino são 0 (funcionando corretamente). Geralmente, ele é usado antes de executar os testes do SysFund para verificar se os dispositivos de destino estão funcionando corretamente.
Habilitar/desabilitar o Verificador de Driver
- Binário: Utility_EnableDisableDriverVerifier_DataDriven.dll
- Esse utilitário habilita ou desabilita o Verificador de Driver para os drivers associados aos dispositivos de destino.
Arquivo de configuração de teste controlado por dados
- Arquivo: WDTFTest.xml
- Esse arquivo contém todas as informações de configuração para os testes do SysFund controlados por dados e utilitários associados.
Configurar os testes
O arquivo de configuração de teste controlado por dados (WDTFTest.xml) contém vários elementos que definem os parâmetros passados para os testes e utilitários. Todos os testes e utilitários controlados por dados compartilham o mesmo arquivo de configuração (WDTFTest.xml). Por padrão, o arquivo de configuração configura os testes e utilitários para direcionar todos os dispositivos no sistema, mas isso pode ser facilmente personalizado para atender aos requisitos da aprovação de teste.
Conforme mostrado abaixo, o arquivo de configuração pode ser personalizado para que os testes e utilitários direcionem qualquer conjunto de dispositivos no sistema, de um dispositivo ou driver a todos os dispositivos e drivers.
Os testes e utilitários usarão apenas os elementos necessários e ignorarão todos os outros elementos.
WDTFTest.xml descrições e uso de parâmetros
Configurando a consulta SDEL
A linguagem SDEL é usada para criar a consulta que retorna os dispositivos direcionados pelos testes e utilitários. Reúna os seguintes parâmetros relacionados ao SDEL usando instruções AND para criar a consulta completa:
SDEL: o valor IsDevice especifica o conjunto completo de dispositivos no sistema. Normalmente, esse parâmetro não é editado, a menos que você queira testar apenas um driver ou dispositivo específico. Os próximos parâmetros relacionados ao SDEL criarão um subconjunto de dispositivos desse superconjunto especificando drivers ou dispositivos que devem ser excluídos do teste, para que esse parâmetro possa ser deixado inalterado.
<Parameter Name="SDEL">IsDevice</Parameter>
SdelExcludeVMDevnode: exclui nós de dispositivo que são críticos para a operação da VM e não podem ser desabilitados. Esse parâmetro deve ser deixado inalterado, pois não terá efeito se o sistema não for uma máquina virtual.
<Parameter Name="SdelExcludeVMDevnode">(DisplayName!='Microsoft Hyper-V Virtual Machine Bus')</Parameter>
SdelExcludeDrivers: esse é o local recomendado para usar o SDEL para excluir drivers e/ou dispositivos. Por exemplo, você pode usar isso para excluir drivers que têm bugs conhecidos ou para restringir o escopo do teste. A execução com o padrão de (DriverBinaryNames!='')
tem como destino todos os drivers de todos os dispositivos no sistema (exceto o nó de dispositivo "Microsoft Hyper-V Barramento de Máquina Virtual", conforme observado acima).
<Parameter Name="SdelExcludeDrivers">(DriverBinaryNames!='')</Parameter>
Parâmetros gerais de configuração de teste
TestCycles: especifica quantas iterações o teste deve executar.
<Parameter Name="TestCycles">1</Parameter>
IOPeriod Especifica quantos minutos de E/S devem ser executados.
<Parameter Name="IOPeriod">1</Parameter>
ResumeDelay: especifica quantos segundos esperar antes de enviar E/S após a retomada da suspensão.
<Parameter Name="ResumeDelay">10</Parameter>
Wpa2PskAesSsid: especifica o nome do ponto de acesso Wi-Fi de teste.
<Parameter Name="Wpa2PskAesSsid">WiFiRouterName</Parameter>
Wpa2PskPassword: especifica a senha do ponto de acesso Wi-Fi de teste.
<Parameter Name="Wpa2PskPassword">WiFiRouterPassword</Parameter>
Parâmetros que se aplicam somente a utility_enabledisabledriververifier_datadriven.dll
DriverVerifierLevel: o valor padrão de 0x209BB é igual a "sinalizadores padrão" para o Verificador de Driver.
<Parameter Name="DriverVerifierLevel">0x209BB</Parameter>
AddOnly: especifica que os resultados da consulta SDEL resultantes devem adicionar drivers ao Verificador de Driver sem remover nenhum. Isso será útil se o Verificador de Driver já estiver habilitado em um conjunto de drivers que devem ser acrescentados em vez de substituídos.
<Parameter Name="AddOnly">false</Parameter>
NoReboot: especifica que o computador não deve ser reinicializado automaticamente para habilitar as configurações do Verificador de Driver. Se o parâmetro NoReboot for definido como true, as configurações aumentadas do Verificador de Driver não entrarão em vigor até que o computador seja reinicializado manualmente.
<Parameter Name="NoReboot">false</Parameter>
Habilitar Verificador de Driver
Para ativar o Verificador de Driver, execute o seguinte comando:
te.exe utility_enabledisabledriververifier_datadriven.dll /name:Utility_DriverVerifier#0::EnableDriverVerifier /rebootstatefile=state.xml
Em determinados casos, o computador pode não ser reinicializado. Essa é uma limitação técnica conhecida da estrutura de teste. Se o computador não começar a reinicializar dentro de 30 segundos depois de alterar as configurações do Verificador de Driver com esse utilitário, você deverá reinicializar manualmente o computador para que as configurações atualizadas do Verificador de Driver entrem em vigor.
Após a reinicialização, abra um prompt de comando e execute o verificador /querysettings para garantir que o Verificador de Driver tenha sido habilitado.
Verificar se os dispositivos estão funcionando
Os testes do SysFund controlados por dados esperam que todos os dispositivos direcionados pelos testes tenham um Código de Problema 0 (funcionando corretamente). Para garantir que todos os dispositivos que estão sendo direcionados estejam funcionando corretamente, use o utilitário DeviceStatusCheck:
te.exe Utility_DeviceStatusCheck_DataDriven.dll
Esse utilitário usa as consultas SDEL definidas em WDTFTest.xml para localizar o conjunto de dispositivos em teste e verificar se todos eles têm o Código do Problema 0. Um resultado "Passado" significa que o conjunto de dispositivos consultados está funcionando corretamente. Examine TestTextLog.log para investigar falhas. Para obter uma explicação dos códigos de problema do Gerenciador de Dispositivos, consulte Gerenciador de Dispositivos Mensagens de Erro.
Iniciar um teste
Para iniciar qualquer um dos testes do SysFund controlados por dados, use os seguintes comandos:
te.exe Sysfund_PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven.dll
te.exe Sysfund_Sleep_With_IO_BeforeAndAfter_DataDriven.dll
Refinar o arquivo de configuração
Você deve fazer backup da cópia original do WDTFTest.xml antes de fazer alterações.
O arquivo de configuração de teste (WDTFTest.xml) pode ser refinado com base nos resultados dos testes do SysFund controlados por dados. Por exemplo, se um teste do SysFund controlado por dados for executado inicialmente visando todos os dispositivos no sistema e um determinado dispositivo ou driver falhar no teste, o arquivo de configuração de teste poderá ser atualizado para filtrar o teste desse dispositivo enquanto o bug é investigado. Isso permite que os testes continuem em paralelo enquanto os bugs são investigados.
Para filtrar um dispositivo específico, edite o elemento SdelExcludeDrivers no WDTFTest.xml. O código a seguir filtra mydriver.sys, por exemplo:
<Parameter Name="SdelExcludeDrivers">(DriverBinaryNames!=’mydriver.sys’)</Parameter>
Da mesma forma, o código a seguir filtra um dispositivo com base no Caminho da Instância do Dispositivo:
<Parameter Name="SdelExcludeDrivers">(DeviceId!=’my\device\id’)</Parameter>
Você pode criar consultas SDEL complexas para filtrar vários dispositivos:
<Parameter Name="SdelExcludeDrivers">(DriverBinaryNames!=’mydriver1.sys’ AND DriverBinaryNames!=’mydriver2.sys’)</Parameter>
Depois de corrigir os bugs em mydriver1.sys e mydriver2.sys, você pode redefinir o elemento SdelExcludeDrivers em WDTFTest.xml para o valor padrão para incluir esses drivers e dispositivos associados como destinos:
<Parameter Name="SdelExcludeDrivers">(DriverBinaryNames!='')</Parameter>
Solução de problemas
Consulta SDEL malformada no arquivo de configuração
A mensagem de erro a seguir indica uma consulta SDEL mal formada contida no arquivo de configuração WDTFTest.xml:
Error: Verify: SUCCEEDED(m_pDeviceDepot->Query(CComBSTR(DQ), &m_pTestTargets)) - Value (0x80070057) [File: onecore\base\tools\wdtf\tests\devfund\datadriven\sysfund_pnp_disableenable_with_io_beforeandafter_datadriven\test.cpp, Function: PNP_DisableEnable_With_IO_BeforeAndAfter::PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven_Test, Line: 231]
EndGroup: PNP_DisableEnable_With_IO_BeforeAndAfter::PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven_Test#0 [Failed]
O HRESULT '0x80070057' significa "E_INVALIDARG: um ou mais argumentos não são válidos". Marcar cuidadosamente o arquivo de configuração WDTFTest.xml na documentação do SDEL e procure uma consulta malformada que possa estar causando esse erro.
O teste está bloqueado porque pode reinicializar o computador
Determinados testes do SysFund podem reinicializar o computador durante o teste. Para executar um teste que pode reinicializar o computador, o parâmetro "/rebootstatefile" deve ser usado:
te.exe <testname> /rebootstatefile=state.xml
Se o parâmetro /rebootstatefile não for passado para o teste, a seguinte mensagem será exibida e o teste será bloqueado:
TestBlocked: TAEF: This test cannot be run as it might reboot the machine.
EndGroup: Sysfund_RebootRestart_With_IO_During::Sysfund_RebootRestart_With_IO_During_DataDriven_Test#0 [Blocked]
O teste é bloqueado porque a consulta SDEL contém caracteres '&'
Ao especificar uma consulta SDEL direcionada a um dispositivo com base no valor do Caminho da Instância do Dispositivo, os caracteres '&' no caminho devem ser substituídos por "&". A mensagem a seguir indica um arquivo de configuração WDTFTest.xml que contém caracteres '&' no caminho da instância do dispositivo:
TestBlocked: TAEF: [HRESULT: 0xC00CEE22] Error while getting value for 'SDEL' in table 'DataDrivenSysfundTable' in DataSource 'WDTFTest.xml' on line 24.
EndGroup: PNP_DisableEnable_With_IO_BeforeAndAfter::PNP_DisableEnable_With_IO_BeforeAndAfter_DataDriven_Test#error [Blocked]
Esse é o XML do arquivo de configuração WDTFTest.xml que gerou a mensagem de erro acima:
<Parameter Name="SDEL">IsDevice AND deviceid='PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0003&REV_00\4&91A2562&0&00E8'</Parameter>
Esse é o valor bem formado para deviceid que corrige o erro:
<Parameter Name="SDEL">IsDevice AND deviceid='PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0003&REV_00\4&91A2562&0&00E8'</Parameter>
Outros problemas
Para obter ajuda para solucionar outros problemas não listados aqui, consulte Documentação adicional de Device.DevFund.