À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Planificateur de commandes de test
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Dans Tradefed, chaque requête de test passe par le planificateur de commandes pour être exécutée. Le planificateur de commandes est donc un composant clé du faisceau nécessaire pour exécuter des tests.
Cycle de vie
Lorsqu'une requête de test est présentée à Tradefed (par exemple, une entrée de la console), elle passe par les événements suivants avant d'être exécutée:
- La requête de test est analysée : une requête de test est généralement composée d'une référence de configuration XML Tradefed suivie d'options.
Exemple :
> run host --class com.android.tradefed.build.BuildInfoTest
- Le Gestionnaire d'appareils est demandé pour les appareils correspondant à la requête de test : le Gestionnaire d'appareils alloue un appareil correspondant aux requêtes de test. Par exemple, si un appareil Pixel est demandé, le Gestionnaire d'appareils recherche un appareil Pixel disponible.
- Demande de test + l'appareil ou les appareils démarrent en tant qu'appel : les tests commencent.
- Libération de l'appareil : une fois l'appel terminé, l'appareil alloué est libéré et peut être alloué à d'autres tests.
Invocation Tradefed
Une invocation dans Tradefed fait référence au moment où une commande de test est en cours d'exécution.
Les appareils inclus dans l'appel sont marqués comme allocated
et ne peuvent pas être utilisés par d'autres tests.
TF exécute les étapes suivantes dans l'ordre suivant:
- Télécharger des artefacts de compilation et de test
- Préparation de la cible
- Exécution des tests
- Nettoyage des cibles
- Rapports sur les résultats
Chaque étape est décrite plus en détail dans la section "Architecture".
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Test Command Scheduler\n\nIn Tradefed, every single test request goes through the\n[Command Scheduler](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/command/CommandScheduler.java)\nto be run. So the Command Scheduler is a key component of the harness needed to\nrun tests.\n\nLifecycle\n---------\n\nWhen a test request is presented to Tradefed (for example, input from the\nconsole), it will go through the following events before being run:\n\n1. *Test request is parsed* - A test request is usually composed of an XML Tradefed configuration reference followed by options. For example: `\u003e run host --class com.android.tradefed.build.BuildInfoTest`\n2. *Device Manager is requested for device(s) matching the test request* - Device Manager [allocates a device](/docs/core/tests/tradefed/architecture/device-manager/device-allocation) that matches the test requests. For example, if a Pixel device is requested then Device Manager will look for an available Pixel device.\n3. *Test request + device(s) starts as an invocation* - Testing is starting.\n4. *Device release* - Once the invocation is finished, the device allocated will be released and can be allocated for other tests.\n\nTradefed invocation\n-------------------\n\nAn invocation in Tradefed refers to when a test command is currently executing.\nDevices included in the invocation are marked as `allocated` and cannot be used\nby other tests to run.\n\nTF will execute the following steps in this order:\n\n1. [Build and test artifacts download](/docs/core/tests/tradefed/architecture/build-provider)\n2. [Target preparation](/docs/core/tests/tradefed/architecture/target-preparer)\n3. [Test execution](/docs/core/tests/tradefed/architecture/advanced/test-runner)\n4. [Target clean up](/docs/core/tests/tradefed/architecture/target-preparer)\n5. [Result reporting](/docs/core/tests/tradefed/architecture/result-reporter)\n\nEach step is described in more detail within the\n[Architecture section](/docs/core/tests/tradefed/architecture)."]]