Skip to main content

test extract

[Plomberie] Génère un jeu de données pour un répertoire de test.

Qui peut utiliser cette fonctionnalité ?

GitHub CodeQL est concédé sous licence par utilisateur lors de l’installation. Vous pouvez utiliser CodeQL uniquement pour certaines tâches soumises aux restrictions de licence. Pour plus d’informations, consultez « À propos de CodeQL CLI ».

Si vous disposez d’une licence GitHub Advanced Security, vous pouvez utiliser CodeQL pour l’analyse automatisée, l’intégration continue et la livraison continue. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

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

Description

[Plomberie] Génère un jeu de données pour un répertoire de test.

Crée une base de données pour un répertoire de test spécifié, sans exécuter réellement de requêtes de test. Génère le chemin du jeu de données QL brut sur lequel exécuter les requêtes de test.

Options

Options principales

<testDir>

[Obligatoire] Chemin du répertoire de test.

--database=<dir>

Remplace l’emplacement de la base de données en cours de création. Par défaut, il s’agit d’un sous-répertoire dont le nom est dérivé du nom du répertoire de test lui-même avec « .testproj » en plus.

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

Liste des répertoires sous lesquels les packs d’extracteur peuvent être trouvés. Les répertoires peuvent être les packs d’extracteur eux-mêmes ou les répertoires qui contiennent les extracteurs en tant que sous-répertoires immédiats.

Si le chemin contient plusieurs arborescences de répertoires, leur ordre définit la priorité entre elles : si le langage cible est mis en correspondance dans plusieurs arborescences de répertoires, celle donnée en premier gagne.

Les extracteurs en bundle avec la chaîne d’outils CodeQL elle-même sont toujours trouvés, mais si vous devez utiliser des extracteurs distribués séparément, vous devez donner cette option (ou, mieux encore, configurer --search-path dans un fichier de configuration par utilisateur).

(Remarque : Sur Windows, le séparateur de chemin est ;.)

--cleanup

Supprime la base de données de test au lieu de la créer.

--[no-]show-extractor-output

[Avancé] Affiche la sortie des scripts d’extracteur qui créent les bases de données de test. Peut être utile lors du développement ou de la modification de cas de test. Attention, cela peut générer une sortie dupliquée ou incorrecte si vous l’utilisez avec plusieurs threads !

--[no-]check-undefined-labels

[Avancé] Signale les erreurs pour les étiquettes non définies.

--[no-]check-unused-labels

[Avancé] Signale les erreurs pour les étiquettes non utilisées.

--[no-]check-repeated-labels

[Avancé] Signale les erreurs pour les étiquettes répétées.

--[no-]check-redefined-labels

[Avancé] Signale les erreurs pour les étiquettes redéfinies.

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

[Avancé] Signale les erreurs pour les étiquettes utilisées avant leur définition.

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

[Avancé] Sort une valeur non nulle si une erreur se produit lors de l’importation d’un fichier TRAP.

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

[Avancé] Construit des ID d’entité qui encodent l’emplacement dans le fichier TRAP dont ils proviennent. Peut être utile pour le débogage des générateurs TRAP, mais prend beaucoup d’espace dans le jeu de données.

--[no-]linkage-aware-import

[Avancé] Contrôle si l’importation de jeu de données codeql prend en compte les liaisons (par défaut) ou non. Sur les projets dans lesquels cette partie de la création de base de données consomme trop de mémoire, la désactivation de cette option peut les aider à progresser au détriment de la complétion de la base de données.

Disponible depuis v2.15.3.

--format=<fmt>

Sélectionne le format de sortie text (par défaut) ou json.

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.