Skip to main content

test extract

[Asociación] Compila un conjunto de datos para un directorio de prueba.

¿Quién puede utilizar esta característica?

Las licencias de GitHub CodeQL se otorgan por usuario tras la instalación. Puedes usar CodeQL solo para determinadas tareas según las restricciones de las licencias. Para obtener más información, vea «Acerca de la CLI de CodeQL».

Si tienes una licencia de GitHub Advanced Security, puedes usar CodeQL para el análisis automatizado, la integración continua y la entrega continua. Para obtener más información, vea «Acerca de GitHub Advanced Security».

En este contenido se describe la versión más reciente de CodeQL CLI. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.

Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help en el terminal.

Sinopsis

Shell
codeql test extract <options>... -- <testDir>

Descripción

[Asociación] Compila un conjunto de datos para un directorio de prueba.

Compila una base de datos para un directorio de prueba especificado, sin ejecutar realmente ninguna consulta de prueba. Genera la ruta de acceso al conjunto de datos de QL sin procesar en el que ejecutar consultas de prueba.

Opciones

Opciones principales

<testDir>

[Obligatorio] Ruta de acceso al directorio de prueba.

--database=<dir>

Reemplaza la ubicación de la base de datos que se va a crear. De forma predeterminada, será un subdirectorio cuyo nombre se deriva del nombre del directorio de prueba en sí, con ".testproj" anexado.

--search-path=<dir>[:<dir>...]

Lista de directorios en los que pueden encontrarse los paquetes extractores. Los directorios pueden ser los paquetes extractores en sí o directorios que contienen extractores como subdirectorios inmediatos.

Si la ruta de acceso contiene varios árboles de directorios, su orden define la prioridad entre ellos: si el lenguaje de destino tiene coincidencias en más de uno de los árboles de directorio, tiene prioridad el que aparece primero.

Los extractores agrupados con la propia cadena de herramientas CodeQL siempre se encontrarán, pero si necesita usar extractores distribuidos por separado, debe proporcionar esta opción (o mejor aún, configurar --search-path en un archivo de configuración por usuario).

(Nota: En Windows, el separador de ruta de acceso es ;).

--cleanup

Quita la base de datos de prueba en lugar de crearla.

--[no-]show-extractor-output

[Avanzado] Muestra la salida de los scripts de extractor que crean bases de datos de prueba. Puede ser útil al desarrollar o editar casos de prueba. Ten en cuenta que puede causar salidas duplicadas o con formato incorrecto si se usa con varios subprocesos.

--[no-]check-undefined-labels

[Avanzado] Notifica errores de etiquetas no definidas.

--[no-]check-unused-labels

[Avanzado] Notifica errores de etiquetas sin usar.

--[no-]check-repeated-labels

[Avanzado] Notifica errores de etiquetas repetidas.

--[no-]check-redefined-labels

[Avanzado] Notifica errores de etiquetas redefinidas.

--[no-]check-use-before-definition

[Avanzado] Notifica errores de etiquetas usadas antes de definirlas.

--[no-]fail-on-trap-errors

[Avanzado] Sale con un valor distinto de cero si se produce un error durante la importación de capturas.

--[no-]include-location-in-star

[Avanzado] Construye identificadores de entidad que codifican la ubicación en el archivo TRAP del que proceden. Puede ser útil para la depuración de generadores TRAP, pero ocupa mucho espacio en el conjunto de datos.

--[no-]linkage-aware-import

[Avanzado] Controla si codeql dataset import reconoce la vinculación (valor predeterminado) o no. En los proyectos en los que esta parte de la creación de la base de datos consume demasiada memoria, deshabilitar esta opción puede ayudarles a avanzar a costa de la integridad de la base de datos.

Disponible desde la versión v2.15.3.

--format=<fmt>

Selecciona el formato de salida, ya sea text (predeterminado) o json.

Opciones comunes

-h, --help

Muestra este texto de ayuda.

-J=<opt>

[Avanzado] Asigna la opción a la JVM que ejecuta el comando.

(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).

-v, --verbose

Aumenta incrementalmente el número de mensajes de progreso impresos.

-q, --quiet

Reduce incrementalmente el número de mensajes de progreso impresos.

--verbosity=<level>

[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida -v y -q.

--logdir=<dir>

[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.

(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr y redirige stderr como quieras).

--common-caches=<dir>

[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado .codeql en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.