ResultDBReporter

public class ResultDBReporter
extends Object implements IConfigurationReceiver, ILogSaverListener, ISupportGranularResults, ITestSummaryListener

java.lang.Object
   ↳ com.android.tradefed.result.resultdb.ResultDBReporter


Pelapor hasil yang mengupload hasil pengujian ke ResultDB.

Ringkasan

Kolom

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

Konstruktor publik

ResultDBReporter()

Metode publik

TestSummary getSummary()

Memungkinkan InvocationListener menampilkan ringkasan.

void invocationEnded(long elapsedTime)

Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena kondisi error tertentu.

void invocationFailed(FailureDescription failure)

Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu.

void invocationFailed(Throwable cause)

Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu.

void invocationSkipped(SkipReason reason)

Melaporkan pemanggilan sebagai dilewati

void invocationStarted(IInvocationContext context)

Melaporkan dimulainya pemanggilan pengujian.

boolean isDisabled()
void logAssociation(String dataName, LogFile logFile)

Dalam beberapa kasus, log harus dikaitkan secara kuat dengan kasus pengujian, tetapi peluang untuk melakukannya pada callback testLogSaved(String,LogDataType,InputStreamSource,LogFile) langsung tidak memungkinkan.

void setConfiguration(IConfiguration configuration)

Menyisipkan IConfiguration yang sedang digunakan.

void setLogSaver(ILogSaver logSaver)

Tetapkan ILogSaver untuk mengizinkan pelaksana menyimpan file.

boolean supportGranularResults()

Menampilkan Benar jika pelapor mendukung hasil terperinci, salah jika tidak.

void testAssumptionFailure(TestDescription test, String trace)

Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false)

void testAssumptionFailure(TestDescription test, FailureDescription failure)

Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false)

void testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)

Alternatif untuk testEnded(TestDescription,Map) tempat kita dapat menentukan waktu berakhir secara langsung.

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

Melaporkan akhir eksekusi kasus pengujian individu.

void testFailed(TestDescription test, FailureDescription failure)

Melaporkan kegagalan kasus pengujian individu.

void testFailed(TestDescription test, String trace)

Melaporkan kegagalan kasus pengujian individu.

void testIgnored(TestDescription test)

Dipanggil saat pengujian tidak akan dijalankan, biasanya karena metode pengujian dianotasi dengan org.junit.Ignore.

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

Menyediakan data log atau debug terkait dari pemanggilan pengujian.

void testModuleEnded()

Melaporkan akhir proses modul.

void testModuleStarted(IInvocationContext moduleContext)

Melaporkan awal modul yang berjalan.

void testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)

Melaporkan akhir eksekusi pengujian.

void testRunFailed(FailureDescription failure)

Operasi pengujian laporan gagal diselesaikan karena kegagalan yang dijelaskan oleh FailureDescription.

void testRunFailed(String errorMessage)

Uji coba laporan gagal diselesaikan karena terjadi error fatal.

void testRunStarted(String runName, int testCount, int attemptNumber)

Melaporkan dimulainya proses pengujian.

void testRunStarted(String runName, int testCount)

Melaporkan dimulainya proses pengujian.

void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

Melaporkan dimulainya proses pengujian.

void testRunStopped(long elapsedTime)

Uji coba laporan dihentikan sebelum selesai karena permintaan pengguna.

void testSkipped(TestDescription test, SkipReason reason)

Dipanggil saat pengujian dilewati dan tidak dijalankan karena alasan yang biasanya tidak diharapkan.

void testStarted(TestDescription test, long startTime)

Alternatif untuk testStarted(TestDescription) yang juga menentukan kapan pengujian dimulai, dikombinasikan dengan testEnded(TestDescription,long,Map) untuk pengukuran yang akurat.

void testStarted(TestDescription test)

Melaporkan dimulainya kasus pengujian individu.

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

Mengupload jalur penyimpanan artefak pengujian AnTS ke ResultDB.

Kolom

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

Konstruktor publik

ResultDBReporter

public ResultDBReporter ()

Metode publik

getSummary

public TestSummary getSummary ()

Memungkinkan InvocationListener menampilkan ringkasan.

Hasil
TestSummary TestSummary yang meringkas proses, atau null

invocationEnded

public void invocationEnded (long elapsedTime)

Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena kondisi error tertentu.

Akan dipanggil secara otomatis oleh framework TradeFederation.

Parameter
elapsedTime long: waktu yang berlalu dari pemanggilan dalam md

invocationFailed

public void invocationFailed (FailureDescription failure)

Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu.

Akan dipanggil secara otomatis oleh framework TradeFederation.

Parameter
failure FailureDescription: FailureDescription yang menjelaskan penyebab kegagalan

invocationFailed

public void invocationFailed (Throwable cause)

Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu.

Akan dipanggil secara otomatis oleh framework TradeFederation.

Parameter
cause Throwable: penyebab kegagalan Throwable

invocationSkipped

public void invocationSkipped (SkipReason reason)

Melaporkan pemanggilan sebagai dilewati

Parameter
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

Melaporkan dimulainya pemanggilan pengujian.

Akan dipanggil secara otomatis oleh framework TradeFederation. Pelapor perlu mengganti metode ini untuk mendukung pelaporan dari beberapa perangkat.

Parameter
context IInvocationContext: informasi tentang pemanggilan

isDisabled

public boolean isDisabled ()

Hasil
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

Dalam beberapa kasus, log harus dikaitkan secara kuat dengan kasus pengujian, tetapi peluang untuk melakukannya pada callback testLogSaved(String,LogDataType,InputStreamSource,LogFile) langsung tidak memungkinkan. Dengan demikian, callback ini memungkinkan untuk memberikan asosiasi yang kuat secara eksplisit.

Parameter
dataName String: Nama data

logFile LogFile: LogFile yang dicatat sebelumnya dan harus dikaitkan dengan kasus pengujian.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Menyisipkan IConfiguration yang sedang digunakan.

Parameter
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

Tetapkan ILogSaver untuk mengizinkan pelaksana menyimpan file.

Parameter
logSaver ILogSaver: ILogSaver

supportGranularResults

public boolean supportGranularResults ()

Menampilkan Benar jika pelapor mendukung hasil terperinci, salah jika tidak.

Hasil
boolean

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false)

Parameter
test TestDescription: mengidentifikasi pengujian

trace String: stack trace kegagalan

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false)

Parameter
test TestDescription: mengidentifikasi pengujian

failure FailureDescription: FailureDescription yang menjelaskan kegagalan dan konteksnya.

testEnded

public void testEnded (TestDescription test, 
                long endTime, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Alternatif untuk testEnded(TestDescription,Map) tempat kita dapat menentukan waktu berakhir secara langsung. Gabungkan dengan testStarted(TestDescription,long) untuk pengukuran yang akurat.

Parameter
test TestDescription: mengidentifikasi pengujian

endTime long: waktu berakhirnya pengujian, diukur melalui System.currentTimeMillis()

testMetrics HashMap: Map metrik yang dikeluarkan

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Melaporkan akhir eksekusi kasus pengujian individu.

Jika testFailed(TestDescription, FailureDescription) tidak dipanggil, pengujian ini lulus. Juga menampilkan metrik kunci/nilai yang mungkin telah dikeluarkan selama eksekusi kasus pengujian.

Parameter
test TestDescription: mengidentifikasi pengujian

testMetrics HashMap: Map metrik yang dikeluarkan

testFailed

public void testFailed (TestDescription test, 
                FailureDescription failure)

Melaporkan kegagalan kasus pengujian individu.

Akan dipanggil antara testStarted dan testEnded.

Parameter
test TestDescription: mengidentifikasi pengujian

failure FailureDescription: FailureDescription yang menjelaskan kegagalan dan konteksnya.

testFailed

public void testFailed (TestDescription test, 
                String trace)

Melaporkan kegagalan kasus pengujian individu.

Akan dipanggil antara testStarted dan testEnded.

Parameter
test TestDescription: mengidentifikasi pengujian

trace String: stack trace kegagalan

testIgnored

public void testIgnored (TestDescription test)

Dipanggil saat pengujian tidak akan dijalankan, biasanya karena metode pengujian dianotasi dengan org.junit.Ignore.

Parameter
test TestDescription: mengidentifikasi pengujian

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Menyediakan data log atau debug terkait dari pemanggilan pengujian.

Harus dipanggil sebelum ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) atau ERROR(/ITestInvocationListener#invocationEnded(long))

Framework TradeFederation akan otomatis memanggil metode ini, yang menyediakan log host dan jika berlaku, logcat perangkat.

Parameter
dataName String: nama deskriptif String data. Misalnya, "device_logcat". Catatan dataName mungkin tidak unik per pemanggilan. Artinya, pelaksana harus dapat menangani beberapa panggilan dengan dataName yang sama

dataType LogDataType: LogDataType data

dataStream InputStreamSource: InputStreamSource data. Pelaksana harus memanggil createInputStream untuk mulai membaca data, dan memastikan untuk menutup InputStream yang dihasilkan setelah selesai. Pemanggil harus memastikan sumber data tetap ada dan dapat diakses hingga metode testLog selesai.

testModuleEnded

public void testModuleEnded ()

Melaporkan akhir proses modul.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Melaporkan awal modul yang berjalan. Callback ini terkait dengan testModuleEnded() dan bersifat opsional dalam urutan. Hanya digunakan selama menjalankan modul yang menggunakan runner berbasis rangkaian pengujian.

Parameter
moduleContext IInvocationContext: IInvocationContext modul.

testRunEnded

public void testRunEnded (long elapsedTimeMillis, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Melaporkan akhir eksekusi pengujian. FIXME: Kita tidak dapat memiliki dua antarmuka Map<> dengan jenis yang berbeda, jadi kita harus menggunakan HashMap di sini.

Parameter
elapsedTimeMillis long: waktu berlalu yang dilaporkan perangkat, dalam milidetik

runMetrics HashMap: pasangan nilai kunci yang dilaporkan di akhir proses pengujian dengan Metric.

testRunFailed

public void testRunFailed (FailureDescription failure)

Operasi pengujian laporan gagal diselesaikan karena kegagalan yang dijelaskan oleh FailureDescription.

Parameter
failure FailureDescription: FailureDescription yang menjelaskan kegagalan dan konteksnya.

testRunFailed

public void testRunFailed (String errorMessage)

Uji coba laporan gagal diselesaikan karena terjadi error fatal.

Parameter
errorMessage String: String yang menjelaskan alasan kegagalan operasi.

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

Melaporkan dimulainya proses pengujian.

Parameter
runName String: nama uji coba

testCount int: jumlah total pengujian dalam operasi pengujian

attemptNumber int: nomor pesanan, yang mengidentifikasi berbagai upaya runName yang sama yang dijalankan beberapa kali. attemptNumber diindeks 0 dan harus bertambah setiap kali ada proses baru. Misalnya, pengujian dicoba ulang secara terperinci 3 kali, maka akan ada total 4 proses dalam runName yang sama dan attemptNumber-nya adalah dari 0 hingga 3.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Melaporkan dimulainya proses pengujian.

Parameter
runName String: nama uji coba

testCount int: jumlah total pengujian dalam operasi pengujian

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

Melaporkan dimulainya proses pengujian.

Parameter
runName String: nama uji coba

testCount int: jumlah total pengujian dalam operasi pengujian

attemptNumber int: nomor pesanan, yang mengidentifikasi berbagai upaya runName yang sama yang dijalankan beberapa kali. attemptNumber diindeks 0 dan harus bertambah setiap kali ada run baru. Misalnya, pengujian dicoba ulang secara terperinci 3 kali, maka akan ada total 4 run dengan runName yang sama dan attemptNumber dari 0 hingga 3.

startTime long: waktu mulai eksekusi, diukur melalui System.currentTimeMillis()

testRunStopped

public void testRunStopped (long elapsedTime)

Uji coba laporan dihentikan sebelum selesai karena permintaan pengguna.

TODO: saat ini tidak digunakan, pertimbangkan untuk menghapusnya

Parameter
elapsedTime long: waktu berlalu yang dilaporkan perangkat, dalam milidetik

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

Dipanggil saat pengujian dilewati dan tidak dijalankan karena alasan yang biasanya tidak diharapkan. Pengujian ini akan dicoba lagi untuk mendapatkan eksekusi yang tepat.

Parameter
test TestDescription: mengidentifikasi pengujian

reason SkipReason: SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

Alternatif untuk testStarted(TestDescription) yang juga menentukan kapan pengujian dimulai, dikombinasikan dengan testEnded(TestDescription,long,Map) untuk pengukuran yang akurat.

Parameter
test TestDescription: mengidentifikasi pengujian

startTime long: waktu dimulainya pengujian, diukur melalui System.currentTimeMillis()

testStarted

public void testStarted (TestDescription test)

Melaporkan dimulainya kasus pengujian individu. Antarmuka lama, sebaiknya gunakan testStarted(TestDescription) jika memungkinkan.

Parameter
test TestDescription: mengidentifikasi pengujian

uploadStoragePath

public void uploadStoragePath (String resourceId, 
                String storagePath, 
                LogFile logFile)

Mengupload jalur penyimpanan artefak pengujian AnTS ke ResultDB.

Ini adalah solusi sementara untuk migrasi dari AnTS ke ResultDB (lihat go/convergence-tr). Metode ini harus dipanggil oleh pelapor AnTS saat jalur penyimpanan artefak tersedia.

Pelapor AnTS menjamin akan memanggil metode ini untuk setiap artefak yang diuploadnya. Reporter ini, pada gilirannya, akan mengupload semua artefak tersebut ke ResultDB dengan asosiasi pengujian yang benar. Untuk mengaitkan log dengan benar,logAssociation(String,LogFile) harus dipanggil untuk ID resource yang sama sebelumnya. Hal ini memastikan bahwa artefak sudah dilacak. Jika tidak, artefak akan dikaitkan dengan unit kerja tingkat teratas dari pemanggilan tradefed.

Metode ini tidak boleh dipanggil sebelum invocationStarted(IInvocationContext). Metode ini dapat dipanggil setelah invocationEnded(long) untuk pemanggilan yang dikelola oleh sistem hulu, karena tidak diselesaikan oleh pelapor ini. Hal ini tidak berlaku untuk pemanggilan yang dibuat secara lokal, yang diselesaikan di invocationEnded(long).

TODO(b/464941055): Hapus metode ini setelah kita dapat memigrasikan artefak AnTS dengan benar ke ResultDB.

Parameter
resourceId String: ID resource artefak.

storagePath String: Jalur penyimpanan artefak (misalnya, jalur /bigstore/).

logFile LogFile: Objek LogFile yang terkait dengan artefak.