Confira !!
A Axis Communications publicou na sexta-feira "Roadtest" como seu conjunto inicial de patches para esta nova estrutura de teste de driver Linux.
Roadtest é uma estrutura de teste de driver de dispositivo em que os drivers são testados no User-Mode Linux contra hardware simulado/modelado. Tanto os testes quanto os modelos de hardware são escritos em Python. Com a modelagem de hardware da Roadtest, espera-se permitir pelo menos alguma cobertura básica de teste na falta de hardware presente nas configurações de integração contínua (CI). Por enquanto, pelo menos, o Roadtest só funciona com drivers bastante simples - como aqueles dentro dos subsistemas de E/S industrial (IIO), regulador e relógio em tempo real (RTC).
Aqui está um pouco mais da Axis nesta estrutura de teste de driver Roadtest Linux:
Este patchset propõe roadtest, uma estrutura de teste de driver de dispositivo. Os drivers são testados no User Mode Linux (UML) e interagem com hardware simulado/modelado. Os testes e modelos de hardware são escritos em Python, o primeiro usando o framework unittest embutido do Python.
Os drivers são testados por meio de suas interfaces de espaço de usuário. Os modelos de hardware permitem que os testes injetem valores nos registradores e asseverem que os drivers controlam o hardware da maneira correta e reagem conforme o esperado aos estímulos.
O Roadtest deve ser usado para drivers relativamente simples, como os que fazem parte dos subsistemas IIO, regulador e RTC.
...
Há uma grande quantidade desses tipos de drivers no kernel. A maior parte do hardware não está disponível nos sistemas CI atuais, portanto, a maioria dos drivers só pode, na melhor das hipóteses, ser testada por compilação. Mesmo a solidez básica, como um driver sondando e ligando com sucesso aos dispositivos que ele tenta suportar, não pode ser testada. Os drivers não podem ser facilmente testados por regressão para garantir que os bugs corrigidos uma vez não sejam reintroduzidos.
Muitos drivers suportam várias variantes de hardware relacionadas e, longe de todos os remetentes de patches, têm acesso a todas as variantes que o driver que estão corrigindo suporta, portanto, não há como verificar facilmente se não quebraram algo básico em uma variante que não possuem.
Além disso, o hardware pode ser usado em muitas configurações diferentes com drivers que suportam muitas propriedades de árvore de dispositivos diferentes, portanto, apenas ter acesso a todas as variantes seria insuficiente.
Além disso, alguns dos chips medem condições ambientais, como temperatura, portanto, testar casos extremos pode não ser simples, mesmo que se tenha acesso ao hardware.
Tudo isso torna o desenvolvimento, modificação, manutenção e revisão desses drivers mais difícil do que necessariamente precisa ser. A Roadtest espera tornar algumas dessas coisas um pouco mais fáceis, fornecendo uma estrutura para criar modelos/simulações de hardware e escrever casos de teste que exercitem drivers usando esses modelos.
No momento, o Roadtest foi enviado como uma série de patches inicial de "pedido de comentários" na lista de discussão do kernel . Veremos o que o Roadtest traz para facilitar mais testes de driver Linux e se ele pode acabar suportando hardware/subsistemas mais avançados, onde regressões e outros problemas tendem a ser muito mais urgentes.
Até a próxima !!
Nenhum comentário:
Postar um comentário