Cómo usamos Linux Test Project para probar y mejorar Linux

el proyecto de prueba de linux (LTP) es un conjunto de pruebas integrado de propósito general diseñado para ayudar a las organizaciones que usan y desarrollan Linux a comprender mejor qué funciona y qué aún necesita funcionar. Incluye pruebas de regresión y conformidad diseñadas para confirmar el comportamiento del kernel de Linux y glibc. Sus herramientas y conjuntos de pruebas tienen como objetivo verificar el kernel de Linux y los subsistemas asociados.

En resumen, el Proyecto de prueba de Linux (LTP) tiene como objetivo probar y mejorar Linux. Su objetivo es proporcionar un conjunto de herramientas de prueba automatizadas para Linux y publicar los resultados de las pruebas que ejecutan. Por ejemplo, usamos pruebas de LTP en Red Hat Enterprise Linux (RHEL) para mejorar el kernel de Linux y las bibliotecas del sistema.

(Chun Cui, CC BY-SA 4.0)

¿Qué es RHTS-LTP?

LTP tiene un ritmo constante de desarrollo; lanza una nueva versión estable del conjunto de pruebas cada cuatro meses. La rama principal de LTP upstream todavía está en desarrollo. RHEL publica un feed menor cada seis meses y proporciona una actualización importante cada tres años. Esto significa que el entorno de producción de RHEL necesita un conjunto de pruebas diverso, seguro, altamente eficiente y confiable. Por esta razón, Red Hat mantiene una versión interna de LTP llamada Red Hat Test Suite-Linux Test Project (RHTS-LTP).

Comprender el flujo de trabajo entre upstream y Red Hat

RHTS-LTP no funciona de forma aislada. Se basa en lo que proporciona LTP y envía parches en sentido ascendente. Desde una perspectiva de ingeniería, este es el flujo de trabajo general:

  1. Elija una versión de paquete estable anterior como línea de base
  2. Adaptar las nuevas correcciones de la rama más reciente, que incluye:
    • Actualización de vulnerabilidades y exposiciones comunes (CVE) y casos de prueba de emergencia
    • Corrección de errores para el marco o el defecto de prueba
  3. Envíe el parche aguas arriba para resolver problemas comunes
    • Corrección de errores, nueva prueba de regresión, etc.
(Chun Cui, CC BY-SA 4.0)

Correcciones de retroadaptación

El proceso de desarrollo, en el nivel de proyecto anterior, se ve así:

ltp-completo-20210121 -> ltp-completo-20210524 -> ltp-completo-20210927 -> ltp-completo-siguiente

Solo la versión estable se carga en RHTS-LTP. Por lo tanto, ltp-full-20210927 con sus correcciones se usa en la prueba interna. Por lo general, las correcciones que resuelven problemas críticos comunes, errores de regresión de RHEL o el marco de prueba en sí son retroportados.

[ Register for the free online course Red Hat Enterprise Linux Technical Overview to learn basic practical techniques for Linux and system administration tasks. ]

La versión estable de la fuente de prueba LTP se publica cada cuatro meses. Después de realizar pruebas centralizadas y solucionar problemas con algunas de las principales distribuciones de Linux, la versión de prueba se etiqueta con la fecha más reciente. Luego, los gerentes de proyecto lo descargan como un archivo comprimido y los usuarios pueden descargarlo desde el LTP GitHub.

Antes de construir RHTS-LTP en la etapa final, se aplican ciertas configuraciones internas (parámetros importantes, firmware, etc.) para adaptarlo al entorno RHEL o a un sistema de hardware de prueba específico. Después de eso, se aplican muchas correcciones solo de RHEL para crear el binario LTP.

Ordenar problemas conocidos

El propósito de la prueba es identificar errores, y los errores solo se corrigen si se informan. La parte más importante de RHTS-LTP es el proceso de clasificación de problemas, que ayuda a los usuarios internos a distinguir los problemas conocidos de los desconocidos. Red Hat mantiene una lista interna de problemas LTP conocidos para que las pruebas puedan ignorar los falsos positivos o corregir los errores que los causan.

La lista de problemas conocidos de LTP se basa en varias versiones de RHEL para garantizar la compatibilidad de LTP en Tareas de vaso, incluidos RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9 y versiones anteriores. Cuando falla un caso de RHTS-LTP durante el tiempo de ejecución, se verifica la lista de problemas conocidos para identificar si la herramienta LTP está defectuosa o si la versión de RHEL requiere correcciones.

Esto sin duda beneficia a los usuarios internos que prueban versiones principales y secundarias, especialmente para varias líneas de productos, para localizar problemas rápidamente.

(Chun Cui, CC BY-SA 4.0)

Examen de la mecánica del RHTS-LTP

El RHTS-LTP consta de cuatro partes:

  • Paquete LTP estable
  • parches aguas arriba
  • Configuración interna
  • Filtrado de problemas conocidos

Siempre elegimos la última versión estable de LTP y luego agregamos nuestras modificaciones personalizadas para crear un conjunto de pruebas dedicado para RHEL.

Aquí está el proceso completo de mantenimiento de LTP en forma de diagrama:

(Chun Cui, CC BY-SA 4.0)

Compatibilidad con versiones secundarias derivadas

Además de la configuración especial y el manejo de problemas conocidos, RHTS-LTP también proporciona una biblioteca compartida para admitir versiones de prueba más derivadas para uso dedicado en diferentes equipos funcionales. Todos usan la versión estable LTP común, con los mismos problemas conocidos, aunque el foco está en diferentes componentes. Éstas incluyen:

  • Prueba RHTS-Ltp-lite
  • Prueba del sistema de archivos RHTS-Ltp
  • RHTS-Ltp-prueba-genérica
  • RHTS-Ltp-openposix-prueba
  • RHTS-Ltp-git-prueba
(Chun Cui, CC BY-SA 4.0)

LTP también se está implementando para las pruebas de CentOS Stream y el soporte futuro para varios kernels en Red Hat (incluidos ark-kernel, mainline-kernel y cki-testing). Casi todas las bifurcaciones nuevas se basan en esto con algún trabajo de desarrollo secundario. Los mantenedores internos intercambian información a través de la biblioteca de inclusión y trabajan en estrecha colaboración para permitir una solución de problemas eficiente.

Índice
  • Prueba juntos
  • Prueba juntos

    La prueba es una parte vital de la garantía de calidad, y todos queremos que Linux tenga la más alta calidad de manera constante. Esto hace que LTP y RHTS-LTP sean partes importantes del desarrollo de Linux.

    Linux no es solo un gran proyecto; es diversa y generalizada. Las contribuciones a las pruebas provienen de la comunidad. Ya sea que esta contribución sea en forma de parche o de configuración especializada, definitivamente tiene un impacto positivo en la rama ascendente. Promueve un crecimiento saludable de LTP y mejores pruebas en el desarrollo de software. Con CentOS Stream trabajando más de cerca que nunca con RHEL, la participación de la comunidad es aún más fácil que nunca. Visita el Wiki LTP para averiguar cómo puede participar.

    Artículos de interés

    Subir

    Si continuas utilizando este sitio aceptas el uso de cookies. Más información