Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Penjadwal Perintah

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Objek
com.android.tradefed.command.CommandScheduler


Penjadwal untuk menjalankan perintah TradeFederation di semua perangkat yang tersedia.

Akan mencoba memprioritaskan perintah untuk dijalankan berdasarkan jumlah total waktu eksekusinya. misalnya perintah yang berjalan jarang atau cepat akan diprioritaskan daripada perintah yang berjalan lama.

Berjalan selamanya di latar belakang hingga dimatikan.

Ringkasan

Konstruktor publik

CommandScheduler ()

Membuat CommandScheduler .

Metode publik

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

Menambahkan perintah ke penjadwal.

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

Menambahkan semua perintah dari file yang diberikan ke penjadwal

void await ()

Menunggu scheduler mulai berjalan, termasuk menunggu handover dari TF lama hingga selesai jika ada.

static TradefedDelegator checkDelegation (String[] args)

Buat delegator berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses.

static createReleaseMap ( IInvocationContext context, Throwable e)

Buat peta status perangkat agar dapat dirilis dengan tepat.

ISandbox createSandbox ()

Buat ISandbox yang akan digunakan pemanggilan untuk dijalankan.

void displayCommandQueue (PrintWriter printWriter)

Keluarkan info debug terperinci tentang keadaan antrian eksekusi perintah.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Keluarkan daftar perintah saat ini.

void displayInvocationsInfo (PrintWriter printWriter)

Menampilkan daftar doa saat ini.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Buang file xml yang diperluas untuk perintah dengan semua nilai Option yang ditentukan untuk semua perintah saat ini.

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

Jalankan perintah secara langsung pada perangkat yang sudah dialokasikan.

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah menggunakan IInvocationContext yang sudah ada.

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah.

CommandFileWatcher getCommandFileWatcher ()

Dapatkan CommandFileWatcher yang sesuai untuk penjadwal ini

int getExecutingCommandCount ()

Mengembalikan jumlah Perintah dalam status eksekusi.

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

Kembalikan informasi pada pemanggilan bu yang menentukan id pemanggilan.

CommandRunner.ExitCode getLastInvocationExitCode ()

Kembalikan kode kesalahan dari pemanggilan terakhir yang berjalan.

Throwable getLastInvocationThrowable ()

Kembalikan ERROR(/Throwable) dari pemanggilan terakhir yang dijalankan.

int getReadyCommandCount ()

Mengembalikan jumlah Perintah dalam status siap dalam antrean.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

Mengembalikan nilai true jika perangkat digunakan oleh utas pemanggilan aktif.

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

Hapus semua perintah dari penjadwal

void run ()

Blok eksekusi utama dari utas ini.

void setClearcutClient (ClearcutClient client)

Atur klien untuk melaporkan data harness

boolean shouldShutdownOnCmdfileError ()

Kembalikan true jika kita perlu mematikan penjadwal pada kesalahan perintah

void shutdown (boolean notifyStop)

Cobalah untuk mematikan penjadwal perintah dengan anggun.

void shutdownHard (boolean killAdb)

Mencoba mematikan paksa penjadwal perintah.

void shutdownHard ()

Mencoba mematikan paksa penjadwal perintah.

void shutdownOnEmpty ()

Mirip dengan shutdown() , tetapi akan menunggu semua perintah dieksekusi sebelum keluar.

void start ()

Mulai penjadwal termasuk pengaturan logging, init DeviceManager dll

boolean stopInvocation ( ITestInvocation invocation)

Hentikan doa yang sedang berjalan.

boolean stopInvocation (int invocationId, String cause)

Hentikan pemanggilan yang sedang berjalan dengan menentukan id-nya.

Metode yang dilindungi

void cleanUp ()

Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita keluar.

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

Metode pabrik untuk mendapatkan referensi ke IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Metode pabrik untuk mendapatkan referensi ke IDeviceManager

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

Mengambil IKeyStoreClient menggunakan IKeyStoreFactory yang dideklarasikan di IGlobalConfiguration atau null jika tidak ada yang ditentukan.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Menginisialisasi log ddmlib.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

Konstruktor publik

Penjadwal Perintah

public CommandScheduler ()

Membuat CommandScheduler .

Catatan: mulai harus dipanggil sebelum digunakan.

Metode publik

addCommand

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

Menambahkan perintah ke penjadwal.

Perintah pada dasarnya adalah turunan dari konfigurasi untuk dijalankan dan argumen terkaitnya.

Jika argumen "--help" ditentukan, teks bantuan untuk konfigurasi akan ditampilkan ke stdout. Jika tidak, konfigurasi akan ditambahkan ke antrian untuk dijalankan.

Parameter
args String : argumen konfigurasi.

Pengembalian
Pair <Boolean, Integer> Sepasang nilai, nilai pertama adalah Boolean true jika perintah berhasil ditambahkan. Nilai kedua adalah id pelacak perintah yang diketahui (nilai non-negatif) jika perintah berhasil ditambahkan, kembalikan 0 saat perintah ditambahkan untuk semua perangkat, jika tidak -1.

Melempar
ConfigurationException

tambahkanCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Menambahkan semua perintah dari file yang diberikan ke penjadwal

Parameter
cmdFilePath String : jalur sistem berkas dari berkas perintah

extraArgs : argumen ERROR(/List) dari ERROR(/String) untuk ditambahkan ke setiap perintah yang diurai dari file. Boleh kosong tapi tidak boleh null.

Melempar
ConfigurationException

menunggu

public void await ()

Menunggu scheduler mulai berjalan, termasuk menunggu handover dari TF lama hingga selesai jika ada.

checkDelegasi

public static TradefedDelegator checkDelegation (String[] args)

Buat delegator berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses.

Parameter
args String

Pengembalian
TradefedDelegator

Melempar
com.android.tradefed.config.ConfigurationException
ConfigurationException

buatReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Buat peta status perangkat agar dapat dirilis dengan tepat.

Parameter
context IInvocationContext

e Throwable

Pengembalian

createSandbox

public ISandbox createSandbox ()

Buat ISandbox yang akan digunakan pemanggilan untuk dijalankan.

Pengembalian
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Keluarkan info debug terperinci tentang keadaan antrian eksekusi perintah.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Keluarkan daftar perintah saat ini.

Parameter
printWriter PrintWriter : ERROR(/PrintWriter) untuk di-output.

regex String : ekspresi reguler yang perintahnya harus dicocokkan agar dapat dicetak. Jika null, maka semua perintah akan dicetak.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Menampilkan daftar doa saat ini.

Parameter
printWriter PrintWriter : ERROR(/PrintWriter) untuk di-output.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Buang file xml yang diperluas untuk perintah dengan semua nilai Option yang ditentukan untuk semua perintah saat ini.

Parameter
printWriter PrintWriter : ERROR(/PrintWriter) untuk menampilkan status.

regex String : ekspresi reguler yang perintahnya harus dicocokkan agar file xml dibuang. Jika null, maka semua perintah akan dibuang.

execCommand

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

Jalankan perintah secara langsung pada perangkat yang sudah dialokasikan.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener untuk diinformasikan

reservedDevices : ERROR(/List ) ERROR(/List ) untuk digunakan

args String : argumen perintah

Pengembalian
long Id pemanggilan dari perintah terjadwal.

Melempar
ConfigurationException

execCommand

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah menggunakan IInvocationContext yang sudah ada.

Parameter
context IInvocationContext : IInvocationContext yang sudah ada.

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener untuk diinformasikan

args String : argumen perintah

Pengembalian
long

Melempar
ConfigurationException
NoDeviceException

execCommand

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener untuk diinformasikan

args String : argumen perintah

Pengembalian
long Id pemanggilan dari perintah terjadwal.

Melempar
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Dapatkan CommandFileWatcher yang sesuai untuk penjadwal ini

Pengembalian
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Mengembalikan jumlah Perintah dalam status eksekusi.

Pengembalian
int

getHostState

public CommandScheduler.HostState getHostState ()

Pengembalian
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Kembalikan informasi pada pemanggilan bu yang menentukan id pemanggilan.

Parameter
invocationId int : id pelacakan dari doa.

Pengembalian
String ERROR(/String) yang berisi informasi tentang pemanggilan.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Kembalikan kode kesalahan dari pemanggilan terakhir yang dijalankan. Kembalikan 0 (tidak ada kesalahan), jika belum ada pemanggilan yang dijalankan.

Pengembalian
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Kembalikan ERROR(/Throwable) dari pemanggilan terakhir yang berjalan. Kembalikan nol, jika tidak tersedia lemparan.

Pengembalian
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Mengembalikan jumlah Perintah dalam status siap dalam antrean.

Pengembalian
int

getShutdownTimeout

public long getShutdownTimeout ()

Pengembalian
long

isDeviceInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

Mengembalikan nilai true jika perangkat digunakan oleh utas pemanggilan aktif.

Parameter
device ITestDevice

Pengembalian
boolean

is ShuttingDown

public boolean isShuttingDown ()

Pengembalian
boolean

beri tahuFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parameter
cmdFile File

extraArgs

hapusSemuaPerintah

public void removeAllCommands ()

Hapus semua perintah dari penjadwal

berlari

public void run ()

Blok eksekusi utama dari utas ini.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Atur klien untuk melaporkan data harness

Parameter
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Kembalikan true jika kita perlu mematikan penjadwal pada kesalahan perintah

Pengembalian
boolean

matikan

public void shutdown (boolean notifyStop)

Cobalah untuk mematikan penjadwal perintah dengan anggun.

Parameter
notifyStop boolean : jika benar, beri tahu pemanggilan penutupan TF.

shutdownHard

public void shutdownHard (boolean killAdb)

Mencoba mematikan paksa penjadwal perintah.

Mirip dengan shutdown() , tetapi juga secara opsional akan mematikan koneksi adb, dalam upaya untuk 'menginspirasi' pemanggilan yang sedang berlangsung agar selesai lebih cepat.

Parameter
killAdb boolean

shutdownHard

public void shutdownHard ()

Mencoba mematikan paksa penjadwal perintah. Sama seperti shutdownHard(true).

shutdownOnEmpty

public void shutdownOnEmpty ()

Mirip dengan shutdown() , tetapi akan menunggu semua perintah dieksekusi sebelum keluar.

Perhatikan bahwa jika ada perintah dalam mode loop, penjadwal tidak akan pernah keluar.

awal

public void start ()

Mulai penjadwal termasuk pengaturan logging, init DeviceManager dll

stopInvokasi

public boolean stopInvocation (ITestInvocation invocation)

Hentikan doa yang sedang berjalan.

Parameter
invocation ITestInvocation

Pengembalian
boolean benar jika pemanggilan dihentikan, salah jika sebaliknya

stopInvokasi

public boolean stopInvocation (int invocationId, 
                String cause)

Hentikan pemanggilan yang sedang berjalan dengan menentukan id-nya.

Parameter
invocationId int : id pelacakan dari doa.

cause String : penyebab untuk menghentikan doa.

Pengembalian
boolean benar jika pemanggilan dihentikan, salah jika sebaliknya

Metode yang dilindungi

membersihkan

protected void cleanUp ()

Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita keluar.

Terkena sehingga pengujian unit dapat mengejek.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parameter
args String

Pengembalian
IConfiguration

Melempar
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

Pengembalian
IInvocationContext

execCommand

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

Parameter
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

Pengembalian
long

Melempar
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metode pabrik untuk mendapatkan referensi ke IConfigurationFactory

Pengembalian
IConfigurationFactory IConfigurationFactory untuk digunakan

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

Pengembalian
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

Metode pabrik untuk mendapatkan referensi ke IDeviceManager

Pengembalian
IDeviceManager IDeviceManager untuk digunakan

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Pengembalian
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Pengembalian
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Mengambil IKeyStoreClient menggunakan IKeyStoreFactory yang dideklarasikan di IGlobalConfiguration atau null jika tidak ada yang ditentukan.

Pengembalian
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

Pengembalian
TestInvocationManagementServer

initLogging

protected void initLogging ()

Menginisialisasi log ddmlib.

Terkena sehingga pengujian unit dapat mengejek.

isShutdown

protected boolean isShutdown ()

Pengembalian
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parameter
manager IDeviceManager