Linux en español
KUnit Test Kernel
Noticias

KUnit: un nuevo marco de prueba de unidades para el Kernel de Linux

4 minutos de lectura

El martes pasado, el ingeniero de Google, Brendan Higgins, anunció un conjunto experimental de 31 parches al presentar KUnit como un nuevo marco de prueba de unidades del Kernel de Linux para ayudar a preservar y mejorar la calidad del código del Kernel.

Este conjunto de parches propone que KUnit es un framework de pruebas para el Kernel de Linux.

HIT Closer

A diferencia de Autotest y kselftest, KUnit es un verdadero marco de pruebas que no requiere de la instalación del Kernel en una máquina de prueba o en una máquina virtual y además no requiere que las pruebas se escriban en el espacio de usuario que se ejecuta en un host.

Sobre KUnit

KUnit es un marco de prueba y simulación de unidades ligeras diseñado para el Kernel de Linux. Las pruebas unitarias necesariamente tienen una granularidad más fina, son capaces de probar todas las rutas de código resolviendo fácilmente el problema clásico de dificultad para ejercitar el código de manejo de errores.

KUnit está muy inspirado en JUnit, Python ‘s unittest.mock y Googletest / Googlemock para C ++ . KUnit proporciona facilidades para definir casos de pruebas unitarias, agrupar casos de pruebas relacionados en suites de pruebas, proporcionar una infraestructura común para ejecutar pruebas, simulacros, espionaje y mucho más.

Tal y como lo describe Brendan Higgins:

Se supone que una prueba de unidad prueba una sola unidad de código de forma aislada, de ahí el nombre. No debe haber dependencias fuera del control de la prueba; esto significa que no hay dependencias externas, lo que hace que los pedidos de pruebas De magnitudes más rápidas.

Asimismo, dado que no existen dependencias externas, no hay aros para saltar para ejecutar las pruebas. Además, este hace que las pruebas unitarias sean deterministas: una prueba unitaria fallida siempre indica un problema.

Finalmente, debido a que las pruebas unitarias necesariamente tienen una granularidad más fina, Son capaces de probar todas las rutas de código resolviendo fácilmente el problema clásico.

De dificultad para ejercitar el código de manejo de errores.

Test Kernel

Brenden escribe:

“Además, KUnit es rápido: desde la invocación hasta la finalización, KUnit puede ejecutar varias docenas de pruebas en menos de un segundo. Actualmente, todo el conjunto de pruebas de KUnit para KUnit se ejecuta en menos de un segundo desde la invocación inicial (excluido el tiempo de compilación)“.

Cuando se le preguntó si KUnit reemplazaría los otros marcos de prueba para el Kernel de Linux, Brenden lo negó, diciendo:

“La mayoría de las pruebas existentes para el Kernel de Linux son pruebas de extremo a extremo, que tienen su lugar. Un sistema bien probado tiene muchas pruebas unitarias, un número razonable de pruebas de integración y algunas pruebas de extremo a extremo.

KUnit solo está tratando de abordar el espacio de prueba de la unidad que actualmente no se está abordando“.

KUnit una solución para las pruebas en Linux 

KUnit resuelve el problema de poder ejecutar pruebas sin necesidad de una máquina virtual o hardware real como ARM, x86, X64 entre otras.

Sin embargo, a diferencia de otras arquitecturas, se compila en un programa independiente que puede ejecutarse como cualquier otro programa directamente dentro de un sistema operativo host; para ser claros, no requiere ningún soporte de virtualización; Es solo un programa regular.

KUnit es rápido. Excluyendo el tiempo de compilación, desde la ejecución hasta la finalización, KUnit puede ejecutar varias docenas de pruebas en solo 10 a 20 segundos.

Esto podría no parecer un gran problema para algunas personas, pero tener pruebas tan rápidas y fáciles de ejecutar cambia fundamentalmente la forma en que se realiza la prueba e incluso la escritura de código en primer lugar.

Fuera de KUnit, actualmente no hay marcos de prueba disponibles para el kernel que no requieran la instalación del kernel en una máquina de prueba o en una VM y todos requieren que las pruebas se escriban en el espacio de usuario que se ejecuta en el kernel; Esto es cierto para Autotest, y kselftest, descalificando a cualquiera de ellos de ser considerados marcos de prueba de unidad.

Noticia obtenida de blog.desdelinux.net

Valorar post

Entradas relaccionadas

Slimbook Elemental, una renovación «esencial» para el ultraportátil más asequible de la marca

Redacción

Disponible Fedora 41 con Linux 6.11, GNOME 47 y otras muchas novedades

Redacción

13 wallpapers generados con IA de libre distribución para celebrar Halloween

Redacción

Gentoo, nuevo proyecto asociado de Software in the Public Interest

Redacción

TEA eBook Reader: un lector de libros electrónicos basado en electron

Linux en Español

Valve publica el SDK de Steam Audio como código abierto

Redacción

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer más

Política de privacidad y cookies