Skip to main content

Testextrakt

[Plumbing] Erstellt ein Dataset für ein Testverzeichnis.

Wer kann dieses Feature verwenden?

CodeQL ist für die folgenden Repositorytypen verfügbar:

In diesem Artikel

Hinweis

In diesem Inhalt wird die neueste Version von CodeQL CLI beschrieben. Weitere Informationen zu diesem Thema findest du unter https://github.com/github/codeql-cli-binaries/releases.

Um Details zu den Optionen anzuzeigen, die für diesen Befehl in früheren Releases verfügbar sind, führe den Befehl mit der Option --help im Terminal aus.

Zusammenfassung

Shell
codeql test extract [--print-database] [--source-root=<dir>] <options>... -- <testDirectory>

Description

          \[Plumbing] Erstelle ein Dataset für ein Testverzeichnis.

Erstellt eine Datenbank für ein angegebenes Testverzeichnis, ohne die Testabfragen tatsächlich auszuführen. Gibt den Pfad zum unformatierten QL-Dataset aus, für das Testabfragen ausgeführt werden sollen.

Options

Primäre Optionen

<testDirectory>

          \[Erforderlich] Der Pfad zum Testverzeichnis.

--database=<dir>

Überschreibt den Speicherort der Datenbank, die erstellt wird. Standardmäßig handelt es sich um ein Unterverzeichnis, dessen Name vom Namen des Testverzeichnisses selbst abgeleitet wird, an den „.testproj“ angefügt wird.

-D, --print-database

Gibt den Pfad zur Datenbank, die erstellt wird, anstelle des darin enthaltenen Datasets aus.

-s, --source-root=<dir>

          \[Erweitert] Das Stammverzeichnis für den Quellcode, wenn es sich vom Testverzeichnis unterscheidet.

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

Eine Liste der Verzeichnisse, in denen Extraktorpakete gefunden werden können. Bei den Verzeichnissen handelt es sich entweder um die Extraktorpakete selbst oder um Verzeichnisse, die Extraktoren als unmittelbare Unterverzeichnisse enthalten.

Enthält der Pfad mehrere Verzeichnisstrukturen, bestimmt ihre Reihenfolge den Vorrang zwischen ihnen: Wenn die Zielsprache in mehr als einer der Verzeichnisstrukturen vorkommt, gilt die zuerst angegebene.

Die Extraktoren, die mit der CodeQL-Toolkette selbst gebündelt sind, werden immer gefunden. Wenn du jedoch separat verteilte Extraktoren verwenden musst, musst du diese Option angeben (oder, noch besser, --search-path in einer Konfigurationsdatei pro Benutzer*in einrichten).

(Hinweis: Unter Windows wird ; als Pfadtrennzeichen verwendet.)

--cleanup

Entfernt die Testdatenbank, anstatt sie zu erstellen.

--[no-]show-extractor-output

          \[Erweitert] Zeigt die Ausgabe von Extraktionsskripten an, die Testdatenbanken erstellen. Dies kann beim Entwickeln oder Bearbeiten von Testfällen hilfreich sein.

Beachte jedoch, dass dies bei der Verwendung mit mehreren Threads zu doppelten oder fehlerhaften Ausgaben führen kann!

--[no-]check-undefined-labels

          \[Erweitert] Fehler für undefinierte Bezeichnungen liefern.

--[no-]check-unused-labels

          \[Erweitert] Fehler für nicht verwendete Kennzeichnungen liefern.

--[no-]check-repeated-labels

          \[Erweitert] Fehler für wiederholte Kennzeichnungen liefern.

--[no-]check-redefined-labels

          \[Erweitert] Fehler für neu definierte Kennzeichnungen liefern.

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

          \[Erweitert] Reporting von Fehlern für Kennzeichnungen, die verwendet werden, bevor sie definiert sind.

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

          \[Erweitert] Beende das Programm mit einem Wert ungleich Null, wenn beim Trap-Import ein Fehler auftritt.

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

          \[Erweitert] Entitäten-IDs konstruieren, die den Ort in der TRAP-Datei kodieren, aus der sie stammen. Kann für das Debuggen von TRAP-Generatoren nützlich sein, nimmt aber viel Platz im Dataset ein.

--[no-]linkage-aware-import

          \[Erweitert] Steuert, ob [codeql dataset import](/code-security/codeql-cli/codeql-cli-manual/dataset-import) linkage-aware _(Standard)_ ist oder nicht. Bei Projekten, bei denen dieser Teil der Datenbankerstellung zu viel Arbeitsspeicher verbraucht, kann die Deaktivierung dieser Option den Fortschritt auf Kosten der Vollständigkeit der Datenbank fördern.

Verfügbar seit v2.15.3.

--format=<fmt>

Wähle das Ausgabeformat, entweder text(Standard) oder json.

Allgemeine Optionen

-h, --help

Zeigt diesen Hilfetext an.

-J=<opt>

          \[Erweitert] Gib der JVM, die den Befehl ausführt, eine Option.

(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)

-v, --verbose

Ermöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.

-q, --quiet

Ermöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.

--verbosity=<level>

          \[Erweitert] Lege die Ausführlichkeitsstufe explizit auf einen der Werte Fehler, Warnungen, Fortschritt, Fortschritt+, Fortschritt++, Fortschritt+++ fest. Überschreibt `-v` und `-q`:

--logdir=<dir>

          \[Erweitert] Detaillierte Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis schreiben, mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.

(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen --log-to-stderr an, und leite stderr wie gewünscht um.)

--common-caches=<dir>

          \[Erweitert] Steuert den Zwischenspeicherort von Datenträgern wie z. B. heruntergeladene LQ-Pakete und kompilierte Abfragepläne, die zwischen mehreren Ausführen des CLI erhalten bleiben sollen. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen `.codeql` festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.

Verfügbar seit v2.15.2.