Resumen:
|
[ES] El presente proyecto plantea, en el ámbito del diseño digital y la verificación funcional, un sistema de automatización de regresiones.
Existe un repositorio compartido donde se suben tanto los ficheros de diseño ...[+]
[ES] El presente proyecto plantea, en el ámbito del diseño digital y la verificación funcional, un sistema de automatización de regresiones.
Existe un repositorio compartido donde se suben tanto los ficheros de diseño digital (Hardware Description Language, HDL) como los ficheros de verificación. Los ficheros en el repositorio deben ser correctos en todo momento. De no ser así, el desarrollo podría ser detenido hasta que el responsable del error solucionara el problema. A la larga, esto supondría retrasos en las entregas del proyecto.
El objetivo de este proyecto es diseñar una herramienta que automatice y facilite la comprobación de los ficheros que se suben al repositorio.
Dicha herramienta es un script escrito en Python. Este lanzará regresiones de test contra los ficheros en el momento en que se intenten subir al repositorio, denegando la subida de los mismos si no se completan las regresiones con un grado de éxito especificado por el usuario.
Además, este script realizará otros aspectos como:
¿ Creación de espacios de trabajo de manera eficiente,
¿ Control del número de licencias disponibles y asignación eficiente de estas,
¿ Elección de tipos de test a realizar (tanto en alcance como en profundidad),
¿ Manejo de eventos multiusuario (dos o más usuarios intentan subir al mismo tiempo),
¿ Control del rigor de los tests (definir el porcentaje de test exitosos con el que se permite la subida al repositorio),
¿ Test de código que ha sido subido sin utilizar el propio script,
¿ Notificaciones al usuario de los resultados obtenidos con el script (pantalla del terminal y correo electrónico).
[-]
[EN] This project proposes, in the field of digital design and functional verification, a regression automation system. There is a shared repository where both the digital design files (Hardware Description Language, HDL) ...[+]
[EN] This project proposes, in the field of digital design and functional verification, a regression automation system. There is a shared repository where both the digital design files (Hardware Description Language, HDL) and the verification files are uploaded. The files in the repository must be correct at all times. If this is not the case, development could be halted until the bug fixes the problem. In the long run, this would lead to delays in project deliveries. The aim of this project is to design a tool that automates and facilitates the checking of the files uploaded to the repository. The tool is a script written in Python. It will run test regressions against the files as soon as they are attempted to be uploaded to the repository, denying the upload if the regressions do not complete with a user-specified degree of success. In addition, this script will perform other aspects such as:
¿ Efficient workspace creation,
¿ Control of the number of available licenses and efficient allocation of these,
¿ Choice of test types to be performed (both in scope and depth),
¿ Handling of multi-user events (two or more users trying to upload at the same time),
¿ Test rigour control (define the percentage of successful tests that are allowed to be uploaded to the repository),
¿ Test code that has been uploaded without using the script itself,
¿ Notifications to the user of the results obtained with the script (terminal screen and email).
[-]
|