Sobre el proyecto

El Driver Validation Suite es un marco de pruebas reutilizable y enchufable para validar controladores ADBC (Arrow Database Connectivity), desarrollado con Python y la biblioteca de pruebas pytest. Ejecuta diversas funcionalidades y tipos de datos ADBC mediante consultas SQL contra los controladores objetivo, y genera tablas de documentación que listan las características soportadas y no soportadas. La suite se adapta a particularidades de sintaxis y comportamiento específicas de cada sistema de base de datos. Los casos de prueba se organizan en el directorio queries/base, y cada prueba individual está compuesta por todos los archivos de un mismo directorio que comparten un nombre de archivo base. La suite admite tres tipos de consultas principales: 1. Consultas SELECT: Prueban la ejecución de una consulta y la validación de su resultado, compuestas por un archivo query.sql, el esquema de resultado esperado (query.schema.json), los datos de resultado esperados en formato JSON Lines (query.json), además de archivos opcionales de SQL de configuración, datos de parámetros de enlace, esquema de enlace y consulta de enlace. 2. Consultas de esquema: Prueban la recuperación del esquema del conjunto de resultados de una consulta sin ejecutarla, y solo requieren el archivo query.sql y el archivo de esquema esperado. 3. Consultas de ingesta: Prueban la ingesta masiva de datos Arrow seguida de la consulta de la tabla cargada, requiriendo archivos de esquema y datos de entrada, con esquema y datos de resultado esperados opcionales. Todos los casos de prueba pueden incluir un archivo de metadatos opcional query.toml para controlar el comportamiento de la prueba y la salida de documentación: la marca hide omite la ejecución de la prueba por completo para un controlador, la marca skip marca la prueba como no soportada con un motivo proporcionado, sort-keys define las columnas por las que se ordenan los conjuntos de resultados antes de la comparación, y las etiquetas pueden agregar advertencias, marcar soporte parcial o especificar el nombre de tipo SQL para la documentación. Los controladores pueden sobreescribir casos de prueba base con ajustes específicos del controlador colocando archivos en la misma ruta relativa en su directorio de particularidades designado, evitando la necesidad de duplicar casos de prueba completos. Como alternativa a las definiciones de prueba por archivos separados, se puede usar un solo archivo .txtcase, con comentarios // part: que marcan qué sección corresponde a cada tipo de archivo original. Los archivos .txtcase no se pueden mezclar con archivos separados para el mismo caso de prueba, ya que esto causará errores en la detección de pruebas. El proyecto indica que la documentación formal aún está en desarrollo, y recomienda a los usuarios consultar implementaciones existentes de controladores ADBC para aprender a integrar la suite de validación.