CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
| java.lang.Object | |
| ↳ | com.android.tradefed.command.CommandScheduler |
Một trình lập lịch để chạy các lệnh TradeFederation trên tất cả các thiết bị hiện có.
Sẽ cố gắng ưu tiên các lệnh để chạy dựa trên tổng số lần thực thi. Ví dụ: các lệnh chạy không thường xuyên hoặc chạy nhanh sẽ được ưu tiên hơn các lệnh chạy trong thời gian dài.
Chạy mãi mãi ở chế độ nền cho đến khi tắt.
Tóm tắt
Hàm khởi tạo công khai | |
|---|---|
CommandScheduler()
Tạo |
|
Phương thức công khai | |
|---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Thêm một lệnh vào trình lập lịch. |
void
|
addCommandFile(String cmdFilePath,
Thêm tất cả các lệnh trong tệp đã cho vào trình lập lịch |
void
|
await()
Đợi trình lập lịch bắt đầu chạy, bao gồm cả việc đợi quá trình chuyển giao từ TF cũ hoàn tất (nếu có). |
static
TradefedDelegator
|
checkDelegation(String[] args)
Tạo một trình uỷ quyền dựa trên dòng lệnh để xem liệu chúng ta có cần uỷ quyền chạy hay không. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Tạo bản đồ trạng thái thiết bị để có thể phát hành thiết bị một cách thích hợp. |
ISandbox
|
createSandbox()
Tạo một |
void
|
displayCommandQueue(PrintWriter printWriter)
Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Xuất danh sách các lệnh hiện tại. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Hiển thị danh sách các lệnh gọi hiện tại. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Kết xuất tệp xml đã mở rộng cho lệnh với tất cả các giá trị |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Thực hiện trực tiếp lệnh trên thiết bị đã được phân bổ. |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Thực thi lệnh trực tiếp trên các thiết bị đã được phân bổ. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh. |
CommandFileWatcher
|
getCommandFileWatcher()
Lấy CommandFileWatcher thích hợp cho trình lập lịch này |
int
|
getExecutingCommandCount()
Trả về số lượng Lệnh ở trạng thái đang thực thi. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Trả về thông tin về một lệnh gọi bằng cách chỉ định mã nhận dạng lệnh gọi. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy. |
Throwable
|
getLastInvocationThrowable()
Trả về |
int
|
getReadyCommandCount()
Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Trả về true nếu thiết bị được dùng bởi một luồng gọi đang hoạt động. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Xoá tất cả lệnh khỏi trình lập lịch |
void
|
run()
Khối thực thi chính của luồng này. |
void
|
setClearcutClient(ClearcutClient client)
Đặt ứng dụng để báo cáo dữ liệu harness |
void
|
setMaxPollTime(long polling)
|
void
|
setPrintSchedulingWarning(boolean print)
|
boolean
|
shouldShutdownOnCmdfileError()
Trả về true nếu chúng ta cần tắt trình lập lịch khi có lỗi lệnh |
void
|
shutdown(boolean notifyStop)
Cố gắng tắt trình lập lịch lệnh một cách thích hợp. |
void
|
shutdownHard(boolean killAdb)
Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép. |
void
|
shutdownHard()
Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép. |
void
|
shutdownOnEmpty()
Tương tự như |
void
|
start()
Khởi động trình lập lịch, bao gồm cả việc thiết lập nhật ký, khởi động |
boolean
|
stopInvocation(ITestInvocation invocation)
Dừng một lệnh gọi đang chạy. |
boolean
|
stopInvocation(int invocationId, String cause)
Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó. |
void
|
stopScheduling()
Dừng lên lịch và chấp nhận các bài kiểm thử mới nhưng không dừng Tradefed. |
Hàm khởi tạo công khai
CommandScheduler
public CommandScheduler ()
Tạo CommandScheduler.
Lưu ý: bạn phải gọi start trước khi sử dụng.
Phương thức công khai
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
Thêm một lệnh vào trình lập lịch.
Về cơ bản, lệnh là một phiên bản của cấu hình để chạy và các đối số được liên kết của cấu hình đó.
Nếu đối số "--help" được chỉ định, văn bản trợ giúp cho cấu hình sẽ được xuất ra stdout. Nếu không, cấu hình sẽ được thêm vào hàng đợi để chạy.
| Tham số | |
|---|---|
args |
String: các đối số cấu hình. |
| Giá trị trả về | |
|---|---|
Pair<Boolean, Integer> |
Một cặp giá trị, giá trị đầu tiên là giá trị Boolean true nếu lệnh được thêm thành công. Giá trị thứ hai là mã theo dõi lệnh đã biết(giá trị không âm) nếu lệnh được thêm thành công, trả về 0 khi lệnh được thêm cho tất cả các thiết bị, nếu không thì trả về -1. |
| Gửi | |
|---|---|
ConfigurationException |
|
addCommandFile
public void addCommandFile (String cmdFilePath,
extraArgs) Thêm tất cả các lệnh trong tệp đã cho vào trình lập lịch
| Tham số | |
|---|---|
cmdFilePath |
String: đường dẫn hệ thống tệp của tệp lệnh |
extraArgs |
: một ERROR(/List) gồm các đối số String để thêm vào mỗi lệnh được phân tích cú pháp từ tệp. Có thể trống nhưng không được có giá trị null. |
| Gửi | |
|---|---|
ConfigurationException |
|
await
public void await ()
Đợi trình lập lịch bắt đầu chạy, bao gồm cả việc đợi quá trình chuyển giao từ TF cũ hoàn tất (nếu có).
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Tạo một trình uỷ quyền dựa trên dòng lệnh để xem liệu chúng ta có cần uỷ quyền chạy hay không.
| Tham số | |
|---|---|
args |
String |
| Giá trị trả về | |
|---|---|
TradefedDelegator |
|
| Gửi | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Tạo bản đồ trạng thái thiết bị để có thể phát hành thiết bị một cách thích hợp.
| Tham số | |
|---|---|
context |
IInvocationContext |
e |
Throwable |
| Giá trị trả về | |
|---|---|
|
|
createSandbox
public ISandbox createSandbox ()
Tạo một ISandbox mà lệnh gọi sẽ dùng để chạy.
| Giá trị trả về | |
|---|---|
ISandbox |
|
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter,
String regex)Xuất danh sách các lệnh hiện tại.
| Tham số | |
|---|---|
printWriter |
PrintWriter: ERROR(/PrintWriter) để xuất ra. |
regex |
String: biểu thức chính quy mà các lệnh phải khớp để được in. Nếu giá trị là rỗng, thì tất cả các lệnh sẽ được in. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Hiển thị danh sách các lệnh gọi hiện tại.
| Tham số | |
|---|---|
printWriter |
PrintWriter: ERROR(/PrintWriter) để xuất ra. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter,
String regex)Kết xuất tệp xml đã mở rộng cho lệnh với tất cả các giá trị Option được chỉ định cho tất cả các lệnh hiện tại.
| Tham số | |
|---|---|
printWriter |
PrintWriter: ERROR(/PrintWriter) để xuất trạng thái. |
regex |
String: biểu thức chính quy mà các lệnh phải khớp để tệp xml được kết xuất. Nếu là giá trị rỗng, thì tất cả các lệnh sẽ được kết xuất. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Thực hiện trực tiếp lệnh trên thiết bị đã được phân bổ.
| Tham số | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo |
device |
ITestDevice: ITestDevice cần sử dụng |
args |
String: đối số lệnh |
| Giá trị trả về | |
|---|---|
long |
Mã lệnh gọi của lệnh đã lên lịch. |
| Gửi | |
|---|---|
ConfigurationException |
|
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Thực thi lệnh trực tiếp trên các thiết bị đã được phân bổ.
| Tham số | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo |
reservedDevices |
: ERROR(/List cần sử dụng |
args |
String: đối số lệnh |
| Giá trị trả về | |
|---|---|
long |
Mã lệnh gọi của lệnh đã lên lịch. |
| Gửi | |
|---|---|
ConfigurationException |
|
execCommand
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng IInvocationContext hiện có.
| Tham số | |
|---|---|
context |
IInvocationContext: một IInvocationContext hiện có. |
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo |
args |
String: đối số lệnh |
| Giá trị trả về | |
|---|---|
long |
|
| Gửi | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh.
| Tham số | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo |
args |
String: đối số lệnh |
| Giá trị trả về | |
|---|---|
long |
Mã lệnh gọi của lệnh đã lên lịch. |
| Gửi | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Lấy CommandFileWatcher thích hợp cho trình lập lịch này
| Giá trị trả về | |
|---|---|
CommandFileWatcher |
|
getExecutingCommandCount
public int getExecutingCommandCount ()
Trả về số lượng Lệnh ở trạng thái đang thực thi.
| Giá trị trả về | |
|---|---|
int |
|
getHostState
public CommandScheduler.HostState getHostState ()
| Giá trị trả về | |
|---|---|
CommandScheduler.HostState |
|
getInvocationInfo
public String getInvocationInfo (int invocationId)
Trả về thông tin về một lệnh gọi bằng cách chỉ định mã nhận dạng lệnh gọi.
| Tham số | |
|---|---|
invocationId |
int: mã theo dõi của lệnh gọi. |
| Giá trị trả về | |
|---|---|
String |
Một String chứa thông tin về lệnh gọi. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy. Trả về 0 (không có lỗi) nếu chưa có lệnh gọi nào chạy.
| Giá trị trả về | |
|---|---|
CommandRunner.ExitCode |
|
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Trả về Throwable từ lệnh gọi gần đây nhất đã chạy.
Trả về giá trị rỗng nếu không có throwable nào.
| Giá trị trả về | |
|---|---|
Throwable |
|
getReadyCommandCount
public int getReadyCommandCount ()
Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi.
| Giá trị trả về | |
|---|---|
int |
|
getShutdownTimeout
public long getShutdownTimeout ()
| Giá trị trả về | |
|---|---|
long |
|
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Trả về true nếu thiết bị được dùng bởi một luồng gọi đang hoạt động.
| Tham số | |
|---|---|
device |
ITestDevice |
| Giá trị trả về | |
|---|---|
boolean |
|
isShuttingDown
public boolean isShuttingDown ()
| Giá trị trả về | |
|---|---|
boolean |
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,
extraArgs) | Tham số | |
|---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Xoá tất cả lệnh khỏi trình lập lịch
chạy
public void run ()
Khối thực thi chính của luồng này.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Đặt ứng dụng để báo cáo dữ liệu harness
| Tham số | |
|---|---|
client |
ClearcutClient |
setMaxPollTime
public void setMaxPollTime (long polling)
| Tham số | |
|---|---|
polling |
long |
setPrintSchedulingWarning
public void setPrintSchedulingWarning (boolean print)
| Tham số | |
|---|---|
print |
boolean |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Trả về true nếu chúng ta cần tắt trình lập lịch khi có lỗi lệnh
| Giá trị trả về | |
|---|---|
boolean |
|
tắt
public void shutdown (boolean notifyStop)
Cố gắng tắt trình lập lịch lệnh một cách thích hợp.
| Tham số | |
|---|---|
notifyStop |
boolean: nếu đúng, sẽ thông báo các lệnh gọi tắt TF. |
shutdownHard
public void shutdownHard (boolean killAdb)
Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép.
Tương tự như shutdown(), nhưng cũng có thể loại bỏ tuỳ chọn kết nối adb, trong nỗ lực "thúc đẩy" các lệnh gọi đang diễn ra hoàn tất nhanh hơn.
| Tham số | |
|---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép. Tương tự như shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Tương tự như shutdown(), nhưng thay vào đó, sẽ đợi tất cả các lệnh được thực thi trước khi thoát.
Xin lưu ý rằng nếu có bất kỳ lệnh nào ở chế độ lặp lại, thì trình lập lịch sẽ không bao giờ thoát.
start
public void start ()
Khởi động trình lập lịch, bao gồm cả việc thiết lập nhật ký, khởi động DeviceManager, v.v.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Dừng một lệnh gọi đang chạy.
| Tham số | |
|---|---|
invocation |
ITestInvocation |
| Giá trị trả về | |
|---|---|
boolean |
true nếu lệnh gọi bị dừng, false nếu không |
stopInvocation
public boolean stopInvocation (int invocationId,
String cause)Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó.
| Tham số | |
|---|---|
invocationId |
int: mã theo dõi của lệnh gọi. |
cause |
String: nguyên nhân khiến lệnh gọi dừng. |
| Giá trị trả về | |
|---|---|
boolean |
true nếu lệnh gọi bị dừng, false nếu không |
stopScheduling
public void stopScheduling ()
Dừng lên lịch và chấp nhận các bài kiểm thử mới nhưng không dừng Tradefed. Điều này nhằm mục đích cho phép tắt theo hai bước, trong đó trước tiên chúng ta sẽ rút hết tất cả các kiểm thử đang chạy, sau đó chấm dứt quy trình Tradefed.
Phương thức được bảo vệ
cleanUp
protected void cleanUp ()
Đóng nhật ký và thực hiện mọi thao tác dọn dẹp cần thiết khác trước khi chúng ta thoát.
Được hiển thị để kiểm thử đơn vị có thể mô phỏng.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
| Tham số | |
|---|---|
args |
String |
| Giá trị trả về | |
|---|---|
IConfiguration |
|
| Gửi | |
|---|---|
ConfigurationException |
|
createInvocationContext
protected IInvocationContext createInvocationContext ()
| Giá trị trả về | |
|---|---|
IInvocationContext |
|
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Xác định xem một lệnh nhất định có phải là lệnh chạy thử hay không. Nếu lệnh là lệnh chạy thử, hãy xác thực lệnh đó. Nếu có vấn đề về cấu hình, thì phương thức này sẽ gửi một ConfigurationException.
| Tham số | |
|---|---|
handler |
ICommandScheduler.IScheduledInvocationListener: ERROR(/InvocationEventHandler) để báo cáo các sự kiện cho quy trình xác thực chạy thử. |
config |
IConfiguration |
| Giá trị trả về | |
|---|---|
void |
true nếu lệnh là một lượt chạy thử, false nếu không. |
| Gửi | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
execCommand
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
| Tham số | |
|---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
|
args |
String |
| Giá trị trả về | |
|---|---|
long |
|
| Gửi | |
|---|---|
ConfigurationException |
|
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Phương thức nhà máy để lấy thông tin tham chiếu đến IConfigurationFactory
| Giá trị trả về | |
|---|---|
IConfigurationFactory |
IConfigurationFactory để sử dụng |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
| Giá trị trả về | |
|---|---|
DeviceManagementGrpcServer |
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Phương thức nhà máy để lấy thông tin tham chiếu đến IDeviceManager
| Giá trị trả về | |
|---|---|
IDeviceManager |
IDeviceManager để sử dụng |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
| Giá trị trả về | |
|---|---|
TradefedFeatureServer |
|
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Tìm nạp một IKeyStoreClient bằng cách sử dụng IKeyStoreFactory được khai báo trong IGlobalConfiguration hoặc giá trị rỗng nếu không có giá trị nào được xác định.
| Giá trị trả về | |
|---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
| Giá trị trả về | |
|---|---|
TestInvocationManagementServer |
|
initLogging
protected void initLogging ()
Khởi chạy nhật ký ddmlib.
Được hiển thị để kiểm thử đơn vị có thể mô phỏng.
isShutdown
protected boolean isShutdown ()
| Giá trị trả về | |
|---|---|
boolean |
|
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
| Tham số | |
|---|---|
manager |
IDeviceManager |