ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


מתזמן להרצת פקודות TradeFederation.

סיכום

כיתות מוטמעות

interface ICommandScheduler.IScheduledInvocationListener

פונקציית listener לאירועי הפעלה כשההפעלה מסתיימת. 

‫methods ציבוריים

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

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

abstract void addCommandFile(String cmdFile, List<String> extraArgs)

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

abstract void await()

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

abstract void displayCommandQueue(PrintWriter printWriter)

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

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

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

abstract void displayInvocationsInfo(PrintWriter printWriter)

מוצגת רשימה של הפעלות נוכחיות.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

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

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

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

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

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

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

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

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, List<ITestDevice> devices, String[] args)

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

abstract CommandFileWatcher getCommandFileWatcher()

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

abstract int getExecutingCommandCount()

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

abstract String getInvocationInfo(int invocationId)

אפשר להחזיר את המידע על הפעלה על ידי ציון מזהה ההפעלה.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

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

abstract Throwable getLastInvocationThrowable()

החזרת הערך Throwable מההפעלה האחרונה שהופעלה.

abstract int getReadyCommandCount()

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

abstract boolean isDeviceInInvocationThread(ITestDevice device)

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

abstract void join()

הפעולה ממתינה לסיום התזמון.

abstract void join(long millis)

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

abstract void removeAllCommands()

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

abstract void setClearcutClient(ClearcutClient client)

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

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

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

default void shutdown()

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

abstract void shutdown(boolean notifyStop)

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

abstract void shutdownHard(boolean killAdb)

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

abstract void shutdownHard()

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

abstract void shutdownOnEmpty()

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

abstract void start()

מתחילים את ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

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

default boolean stopInvocation(int invocationId)

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

abstract boolean stopInvocation(ITestInvocation invocation)

הפסקת הפעלה של פונקציה.

default void stopScheduling()

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

‫methods ציבוריים

addCommand

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

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

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

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

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

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

הקפצת הודעות שגיאה (throw)
ConfigurationException אם לא ניתן לנתח את הפקודה

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                List<String> extraArgs)

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

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

extraArgs List: List של String ארגומנטים שיוגדרו להוספה לכל פקודה שנותחה מהקובץ. אפשר להשאיר את השדה ריק, אבל הוא לא יכול להיות null.

הקפצת הודעות שגיאה (throw)
ConfigurationException אם לא ניתן לנתח את קובץ הפקודות

מידע נוסף:

await

public abstract void await ()

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

הקפצת הודעות שגיאה (throw)
InterruptedException

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

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

פרמטרים
printWriter PrintWriter: PrintWriter שיוצג בפלט.

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

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

מוצגת רשימה של הפעלות נוכחיות.

פרמטרים
printWriter PrintWriter: PrintWriter שיוצג בפלט.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

פרמטרים
printWriter PrintWriter: PrintWriter שאליו רוצים להוציא את הסטטוס.

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

execCommand

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

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

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

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

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

החזרות
long

הקפצת הודעות שגיאה (throw)
ConfigurationException אם הפקודה לא תקינה
NoDeviceException אם אין מכשיר שאפשר להשתמש בו

execCommand

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

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

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

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

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

הקפצת הודעות שגיאה (throw)
ConfigurationException אם הפקודה לא תקינה
NoDeviceException אם אין מכשיר שאפשר להשתמש בו

execCommand

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

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

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

device ITestDevice: ITestDevice שבו רוצים להשתמש

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

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

הקפצת הודעות שגיאה (throw)
ConfigurationException אם הפקודה לא תקינה

execCommand

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

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

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

devices List: ERROR(/List) שבו רוצים להשתמש

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

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

הקפצת הודעות שגיאה (throw)
ConfigurationException אם הפקודה לא תקינה

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

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

החזרות
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

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

החזרות
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

אפשר להחזיר את המידע על הפעלה על ידי ציון מזהה ההפעלה.

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

החזרות
String רכיב String שמכיל מידע על הקריאה.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

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

החזרות
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

החזרת הערך Throwable מההפעלה האחרונה שהופעלה. הפונקציה מחזירה ערך null אם אין חריג זמין.

החזרות
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

החזרות
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

פרמטרים
device ITestDevice

החזרות
boolean

איחוד (join)

public abstract void join ()

הפעולה ממתינה לסיום התזמון.

הקפצת הודעות שגיאה (throw)
InterruptedException

מידע נוסף:

איחוד (join)

public abstract void join (long millis)

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

פרמטרים
millis long

הקפצת הודעות שגיאה (throw)
InterruptedException

מידע נוסף:

removeAllCommands

public abstract void removeAllCommands ()

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

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

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

פרמטרים
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

פרמטרים
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

פרמטרים
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

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

החזרות
boolean

כיבוי

public void shutdown ()

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

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

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

כיבוי

public abstract void shutdown (boolean notifyStop)

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

פרמטרים
notifyStop boolean: אם הערך הוא true, נשלחת הודעה על הפעלות של כיבוי TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

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

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

פרמטרים
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

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

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

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

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

התחלה

public abstract void start ()

מתחילים את ICommandScheduler.

צריך להפעיל אותה לפני שמפעילים methods אחרות.

יפעל עד שיתבצע קריאה ל-shutdown(). ראו Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

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

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

cause String: הסיבה להפסקת ההפעלה.

החזרות
boolean ‫true אם ההפעלה הופסקה, אחרת false

הקפצת הודעות שגיאה (throw)
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopInvocation

public boolean stopInvocation (int invocationId)

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

פרמטרים
invocationId int

החזרות
boolean ‫true אם ההפעלה הופסקה, אחרת false

הקפצת הודעות שגיאה (throw)
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

הפסקת הפעלה של פונקציה.

פרמטרים
invocation ITestInvocation

החזרות
boolean ‫true אם ההפעלה הופסקה, אחרת false

הקפצת הודעות שגיאה (throw)
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopScheduling

public void stopScheduling ()

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