Skip to main content

resolve tests

[Plomberie profonde] Recherche les tests unitaires QL dans des répertoires donnés.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

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 resolve tests <options>... -- <test|dir>...

Description

[Plomberie profonde] Recherche les tests unitaires QL dans des répertoires donnés.

Cette commande de plomberie est chargée d’étendre les paramètres de ligne de commande des sous-commandes qui exécutent des tests unitaires QL, à une liste de fichiers .ql et .qlref individuels à exécuter.

Options

Options principales

<test|dir>...

Chaque argument est l’un des éléments suivants :

  • Fichier .ql ou .qlref qui définit un test à exécuter.
  • Répertoire dans lequel les tests à exécuter sont recherchés de façon récursive.

--slice=<N/M>

[Avancé] Diviser les cas de test en M tranches de taille approximativement égale et traiter seulement le Nième d’entre elles. Cela peut être utilisé pour la parallélisation manuelle du processus de test.

--[no-]strict-test-discovery

[Avancé] Utilise uniquement des requêtes qui peuvent être fortement identifiées en tant que tests. Ce mode tente de faire la distinction entre les fichiers .ql qui définissent des tests unitaires et les fichiers .ql destinés à être des requêtes utiles. Cette option est utilisée par les outils, tels que les IDE, qui doivent identifier tous les tests unitaires dans une arborescence de répertoires sans avoir besoin de savoir au préalable comment les fichiers y sont organisés.

Dans un pack QL dont qlpack.yml déclare un répertoire tests, tous les fichiers de ce répertoire sont considérés comme des tests, et les fichiers .ql et .ql en dehors de celui-ci sont ignorés. Dans un pack QL qui ne déclare pas de répertoire tests, un fichier .ql est identifié comme test uniquement s’il a un fichier .expected correspondant.

À des fins de cohérence, les fichiers .qlref sont limités par les mêmes règles que les fichiers .ql, même si un fichier .qlref ne peut pas vraiment être un non-test.

--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.