ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Planificateur pour exécuter les commandes TradeFederation.

Résumé

Classes imbriquées

interface ICommandScheduler.IScheduledInvocationListener

Écouteur pour les événements d'invocation lorsque l'invocation est terminée. 

Méthodes publiques

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

Ajoute une commande au planificateur.

abstract void addCommandFile(String cmdFile, extraArgs)

Ajoute toutes les commandes du fichier donné au planificateur

abstract void await()

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

abstract void displayCommandQueue(PrintWriter printWriter)

Affiche des informations de débogage détaillées sur l'état de la file d'exécution des commandes.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Affiche la liste des commandes actuelles.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Affiche la liste des invocations actuelles.

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 appareil et exécute une commande sans l'ajouter à la file d'attente des commandes à l'aide d'un IInvocationContext existant.

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

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

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

Exécutez directement une commande sur un appareil déjà attribué.

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

Exécutez directement une commande sur des appareils déjà attribués.

abstract CommandFileWatcher getCommandFileWatcher()

Obtenir le CommandFileWatcher approprié pour ce planificateur

abstract int getExecutingCommandCount()

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

abstract String getInvocationInfo(int invocationId)

Renvoie les informations sur un appel en spécifiant l'ID d'appel.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Renvoie le code d'erreur de la dernière invocation exécutée.

abstract Throwable getLastInvocationThrowable()

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

abstract int getReadyCommandCount()

Renvoie le nombre de commandes à l'état "Prêt" dans la file d'attente.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Renvoie la valeur "true" si l'appareil est utilisé par un thread d'invocation actif.

abstract void join()

Attend la fin de l'exécution 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 programmateur

abstract void setClearcutClient(ClearcutClient client)

Configurer le client pour qu'il signale les données du harnais

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

Renvoie la valeur "true" si le planificateur doit être arrêté en cas d'erreur de commande.

default void shutdown()

Tentative d'arrêt progressif du planificateur de commandes.

abstract void shutdown(boolean notifyStop)

Tentative d'arrêt progressif du 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()

Semblable à shutdown(), mais attend que toutes les commandes soient exécutées avant de se fermer.

abstract void start()

Démarrez ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Arrêtez une invocation en cours d'exécution en spécifiant son ID.

default boolean stopInvocation(int invocationId)

Arrêtez une invocation en cours d'exécution en spécifiant son ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Arrêtez une invocation en cours d'exécution.

default void stopScheduling()

Arrête la planification et l'acceptation de nouveaux tests, mais n'arrête pas Tradefed.

Méthodes publiques

addCommand

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 de ses arguments associés.

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

Paramètres
args String : arguments de configuration.

Renvoie
Pair<Boolean, Integer> 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 correspond à l'ID du suivi de commande connu(valeur non négative) si la commande a été ajoutée avec succès. Elle renvoie 0 lorsque la commande est ajoutée pour tous les appareils, et -1 dans le cas contraire.

Génère
ConfigurationException si la commande n'a pas pu être analysée.

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Ajoute toutes les commandes du fichier donné au planificateur

Paramètres
cmdFile String : chemin d'accès du fichier de commandes dans le système de fichiers

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

Génère
ConfigurationException si le fichier de commandes n'a pas pu être analysé ;

Voir aussi :

await

public abstract void await ()

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

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Affiche des informations de débogage détaillées sur l'état de la file d'exécution des commandes.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Affiche la liste des commandes actuelles.

Paramètres
printWriter PrintWriter : ERROR(/PrintWriter) vers lequel la sortie doit être envoyée.

regex String : expression régulière à laquelle les commandes doivent correspondre pour être imprimées. Si la valeur est nulle, toutes les commandes seront imprimées.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Affiche la liste des invocations actuelles.

Paramètres
printWriter PrintWriter : ERROR(/PrintWriter) vers lequel la sortie doit être envoyée.

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 : ERROR(/PrintWriter) pour afficher l'état.

regex String : expression régulière à laquelle les commandes doivent correspondre pour que le fichier XML soit vidé. Si la valeur est nulle, toutes les commandes seront vidées.

execCommand

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

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

Paramètres
context IInvocationContext : IInvocationContext existant.

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener à informer

args String : arguments de la commande

Renvoie
long

Génère
ConfigurationException si la commande n'était pas valide.
NoDeviceException s'il n'y a pas d'appareil à utiliser.

execCommand

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

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

Paramètres
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener à informer

args String : arguments de la commande

Renvoie
long ID d'invocation de la commande planifiée.

Génère
ConfigurationException si la commande n'était pas valide.
NoDeviceException s'il n'y a pas d'appareil à utiliser.

execCommand

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

Exécutez directement une commande sur un appareil déjà attribué.

Paramètres
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener à informer

device ITestDevice : ITestDevice à utiliser

args String : arguments de la commande

Renvoie
long ID d'invocation de la commande planifiée.

Génère
ConfigurationException si la commande n'était pas valide

execCommand

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

Exécutez directement une commande sur des appareils déjà attribués.

Paramètres
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener à informer

devices  : ERROR(/List) à utiliser

args String : arguments de la commande

Renvoie
long ID d'invocation de la commande planifiée.

Génère
ConfigurationException si la commande n'était pas valide

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Obtenir le CommandFileWatcher approprié pour ce planificateur

Renvoie
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

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

Renvoie
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Renvoie les informations sur un appel en spécifiant l'ID d'appel.

Paramètres
invocationId int : ID de suivi de l'appel.

Renvoie
String Un String contenant des informations sur l'appel.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Renvoie le code d'erreur de la dernière invocation exécutée. Renvoie 0 (aucune erreur) si aucune invocation n'a encore été exécutée.

Renvoie
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Renvoie le Throwable de la dernière invocation exécutée. Renvoie la valeur "null" si aucune exception n'est disponible.

Renvoie
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Renvoie le nombre de commandes à l'état "Prêt" dans la file d'attente.

Renvoie
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Renvoie la valeur "true" si l'appareil est utilisé par un thread d'invocation actif.

Paramètres
device ITestDevice

Renvoie
boolean

rejoindre

public abstract void join ()

Attend la fin de l'exécution du planificateur.

Voir aussi :

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 aussi :

removeAllCommands

public abstract void removeAllCommands ()

Supprimer toutes les commandes du programmateur

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Configurer le client pour qu'il signale les données du harnais

Paramètres
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Paramètres
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Paramètres
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Renvoie la valeur "true" si le planificateur doit être arrêté en cas d'erreur de commande.

Renvoie
boolean

arrêt

public void shutdown ()

Tentative d'arrêt progressif du planificateur de commandes.

Efface les commandes en attente de test et demande à ce que toutes les invocations en cours s'arrêtent progressivement.

Une fois l'arrêt appelé, la boucle principale du planificateur attend que toutes les invocations en cours se terminent avant de quitter complètement.

arrêt

public abstract void shutdown (boolean notifyStop)

Tentative d'arrêt progressif du planificateur de commandes.

Paramètres
notifyStop boolean : si la valeur est "true", les appels sont informés de l'arrêt de TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

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

Semblable à shutdown(), mais peut également fermer la connexion adb, dans le but d'inciter les invocations en cours à se terminer plus rapidement.

Paramètres
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

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

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Semblable à shutdown(), mais attend que toutes les commandes soient exécutées avant de se fermer.

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

départ

public abstract void start ()

Démarrez ICommandScheduler.

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

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

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Arrêtez une invocation en cours d'exécution en spécifiant son ID.

Paramètres
invocationId int : ID de suivi de l'appel.

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

Renvoie
boolean "true" si l'invocation a été arrêtée, "false" dans le cas contraire

Génère
UnsupportedOperationException si l'implémentation n'est pas compatible avec cette fonctionnalité.

stopInvocation

public boolean stopInvocation (int invocationId)

Arrêtez une invocation en cours d'exécution en spécifiant son ID.

Paramètres
invocationId int

Renvoie
boolean "true" si l'invocation a été arrêtée, "false" dans le cas contraire

Génère
UnsupportedOperationException si l'implémentation n'est pas compatible avec cette fonctionnalité.

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Arrêtez une invocation en cours d'exécution.

Paramètres
invocation ITestInvocation

Renvoie
boolean "true" si l'invocation a été arrêtée, "false" dans le cas contraire

Génère
UnsupportedOperationException si l'implémentation n'est pas compatible avec cette fonctionnalité.

stopScheduling

public void stopScheduling ()

Arrête la planification et l'acceptation de nouveaux tests, mais n'arrête pas Tradefed. L'objectif est d'activer un arrêt en deux étapes : d'abord, nous vidons tous les tests en cours d'exécution, puis nous mettons fin au processus Tradefed.