Bộ lập lịch Command
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Trình lập lịch biểu để chạy các lệnh TradeFederation trên tất cả thiết bị có sẵn.
Sẽ cố gắng ưu tiên các lệnh để chạy dựa trên tổng số lần chạy của thời gian 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 lâu.
Chạy vĩnh viễn trong 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 biểu. |
void
|
addCommandFile(String cmdFilePath,
Thêm tất cả lệnh từ tệp đã cho vào trình lập lịch biểu |
void
|
await()
Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả việc chờ 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 đối tượng uỷ quyền dựa trên dòng lệnh để xem 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 của thiết bị để có thể phát hành thiết bị một cách phù 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ả giá trị |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Trực tiếp thực thi lệnh trên thiết bị đã được phân bổ. |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Trực tiếp thực thi lệnh trên các thiết bị đã được phân bổ. |
long
|
execCommand(IInvocationContext context, 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 bằng một |
long
|
execCommand(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. |
CommandFileWatcher
|
getCommandFileWatcher()
Lấy CommandFileWatcher thích hợp cho trình lập lịch biểu này |
int
|
getExecutingCommandCount()
Trả về số lượng Lệnh ở trạng thái thực thi. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Trả về thông tin trên một bu lệnh gọi chỉ định id 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 một luồng gọi đang hoạt động sử dụng. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Xoá tất cả lệnh khỏi trình lập lịch biểu |
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 |
boolean
|
shouldShutdownOnCmdfileError()
Trả về giá trị true nếu chúng ta cần tắt trình lập lịch biểu khi gặp lỗi lệnh |
void
|
shutdown(boolean notifyStop)
Cố gắng tắt trình lập lịch biểu lệnh một cách linh hoạt. |
void
|
shutdownHard(boolean killAdb)
Cố gắng tắt buộc trình lập lịch biểu lệnh. |
void
|
shutdownHard()
Cố gắng tắt buộc trình lập lịch biểu lệnh. |
void
|
shutdownOnEmpty()
Tương tự như |
void
|
start()
Bắt đầu trình lập lịch biểu bao gồm cả việc thiết lập tính năng ghi nhật ký, khởi tạo |
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()
Ngừng lên lịch và chấp nhận các thử nghiệm 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 biểu.
Về cơ bản, lệnh là một thực thể của cấu hình cần chạy và các đối số liên quan.
Nếu bạn chỉ định đối số "--help", 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 : đố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à true Boolean nếu lệnh được thêm thành công. Giá trị thứ hai là mã nhận dạng trình 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ả 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ả lệnh từ tệp đã cho vào trình lập lịch biểu
Tham số | |
---|---|
cmdFilePath |
String : đường dẫn hệ thống tệp của tệp lệnh |
extraArgs |
: ERROR(/List) của 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 để giá trị rỗng. |
Gửi | |
---|---|
ConfigurationException |
đang chờ
public void await ()
Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả thời gian chờ chuyển giao từ TF cũ để hoàn tất nếu có.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Tạo một đối tượng uỷ quyền dựa trên dòng lệnh để xem 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 của 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 ISandbox
mà lệnh gọi sẽ 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 để so khớp các lệnh cần in. Nếu giá trị này là rỗng, thì tất cả lệnh sẽ được in. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Cho thấy danh sách 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ả 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 cần được so khớp để tệp XML được kết xuất. Nếu giá trị này là rỗng, thì tất cả lệnh sẽ được kết xuất. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Thực thi 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 để sử dụng |
args |
String : đối số lệnh |
Giá trị trả về | |
---|---|
long |
Mã gọi của lệnh được lên lịch. |
Gửi | |
---|---|
ConfigurationException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Trực tiếp thực thi lệnh 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ã gọi của lệnh được 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 một 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)
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.
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ã gọi của lệnh được 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 biểu này
Giá trị trả về | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Trả về số lượng Lệnh ở trạng thái 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ã lệnh gọi.
Tham số | |
---|---|
invocationId |
int : mã theo dõi của lệnh gọi. |
Giá trị trả về | |
---|---|
String |
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ó lớp throwable.
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 |
getoffHết thời gian chờ
public long getShutdownTimeout ()
Giá trị trả về | |
---|---|
long |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Trả về true nếu thiết bị được một luồng gọi đang hoạt động sử dụng.
Tham số | |
---|---|
device |
ITestDevice |
Giá trị trả về | |
---|---|
boolean |
đang tắt
public boolean isShuttingDown ()
Giá trị trả về | |
---|---|
boolean |
notificationFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Tham số | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Xoá tất cả các lệnh khỏi trình lập lịch biểu
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 |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Trả về true nếu chúng ta cần tắt trình lập lịch biểu khi gặp 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 biểu lệnh một cách êm ái.
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 buộc trình lập lịch biểu lệnh.
Tương tự như shutdown()
, nhưng cũng có thể xoá kết nối adb (không bắt buộc) để cố gắng "khuyến khích" 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 buộc trình lập lịch biểu lệnh. Tương tự như shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Tương tự như shutdown()
, nhưng sẽ chờ tất cả các lệnh được thực thi trước khi thoát.
Xin lưu ý rằng nếu có lệnh nào ở chế độ lặp, trình lập lịch biểu sẽ không bao giờ thoát.
start
public void start ()
Bắt đầu trình lập lịch biểu bao gồm cả việc thiết lập tính năng ghi nhật ký, khởi chạy 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 hoạt động. |
Giá trị trả về | |
---|---|
boolean |
true nếu lệnh gọi bị dừng, false nếu không gọi |
stopScheduling
public void stopScheduling ()
Ngừng lên lịch và chấp nhận các thử nghiệm mới nhưng không dừng Tradefed. Điều này nhằm cho phép tắt hai bước, trong đó trước tiên, chúng ta sẽ loại bỏ tất cả các chương trình 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ị để các 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 cụ thể có được chạy thử nghiệm không. Nếu lệnh này đang trong quá trình chạy thử nghiệm, hãy xác thực lệnh đó. Nếu có bất kỳ vấn đề nào về cấu hình, thì lỗi 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 quá trình xác thực chạy thử. |
config |
IConfiguration |
Giá trị trả về | |
---|---|
void |
true nếu lệnh là 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 để tham chiếu đến IConfigurationFactory
Giá trị trả về | |
---|---|
IConfigurationFactory |
IConfigurationFactory cần sử dụng |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
Giá trị trả về | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
Phương thức nhà máy để tham chiếu đến IDeviceManager
Giá trị trả về | |
---|---|
IDeviceManager |
IDeviceManager cần sử dụng |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
Giá trị trả về | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Tìm nạp IKeyStoreClient
bằng IKeyStoreFactory
được khai báo trong IGlobalConfiguration
hoặc 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 |