Os verificadores de status do sistema (SSCs) são definidos na configuração e no pacote executados entre cada módulo. Eles executam verificações para determinar se o módulo mudou e não restaura alguns estados, por exemplo, a alteração de uma propriedade do sistema .
As SSCs são usadas principalmente para garantir que os autores dos módulos não se esqueçam de limpar depois dos testes. mas, se o fizerem, deixem um rastro para que possam ser resolvidos.
Um uso secundário também é restaurar o estado original quando possível, por exemplo dispensando o bloqueio de teclado caso ele tenha ficado aberto.
Definição do XML do verificador de status do sistema
<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />
As SSCs são definidas na tag system_checker
na configuração da Tradefed.
XML
Implementação
Toda CIS precisa implementar o ISystemStatusChecker
interface,
que fornece os dois métodos principais preExecutionCheck
e postExecutionCheck
que são executadas antes e depois
de cada execução do módulo.
O verificador pode implementar somente uma das duas ou tanto se houver necessidade de verificar o estado antes do módulo e compará-lo com o estado após o módulo.
Vários exemplos
implementações
existem no Tradefed. Recomendamos que cada implementação se concentre em uma única verificação
para melhorar a reutilização. Por exemplo:
SystemServerStatusCheck
verifica se o processo do system_server
foi reiniciado no dispositivo durante a
execução do pacote de testes. Na postExecutionCheck
, ele chama deviceSoftRestarted
,
que é definido em
NativeDevice
para verificar se o processo system_server
foi reiniciado.
Cada operação retorna
StatusCheckerResult
,
que permite que o arcabouço decida se informações adicionais, como um relatório do bug,
precisam ser capturados.
Onde eles são definidos no CTS?
Os verificadores de status do sistema CTS são definidos em /test/suite_harness/tools/cts-tradefed/res/config/cts-system-Verifiers.xml
Como encontrar falhas do verificador
Por padrão, as falhas do verificador do sistema aparecem apenas nos registros e como relatórios de bugs
capturada para a invocação com o nome seguindo o formato
bugreport-checker-post-module-<module name>.zip
:
Isso permite que você descubra em qual módulo o relatório do bug foi gerado.
É possível fazer o relatório do verificador de sistema como uma falha de teste,
definindo a opção --report-system-checkers
como true
. Isso resulta em um
A execução do teste aparece como reprovada, sendo o verificador de status o motivo da falha
verificação específica.