Debuggen Sie benutzerdefinierte Testsuiten und führen Sie sie aus - Kostenlos RTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Debuggen Sie benutzerdefinierte Testsuiten und führen Sie sie aus

Nachdem die erforderliche Konfiguration festgelegt wurde, kann IDT Ihre Testsuite ausführen. Die Laufzeit der vollständigen Testsuite hängt von der Hardware und der Zusammensetzung der Testsuite ab. Als Referenz: Es dauert ungefähr 30 Minuten, bis die vollständige FreeRTOS-Qualifizierungstestsuite auf einem Raspberry Pi 3B abgeschlossen ist.

Während Sie Ihre Testsuite schreiben, können Sie IDT verwenden, um die Testsuite im Debug-Modus auszuführen, um Ihren Code vor der Ausführung zu überprüfen oder ihn Testläufern zur Verfügung zu stellen.

Führen Sie IDT im Debug-Modus aus

Da Testsuiten auf IDT angewiesen sind, um mit Geräten zu interagieren, den Kontext bereitzustellen und Ergebnisse zu erhalten, können Sie Ihre Testsuiten nicht einfach ohne IDT-Interaktion in einer IDE debuggen. Zu diesem Zweck stellt die IDT-CLI den debug-test-suite Befehl bereit, mit dem Sie IDT im Debug-Modus ausführen können. Führen Sie den folgenden Befehl aus, um die verfügbaren Optionen für anzuzeigen: debug-test-suite

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

Wenn Sie IDT im Debug-Modus ausführen, startet IDT weder die Testsuite noch den Test-Orchestrator. Stattdessen interagiert IDT mit Ihrer IDE, um auf Anfragen von der in der IDE ausgeführten Testsuite zu antworten und die Protokolle auf der Konsole auszudrucken. IDT hat kein Timeout und wartet mit dem Beenden, bis es manuell unterbrochen wird. Im Debug-Modus führt IDT auch den Test-Orchestrator nicht aus und generiert keine Berichtsdateien. Um Ihre Testsuite zu debuggen, müssen Sie Ihre IDE verwenden, um einige Informationen bereitzustellen, die IDT normalerweise aus den Konfigurationsdateien bezieht. Stellen Sie sicher, dass Sie die folgenden Informationen angeben:

  • Umgebungsvariablen und Argumente für jeden Test. IDT liest diese Informationen nicht von test.json odersuite.json.

  • Argumente zur Auswahl von Ressourcengeräten. IDT liest diese Informationen nicht austest.json.

Gehen Sie wie folgt vor, um Ihre Testsuiten zu debuggen:

  1. Erstellen Sie die Einstellungskonfigurationsdateien, die für die Ausführung der Testsuite erforderlich sind. Wenn Ihre Testsuite beispielsweise diedevice.json, und erfordertresource.json, stellen Sie sicheruser data.json, dass Sie sie alle nach Bedarf konfigurieren.

  2. Führen Sie den folgenden Befehl aus, um IDT in den Debug-Modus zu versetzen und alle Geräte auszuwählen, die für die Ausführung des Tests erforderlich sind.

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    Nachdem Sie diesen Befehl ausgeführt haben, wartet IDT auf Anfragen von der Testsuite und beantwortet sie dann. IDT generiert auch die Umgebungsvariablen, die für den Fallprozess für das IDT Client SDK erforderlich sind.

  3. Verwenden Sie in Ihrer IDE die debug Konfiguration run oder, um Folgendes zu tun:

    1. Legen Sie die Werte der von IDT generierten Umgebungsvariablen fest.

    2. Legen Sie den Wert aller Umgebungsvariablen oder Argumente fest, die Sie in Ihrer test.json AND-Datei angegeben haben. suite.json

    3. Legen Sie nach Bedarf Haltepunkte fest.

  4. Führen Sie die Testsuite in Ihrer IDE aus.

    Sie können die Testsuite so oft wie nötig debuggen und erneut ausführen. IDT tritt im Debug-Modus nicht auf.

  5. Nachdem Sie das Debuggen abgeschlossen haben, unterbrechen Sie IDT, um den Debug-Modus zu verlassen.

IDT-CLI-Befehle zum Ausführen von Tests

Im folgenden Abschnitt werden die IDT-CLI-Befehle beschrieben:

IDT v4.0.0
help

Listet Informationen über den angegebenen Befehl auf.

list-groups

Listet die Gruppen in der jeweiligen Testsuite auf.

list-suites

Listet die verfügbaren Testsuites auf.

list-supported-products

Listet die unterstützten Produkte für Ihre Version von IDT auf, in diesem Fall FreeRTOS-Versionen und FreeRTOS Qualification Test Suite-Versionen, die für die aktuelle IDT-Version verfügbar sind.

list-test-cases

Listet die Testfälle in einer bestimmten Testgruppe auf. Die folgende Option wird unterstützt:

  • group-id. Die Testgruppe, nach der gesucht werden soll. Diese Option ist erforderlich und muss eine einzelne Gruppe angeben.

run-suite

Führt eine Reihe von Tests in einem Pool von Geräten aus. Im Folgenden sind einige häufig verwendete Optionen aufgeführt:

  • suite-id. Die auszuführende Version der Testsuite. Wenn nicht angegeben, verwendet IDT die neueste Version im tests-Ordner.

  • group-id. Die auszuführenden Testgruppen als kommagetrennte Liste. Bei fehlender Angabe führt IDT alle Testgruppen in der Testsuite aus.

  • test-id. Die auszuführenden Testfälle als kommagetrennte Liste. Wenn angegeben, muss group-id eine einzelne Gruppe angeben.

  • pool-id. Der zu testende Gerätepool. Testläufer müssen einen Pool angeben, wenn in Ihrer device.json Datei mehrere Gerätepools definiert sind.

  • timeout-multiplier. Konfiguriert IDT so, dass das in der test.json Datei angegebene Timeout für die Testausführung für einen Test mit einem benutzerdefinierten Multiplikator geändert wird.

  • stop-on-first-failure. Konfiguriert IDT so, dass die Ausführung beim ersten Fehler gestoppt wird. Diese Option sollte mit group-id verwendet werden, um die angegebenen Testgruppen zu debuggen.

  • userdata. Legt die Datei fest, die Benutzerdateninformationen enthält, die zum Ausführen der Testsuite erforderlich sind. Dies ist nur erforderlich, wenn userdataRequired es in der suite.json Datei für die Testsuite auf true gesetzt ist.

Weitere Informationen zu run-suite-Optionen erhalten Sie mit der help-Option:

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

Führen Sie die Testsuite im Debug-Modus aus. Weitere Informationen finden Sie unter Führen Sie IDT im Debug-Modus aus.