Command Scheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
com.android.tradefed.command.Command Scheduler


מתזמן להפעלת פקודות TradeFederation בכל המכשירים הזמינים.

ינסה לתעדף פקודות להפעלה בהתבסס על ספירת ריצה כוללת של זמן הביצוע שלהן. למשל, פקודות ריצה נדירות או מהירות יקבלו עדיפות על פני פקודות ריצה ארוכות.

פועל לנצח ברקע עד כיבוי.

סיכום

בנאים ציבוריים

CommandScheduler ()

יוצר CommandScheduler .

שיטות ציבוריות

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

מוסיף פקודה למתזמן.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

מוסיף את כל הפקודות מהקובץ הנתון למתזמן

void await ()

ממתין למתזמן שיתחיל לפעול, כולל המתנה למסירה מ-TF הישן כדי להשלים אם רלוונטי.

static TradefedDelegator checkDelegation (String[] args)

צור מאציל על סמך שורת הפקודה כדי לראות אם אנחנו צריכים להאציל את הריצה.

static createReleaseMap ( IInvocationContext context, Throwable e)

צור מפה של מצב המכשירים כדי שניתן יהיה לשחרר אותם כראוי.

ISandbox createSandbox ()

צור ISandbox שההזמנה תשתמש בה כדי להפעיל.

void displayCommandQueue (PrintWriter printWriter)

פלט מידע מפורט על ניפוי באגים על מצב תור ביצוע הפקודה.

void displayCommandsInfo (PrintWriter printWriter, String regex)

פלט רשימה של פקודות נוכחיות.

void displayInvocationsInfo (PrintWriter printWriter)

מציג רשימה של קריאות נוכחיות.

void dumpCommandsXml (PrintWriter printWriter, String regex)

זרוק את קובץ ה-XML המורחב עבור הפקודה עם כל ערכי Option שצוינו עבור כל הפקודות הנוכחיות.

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

בצע פקודה ישירה במכשירים שכבר הוקצו.

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

מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext שכבר קיים.

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

מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות.

CommandFileWatcher getCommandFileWatcher ()

קבל את CommandFileWatcher המתאים עבור מתזמן זה

int getExecutingCommandCount ()

מחזירה את מספר הפקודות במצב ביצוע.

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

החזר את המידע על הזמנה עם ציון מזהה ההזמנה.

CommandRunner.ExitCode getLastInvocationExitCode ()

החזר את קוד השגיאה של ההזמנה האחרונה שרצה.

Throwable getLastInvocationThrowable ()

החזר את Throwable מההפצה האחרונה שרצה.

int getReadyCommandCount ()

מחזירה את מספר הפקודות במצב מוכן בתור.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

מחזירה true אם ההתקן נמצא בשימוש על ידי שרשור הפעלה פעיל.

boolean isShuttingDown ()
void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

הסר את כל הפקודות מתזמן

void run ()

בלוק הביצוע העיקרי של השרשור הזה.

void setClearcutClient (ClearcutClient client)

הגדר את הלקוח לדווח על נתוני רתמה

boolean shouldShutdownOnCmdfileError ()

החזר true אם אנחנו צריכים לכבות את המתזמן על שגיאות פקודה

void shutdown (boolean notifyStop)

נסה לכבות בחן את מתזמן הפקודות.

void shutdownHard (boolean killAdb)

נסה לכבות בכוח את מתזמן הפקודות.

void shutdownHard ()

נסה לכבות בכוח את מתזמן הפקודות.

void shutdownOnEmpty ()

דומה ל- shutdown() , אך במקום זאת ימתין לביצוע כל הפקודות לפני היציאה.

void start ()

מפעיל את המתזמן כולל הגדרת רישום, הפעלה של DeviceManager וכו'

boolean stopInvocation ( ITestInvocation invocation)

עצור קריאת טלפון רצה.

boolean stopInvocation (int invocationId, String cause)

עצור זימון רץ על ידי ציון המזהה שלו.

void stopScheduling ()

מפסיק לתזמן ולקבל בדיקות חדשות אך לא מפסיק את Tradefed.

שיטות מוגנות

void cleanUp ()

סוגר את היומנים ועושה כל ניקוי הכרחי אחר לפני שאנו עוזבים.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
void dryRunCommandReporting ( ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

קובע אם פקודה נתונה היא ריצה יבשה.

long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

שיטת מפעל לקבלת הפניה ל- IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

שיטת מפעל לקבלת הפניה ל- IDeviceManager

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

מאחזר IKeyStoreClient באמצעות IKeyStoreFactory המוצהר ב- IGlobalConfiguration או null אם אף אחד לא מוגדר.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

מאתחל את יומן ה-ddmlib.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

בנאים ציבוריים

Command Scheduler

public CommandScheduler ()

יוצר CommandScheduler .

הערה: יש לקרוא ל-start לפני השימוש.

שיטות ציבוריות

addCommand

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

מוסיף פקודה למתזמן.

פקודה היא בעצם מופע של תצורה להפעלה והארגומנטים המשויכים לה.

אם ארגומנט "--help" מצוין, טקסט העזרה עבור התצורה ייצא ל-stdout. אחרת, התצורה תתווסף לתור להפעלה.

פרמטרים
args String : הארגומנטים של התצורה.

החזרות
Pair <Boolean, Integer> זוג ערכים, הערך הראשון הוא true בוליאני אם הפקודה נוספה בהצלחה. הערך השני הוא מזהה הפקודה הידוע (ערך לא שלילי) אם הפקודה נוספה בהצלחה, החזר 0 כאשר הפקודה מתווספת עבור כל המכשירים, אחרת -1.

זורק
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

מוסיף את כל הפקודות מהקובץ הנתון למתזמן

פרמטרים
cmdFilePath String : נתיב מערכת הקבצים של קובץ הפקודה

extraArgs : ERROR(/List) של ארגומנטים של String להוספה לכל פקודה שמנותחת מהקובץ. יכול להיות ריק אבל לא צריך להיות null.

זורק
ConfigurationException

לְהַמתִין

public void await ()

ממתין למתזמן שיתחיל לפעול, כולל המתנה למסירה מ-TF הישן כדי להשלים אם רלוונטי.

לבדוק האצלה

public static TradefedDelegator checkDelegation (String[] args)

צור מאציל על סמך שורת הפקודה כדי לראות אם אנחנו צריכים להאציל את הריצה.

פרמטרים
args String

החזרות
TradefedDelegator

זורק
com.android.tradefed.config.ConfigurationException
ConfigurationException

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

צור מפה של מצב המכשירים כדי שניתן יהיה לשחרר אותם כראוי.

פרמטרים
context IInvocationContext

e Throwable

החזרות

ליצור ארגז חול

public ISandbox createSandbox ()

צור ISandbox שההזמנה תשתמש בה כדי להפעיל.

החזרות
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

פלט מידע מפורט על ניפוי באגים על מצב תור ביצוע הפקודה.

להציג פקודות מידע

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

פלט רשימה של פקודות נוכחיות.

פרמטרים
printWriter PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט.

regex String : הביטוי הרגולרי שאליו יש להתאים פקודות כדי להדפיס. אם null, אז כל הפקודות יודפסו.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

מציג רשימה של קריאות נוכחיות.

פרמטרים
printWriter PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

זרוק את קובץ ה-XML המורחב עבור הפקודה עם כל ערכי Option שצוינו עבור כל הפקודות הנוכחיות.

פרמטרים
printWriter PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט של הסטטוס.

regex String : הביטוי הרגולרי שאליו יש להתאים פקודות על מנת שקובץ ה-xml יושלך. אם null, אז כל הפקודות יוזרקו.

execCommand

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

בצע פקודה ישירה במכשירים שכבר הוקצו.

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener : יש ליידע את ICommandScheduler.IScheduledInvocationListener

reservedDevices : ERROR(/List ) ERROR(/List ) להשתמש

args String : הארגומנטים של הפקודה

החזרות
long מזהה ההזמנה של הפקודה המתוזמנת.

זורק
ConfigurationException

execCommand

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

מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext שכבר קיים.

פרמטרים
context IInvocationContext : IInvocationContext קיים.

listener ICommandScheduler.IScheduledInvocationListener : יש ליידע את ICommandScheduler.IScheduledInvocationListener

args String : הארגומנטים של הפקודה

החזרות
long

זורק
ConfigurationException
NoDeviceException

execCommand

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

מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות.

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener : יש ליידע את ICommandScheduler.IScheduledInvocationListener

args String : הארגומנטים של הפקודה

החזרות
long מזהה ההזמנה של הפקודה המתוזמנת.

זורק
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

קבל את CommandFileWatcher המתאים עבור מתזמן זה

החזרות
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

מחזירה את מספר הפקודות במצב ביצוע.

החזרות
int

getHostState

public CommandScheduler.HostState getHostState ()

החזרות
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

החזר את המידע על הזמנה עם ציון מזהה ההזמנה.

פרמטרים
invocationId int : מזהה המעקב של הפנייה.

החזרות
String String המכילה מידע על ההזמנה.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

החזר את קוד השגיאה של ההזמנה האחרונה שרצה. החזר 0 (ללא שגיאה), אם לא רצה עדיין הזמנה.

החזרות
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

החזר את Throwable מההפצה האחרונה שרצה. החזר null, אם אין זריקה זמינה.

החזרות
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

מחזירה את מספר הפקודות במצב מוכן בתור.

החזרות
int

getShutdownTimeout

public long getShutdownTimeout ()

החזרות
long

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

מחזירה true אם ההתקן נמצא בשימוש על ידי שרשור הפעלה פעיל.

פרמטרים
device ITestDevice

החזרות
boolean

isShuttingDown

public boolean isShuttingDown ()

החזרות
boolean

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

פרמטרים
cmdFile File

extraArgs

הסר את כל הפקודות

public void removeAllCommands ()

הסר את כל הפקודות מתזמן

לָרוּץ

public void run ()

בלוק הביצוע העיקרי של השרשור הזה.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

הגדר את הלקוח לדווח על נתוני רתמה

פרמטרים
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

החזר true אם אנחנו צריכים לכבות את המתזמן על שגיאות פקודה

החזרות
boolean

לכבות

public void shutdown (boolean notifyStop)

נסה לכבות בחן את מתזמן הפקודות.

פרמטרים
notifyStop boolean : אם זה נכון, מודיע על קריאות של כיבוי TF.

כיבוי קשה

public void shutdownHard (boolean killAdb)

נסה לכבות בכוח את מתזמן הפקודות.

דומה ל- shutdown() , אבל גם יהרוג באופן אופציונלי את חיבור ה-ADB, בניסיון 'לעורר' קריאות שמתנהלות כדי להשלים מהר יותר.

פרמטרים
killAdb boolean

כיבוי קשה

public void shutdownHard ()

נסה לכבות בכוח את מתזמן הפקודות. זהה ל-shutdownHard (true).

shutdownOnEmpty

public void shutdownOnEmpty ()

דומה ל- shutdown() , אך במקום זאת ימתין לביצוע כל הפקודות לפני היציאה.

שים לב שאם פקודות כלשהן נמצאות במצב לולאה, המתזמן לעולם לא ייצא.

הַתחָלָה

public void start ()

מפעיל את המתזמן כולל הגדרת רישום, הפעלה של DeviceManager וכו'

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

עצור קריאת טלפון רצה.

פרמטרים
invocation ITestInvocation

החזרות
boolean נכון אם הקריאה הופסקה, לא נכון אחרת

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

עצור זימון רץ על ידי ציון המזהה שלו.

פרמטרים
invocationId int : מזהה המעקב של הפנייה.

cause String : הסיבה להפסקת ההתקשרות.

החזרות
boolean נכון אם הקריאה הופסקה, לא נכון אחרת

עצור תזמון

public void stopScheduling ()

מפסיק לתזמן ולקבל בדיקות חדשות אך לא מפסיק את Tradefed. זה נועד לאפשר כיבוי של שני שלבים שבו קודם כל ננקז את כל הבדיקות הפועלות, ואז מסיים את תהליך Tradefed.

שיטות מוגנות

לנקות

protected void cleanUp ()

סוגר את היומנים ועושה כל ניקוי הכרחי אחר לפני שאנו עוזבים.

חשוף כך שבדיקות יחידה יכולות ללעוג.

ליצור תצורה

protected IConfiguration createConfiguration (String[] args)

פרמטרים
args String

החזרות
IConfiguration

זורק
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

החזרות
IInvocationContext

dryRunCommandReporting

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

קובע אם פקודה נתונה היא ריצה יבשה. אם הפקודה היא הפעלה יבשה, אמת אותה. אם יש בעיית הגדרות כלשהי, זה יזרוק ConfigurationException.

פרמטרים
handler ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) כדי לדווח על אירועים לצורך אימות ריצה יבשה.

config IConfiguration

החזרות
void true אם הפקודה היא ריצה יבשה, false אחרת.

זורק
com.android.tradefed.config.ConfigurationException
ConfigurationException

execCommand

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

פרמטרים
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

החזרות
long

זורק
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

שיטת מפעל לקבלת הפניה ל- IConfigurationFactory

החזרות
IConfigurationFactory את IConfigurationFactory לשימוש

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

החזרות
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

שיטת מפעל לקבלת הפניה ל- IDeviceManager

החזרות
IDeviceManager ה- IDeviceManager לשימוש

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

החזרות
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

החזרות
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

מאחזר IKeyStoreClient באמצעות IKeyStoreFactory המוצהר ב- IGlobalConfiguration או null אם אף אחד לא מוגדר.

החזרות
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

החזרות
TestInvocationManagementServer

initLogging

protected void initLogging ()

מאתחל את יומן ה-ddmlib.

חשוף כך שבדיקות יחידה יכולות ללעוג.

isShutdown

protected boolean isShutdown ()

החזרות
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

פרמטרים
manager IDeviceManager