ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Un planificateur pour exécuter les commandes TradeFederation.

Résumé

Classes imbriquées

interface ICommandScheduler.IScheduledInvocationListener

Écouteur des événements d’invocation une fois l’invocation terminée.

Méthodes publiques

abstract Pair <Boolean, Integer> addCommand (String[] args)

Ajoute une commande au planificateur.

abstract void addCommandFile (String cmdFile, extraArgs) addCommandFile (String cmdFile, extraArgs)

Ajoute toutes les commandes d'un fichier donné au planificateur

abstract void await ()

Attend que le planificateur commence à s'exécuter, y compris la fin du transfert de l'ancien TF, le cas échéant.

abstract void displayCommandQueue (PrintWriter printWriter)

Afficher des informations de débogage détaillées sur l’état de la file d’attente d’exécution des commandes.

abstract void displayCommandsInfo (PrintWriter printWriter, String regex)

Afficher une liste des commandes actuelles.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Affiche une liste des appels en cours.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Videz le fichier XML développé pour la commande avec toutes les valeurs Option spécifiées pour toutes les commandes actuelles.

abstract long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Alloue directement un périphérique et exécute une commande sans l'ajouter à la file d'attente de commandes à l'aide d'un IInvocationContext déjà existant.

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Alloue directement un périphérique et exécute une commande sans l'ajouter à la file d'attente des commandes.

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

Exécutez directement la commande sur les appareils déjà alloués.

abstract CommandFileWatcher getCommandFileWatcher ()

Obtenez le CommandFileWatcher approprié pour ce planificateur

abstract int getExecutingCommandCount ()

Renvoie le nombre de commandes en état d'exécution.

abstract String getInvocationInfo (int invocationId)

Renvoie les informations sur un bu d'invocation en spécifiant l'identifiant de l'invocation.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Renvoie le code d'erreur du dernier appel exécuté.

abstract Throwable getLastInvocationThrowable ()

Renvoie le Throwable de la dernière invocation exécutée.

abstract int getReadyCommandCount ()

Renvoie le nombre de commandes prêtes dans la file d'attente.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Renvoie vrai si le périphérique est utilisé par un thread d’invocation actif.

abstract void join ()

Attend la fin du planificateur.

abstract void join (long millis)

Attend que le planificateur se termine ou expire après la durée spécifiée en millisecondes.

abstract void removeAllCommands ()

Supprimer toutes les commandes du planificateur

abstract void setClearcutClient (ClearcutClient client)

Configurer le client pour qu'il rapporte les données du faisceau

abstract boolean shouldShutdownOnCmdfileError ()

Renvoie true si nous devons arrêter le planificateur en cas d'erreur de commande

default void shutdown ()

Essayez d'arrêter correctement le planificateur de commandes.

abstract void shutdown (boolean notifyStop)

Essayez d'arrêter correctement le planificateur de commandes.

abstract void shutdownHard (boolean killAdb)

Tentative d'arrêt forcé du planificateur de commandes.

abstract void shutdownHard ()

Tentative d'arrêt forcé du planificateur de commandes.

abstract void shutdownOnEmpty ()

Similaire à shutdown() , mais attendra que toutes les commandes soient exécutées avant de quitter.

abstract void start ()

Démarrez le ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

Arrêtez une invocation en cours en spécifiant son identifiant.

default boolean stopInvocation (int invocationId)

Arrêtez une invocation en cours en spécifiant son identifiant.

abstract boolean stopInvocation ( ITestInvocation invocation)

Arrêtez une invocation en cours.

default void stopScheduling ()

Arrête de planifier et d'accepter de nouveaux tests, mais n'arrête pas Tradefed.

Méthodes publiques

ajouterCommand

public abstract Pair<Boolean, Integer> addCommand (String[] args)

Ajoute une commande au planificateur.

Une commande est essentiellement une instance d'une configuration à exécuter et ses arguments associés.

Si l'argument "--help" est spécifié, le texte d'aide pour la configuration sera affiché sur la sortie standard. Sinon, la configuration sera ajoutée à la file d'attente à exécuter.

Paramètres
args String : les arguments de configuration.

Retour
Pair <Boolean, Integer> Une paire de valeurs, la première valeur est un booléen true si la commande a été ajoutée avec succès. La deuxième valeur est l'ID de suivi de commande connu (valeur non négative) si la commande a été ajoutée avec succès, renvoie 0 lorsque la commande est ajoutée pour tous les appareils, sinon -1.

Jetés
ConfigurationException si la commande n'a pas pu être analysée

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Ajoute toutes les commandes d'un fichier donné au planificateur

Paramètres
cmdFile String : le chemin du système de fichiers du fichier de commande

extraArgs : une ERROR(/List) d'arguments String à ajouter à chaque commande analysée à partir du fichier. Peut être vide mais ne doit pas être nul.

Jetés
ConfigurationException si le fichier de commande n'a pas pu être analysé

Voir également:

attendre

public abstract void await ()

Attend que le planificateur commence à s'exécuter, y compris la fin du transfert de l'ancien TF, le cas échéant.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Afficher des informations de débogage détaillées sur l’état de la file d’attente d’exécution des commandes.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Afficher une liste des commandes actuelles.

Paramètres
printWriter PrintWriter : l' ERROR(/PrintWriter) vers laquelle sortir.

regex String : l'expression régulière à laquelle les commandes doivent correspondre pour être imprimées. Si nul, alors toutes les commandes seront imprimées.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Affiche une liste des appels en cours.

Paramètres
printWriter PrintWriter : l' ERROR(/PrintWriter) vers laquelle sortir.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Videz le fichier XML développé pour la commande avec toutes les valeurs Option spécifiées pour toutes les commandes actuelles.

Paramètres
printWriter PrintWriter : l' ERROR(/PrintWriter) vers laquelle afficher l'état.

regex String : l'expression régulière à laquelle les commandes doivent correspondre pour que le fichier XML soit vidé. Si nul, alors toutes les commandes seront vidées.

CommandeExec

public abstract long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Alloue directement un périphérique et exécute une commande sans l'ajouter à la file d'attente de commandes à l'aide d'un IInvocationContext déjà existant.

Paramètres
context IInvocationContext : un IInvocationContext existant.

listener ICommandScheduler.IScheduledInvocationListener : le ICommandScheduler.IScheduledInvocationListener à renseigner

args String : les arguments de la commande

Retour
long

Jetés
ConfigurationException si la commande n'était pas valide
NoDeviceException s'il n'y a pas d'appareil à utiliser

CommandeExec

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Alloue directement un périphérique et exécute une commande sans l'ajouter à la file d'attente des commandes.

Paramètres
listener ICommandScheduler.IScheduledInvocationListener : le ICommandScheduler.IScheduledInvocationListener à renseigner

args String : les arguments de la commande

Retour
long L’identifiant d’invocation de la commande planifiée.

Jetés
ConfigurationException si la commande n'était pas valide
NoDeviceException s'il n'y a pas d'appareil à utiliser

CommandeExec

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

Exécutez directement la commande sur les appareils déjà alloués.

Paramètres
listener ICommandScheduler.IScheduledInvocationListener : le ICommandScheduler.IScheduledInvocationListener à renseigner

devices : l' ERROR(/List ) ERROR(/List ) utiliser

args String : les arguments de la commande

Retour
long L’identifiant d’invocation de la commande planifiée.

Jetés
ConfigurationException si la commande n'était pas valide

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Obtenez le CommandFileWatcher approprié pour ce planificateur

Retour
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Renvoie le nombre de commandes en état d'exécution.

Retour
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Renvoie les informations sur un bu d'invocation en spécifiant l'identifiant de l'invocation.

Paramètres
invocationId int : l'identifiant de suivi de l'invocation.

Retour
String Une String contenant des informations sur l'appel.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Renvoie le code d'erreur du dernier appel exécuté. Renvoie 0 (pas d'erreur), si aucun appel n'a encore été exécuté.

Retour
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Renvoie le Throwable de la dernière invocation exécutée. Renvoie null, si aucun objet jetable n'est disponible.

Retour
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Renvoie le nombre de commandes prêtes dans la file d'attente.

Retour
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Renvoie vrai si le périphérique est utilisé par un thread d’invocation actif.

Paramètres
device ITestDevice

Retour
boolean

rejoindre

public abstract void join ()

Attend la fin du planificateur.

Voir également:

rejoindre

public abstract void join (long millis)

Attend que le planificateur se termine ou expire après la durée spécifiée en millisecondes.

Paramètres
millis long

Voir également:

supprimerTouteslesCommandes

public abstract void removeAllCommands ()

Supprimer toutes les commandes du planificateur

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Configurer le client pour qu'il rapporte les données du faisceau

Paramètres
client ClearcutClient

devraitShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Renvoie true si nous devons arrêter le planificateur en cas d'erreur de commande

Retour
boolean

fermer

public void shutdown ()

Essayez d'arrêter correctement le planificateur de commandes.

Efface les commandes en attente d'être testées et demande que tous les appels en cours s'arrêtent correctement.

Une fois l'arrêt appelé, la boucle principale du planificateur attendra la fin de tous les appels en cours avant de se terminer complètement.

fermer

public abstract void shutdown (boolean notifyStop)

Essayez d'arrêter correctement le planificateur de commandes.

Paramètres
notifyStop boolean : si vrai, notifie les invocations de l'arrêt de TF.

arrêtDur

public abstract void shutdownHard (boolean killAdb)

Tentative d'arrêt forcé du planificateur de commandes.

Semblable à shutdown() , mais tuera également éventuellement la connexion adb, dans le but « d'inspirer » les invocations en cours pour qu'elles se terminent plus rapidement.

Paramètres
killAdb boolean

arrêtDur

public abstract void shutdownHard ()

Tentative d'arrêt forcé du planificateur de commandes. Identique à shutdownHard (true).

arrêt sur vide

public abstract void shutdownOnEmpty ()

Similaire à shutdown() , mais attendra que toutes les commandes soient exécutées avant de quitter.

Notez que si des commandes sont en mode boucle, le planificateur ne se terminera jamais.

commencer

public abstract void start ()

Démarrez le ICommandScheduler .

Doit être appelé avant d’appeler d’autres méthodes.

S'exécutera jusqu'à ce que shutdown() soit appelé. voir Thread.start() .

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Arrêtez une invocation en cours en spécifiant son identifiant.

Paramètres
invocationId int : l'identifiant de suivi de l'invocation.

cause String : la cause de l'arrêt de l'invocation.

Retour
boolean vrai si l'invocation a été arrêtée, faux sinon

Jetés
UnsupportedOperationException si l'implémentation ne prend pas en charge cela

stopInvocation

public boolean stopInvocation (int invocationId)

Arrêtez une invocation en cours en spécifiant son identifiant.

Paramètres
invocationId int

Retour
boolean vrai si l'invocation a été arrêtée, faux sinon

Jetés
UnsupportedOperationException si l'implémentation ne prend pas en charge cela

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Arrêtez une invocation en cours.

Paramètres
invocation ITestInvocation

Retour
boolean vrai si l'invocation a été arrêtée, faux sinon

Jetés
UnsupportedOperationException si l'implémentation ne prend pas en charge cela

arrêter la planification

public void stopScheduling ()

Arrête de planifier et d'accepter de nouveaux tests, mais n'arrête pas Tradefed. Ceci est destiné à permettre un arrêt en deux étapes où nous vidons d'abord tous les tests en cours, puis terminons le processus Tradefed.