Skip to main content

test extract

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

Wer kann dieses Feature verwenden?

GitHub CodeQL wird nach der Installation auf Benutzerbasis lizenziert. Du kannst CodeQL nur für bestimmte Aufgaben unter den Lizenzeinschränkungen verwenden. Weitere Informationen findest du unter Informationen zur CodeQL-CLI.

Wenn du über eine GitHub Advanced Security-Lizenz verfügst, kannst du CodeQL für eine automatisierte Analyse sowie für Continuous Integration und Continuous Delivery verwenden. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

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.

Übersicht

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

Beschreibung

[Plumbing] Erstellt 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.

Optionen

Primäre Optionen

<testDir>

[Obligatorisch] 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.

--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 Extraktorskripts 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] Meldet Fehler für nicht definierte Bezeichnungen.

--[no-]check-unused-labels

[Erweitert] Meldet Fehler für nicht genutzte Bezeichnungen.

--[no-]check-repeated-labels

[Erweitert] Meldet Fehler für wiederholte Bezeichnungen.

--[no-]check-redefined-labels

[Erweitert] Meldet Fehler für neu definierte Bezeichnungen.

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

[Erweitert] Meldet Fehler für Bezeichnungen, die verwendet werden, bevor sie definiert wurden.

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

[Erweitert] Führt zu einer Beendigung ungleich null, wenn beim TRAP-Import ein Fehler auftritt.

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

[Erweitert] Erstellt Entitäts-IDs, die den Speicherort in der TRAP-Datei codieren, 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 der Import von Codeql-Datasets verknüpfungsfähig (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>

Dient zum Auswählen des Ausgabeformats: text (Standardwert) oder json

Allgemeine Optionen

-h, --help

Zeigt diesen Hilfetext an.

-J=<opt>

[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.

(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] Dient zum expliziten Festlegen des Ausführlichkeitsgrads auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt -v und -q:

--logdir=<dir>

[Erweitert] Ermöglicht das Schreiben detaillierter Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis 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 Speicherort zwischengespeicherter Daten auf dem Datenträger, der zwischen mehreren Ausführungsvorgängen der CLI beibehalten wird, z. B. heruntergeladene QL-Pakete und kompilierte Abfragepläne. 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.