Skip to main content

test accept

Akzeptieren von Ergebnissen fehlerhafter Komponententests.

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

Beschreibung

Akzeptieren von Ergebnissen fehlerhafter Komponententests.

Dies ist ein praktischer Befehl, mit dem die Dateien vom Typ .actual, die von codeql test run bei fehlerhaften Tests hinterlassen werden, in .expected umbenannt werden, sodass zukünftige Testausführungen mit der gleichen Ausgabe als erfolgreich betrachtet werden. Dies kann zwar auch durch gewöhnliche Dateibearbeitung erreicht werden, die Syntax ist aber für diesen speziellen Fall praktischer.

Die Befehlszeilenargumente geben einen oder mehrere Tests (Dateien vom Typ .ql(ref)) an, und der Befehl leitet davon automatisch die Namen der Dateien vom Typ .actual ab. Jeder Test, der über keine Datei vom Typ .actual verfügt, wird im Hintergrund ignoriert, was es einfach macht, nur die Ergebnisse fehlerhafter Tests einer vorherigen Ausführung zu akzeptieren.

Optionen

Primäre Optionen

<test|dir>...

Jedes Argument ist entweder:

  • Eine Datei vom Typ .ql oder .qlref, die einen auszuführenden Test definiert
  • Ein Verzeichnis, das rekursiv nach auszuführenden Tests durchsucht wird

--slice=<N/M>

[Erweitert] Ermöglicht es, die Testfälle in m in etwa gleich große Segmente aufzuteilen und nur das n-te davon zu verarbeiten. Dieses Verfahren kann zur manuellen Parallelisierung des Testprozesses verwendet werden.

--[no-]strict-test-discovery

[Erweitert] Legt fest, dass nur Abfragen verwendet werden sollen, die eindeutig als Tests identifiziert werden können. In diesem Modus wird versucht, zwischen Dateien vom Typ .ql, die Komponententests definieren, und Dateien vom Typ .ql, bei denen es sich um hilfreiche Abfragen handelt, zu unterscheiden. Diese Option wird von Tools wie IDEs verwendet, die alle Komponententests in einer Verzeichnisstruktur identifizieren müssen, ohne auf Vorkenntnisse zur Anordnung der enthaltenen Dateien angewiesen zu sein.

Innerhalb eines QL-Pakets, dessen Datei qlpack.yml ein Verzeichnis vom Typ tests deklariert, werden alle Dateien vom Typ .ql in diesem Verzeichnis als Tests betrachtet, und Dateien vom Typ .ql außerhalb des Verzeichnisses werden ignoriert. In einem QL-Paket, das kein Verzeichnis vom Typ tests deklariert, wird eine Datei vom Typ .ql nur dann als Test identifiziert, wenn sie über eine entsprechende Datei vom Typ .expected verfügt.

Aus Konsistenzgründen gelten für Dateien vom Typ .qlref die gleichen einschränkenden Regeln wie für Dateien vom Typ .ql, auch wenn eine Datei vom Typ .qlref nicht wirklich ein Test sein kann.

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.