ResultDBReporter

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

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


เครื่องมือรายงานผลลัพธ์ที่อัปโหลดผลการทดสอบไปยัง ResultDB

สรุป

ฟิลด์

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

เครื่องมือสร้างสาธารณะ

ResultDBReporter()

เมธอดสาธารณะ

TestSummary getSummary()

อนุญาตให้ InvocationListener แสดงผลสรุป

void invocationEnded(long elapsedTime)

รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

void invocationFailed(FailureDescription failure)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

void invocationFailed(Throwable cause)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

void invocationSkipped(SkipReason reason)

รายงานการเรียกใช้ว่าข้าม

void invocationStarted(IInvocationContext context)

รายงานการเริ่มต้นการเรียกใช้การทดสอบ

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

ในบางกรณี บันทึกต้องเชื่อมโยงกับกรณีทดสอบอย่างใกล้ชิด แต่ไม่สามารถดำเนินการดังกล่าวในtestLogSaved(String,LogDataType,InputStreamSource,LogFile) การเรียกกลับโดยตรงได้

void setConfiguration(IConfiguration configuration)

แทรก IConfiguration ที่ใช้งานอยู่

void setLogSaver(ILogSaver logSaver)

ตั้งค่า ILogSaver เพื่ออนุญาตให้ผู้ติดตั้งใช้งานบันทึกไฟล์

boolean supportGranularResults()

แสดงค่า True หากผู้รายงานรองรับผลลัพธ์แบบละเอียด หรือแสดงค่า False หากไม่รองรับ

void testAssumptionFailure(TestDescription test, String trace)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

void testAssumptionFailure(TestDescription test, FailureDescription failure)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

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

ทางเลือกแทน testEnded(TestDescription,Map) ซึ่งเราสามารถระบุเวลาสิ้นสุด ได้โดยตรง

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

รายงานจุดสิ้นสุดของการดำเนินการของกรณีทดสอบแต่ละรายการ

void testFailed(TestDescription test, FailureDescription failure)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

void testFailed(TestDescription test, String trace)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

void testIgnored(TestDescription test)

เรียกใช้เมื่อจะไม่ทำการทดสอบ โดยทั่วไปเนื่องจากมีการใส่คำอธิบายประกอบเมธอดทดสอบด้วย org.junit.Ignore

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

แสดงบันทึกหรือข้อมูลการแก้ไขข้อบกพร่องที่เกี่ยวข้องจากการเรียกใช้การทดสอบ

void testModuleEnded()

รายงานการสิ้นสุดการเรียกใช้โมดูล

void testModuleStarted(IInvocationContext moduleContext)

รายงานการเริ่มต้นการทำงานของโมดูล

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

รายงานสิ้นสุดการทดสอบ

void testRunFailed(FailureDescription failure)

การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากความล้มเหลวที่อธิบายโดย FailureDescription

void testRunFailed(String errorMessage)

การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดร้ายแรง

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

รายงานการเริ่มต้นการทดสอบ

void testRunStarted(String runName, int testCount)

รายงานการเริ่มต้นการทดสอบ

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

รายงานการเริ่มต้นการทดสอบ

void testRunStopped(long elapsedTime)

การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้

void testSkipped(TestDescription test, SkipReason reason)

เรียกใช้เมื่อข้ามการทดสอบและไม่ได้ดำเนินการด้วยเหตุผลที่ไม่คาดคิด

void testStarted(TestDescription test, long startTime)

ทางเลือกแทน testStarted(TestDescription) ซึ่งเรายังระบุเวลาที่เริ่มการทดสอบ ร่วมกับ testEnded(TestDescription,long,Map) เพื่อการวัดที่แม่นยำ

void testStarted(TestDescription test)

รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ

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

อัปโหลดเส้นทางการจัดเก็บอาร์ติแฟกต์การทดสอบ AnTS ไปยัง ResultDB

ทุ่ง

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

เครื่องมือสร้างสาธารณะ

ResultDBReporter

public ResultDBReporter ()

เมธอดสาธารณะ

getSummary

public TestSummary getSummary ()

อนุญาตให้ InvocationListener แสดงผลสรุป

การคืนสินค้า
TestSummary TestSummary ที่สรุปการเรียกใช้ หรือ null

invocationEnded

public void invocationEnded (long elapsedTime)

รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ

พารามิเตอร์
elapsedTime long: เวลาที่ผ่านไปของการเรียกใช้ในหน่วยมิลลิวินาที

invocationFailed

public void invocationFailed (FailureDescription failure)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ

พารามิเตอร์
failure FailureDescription: FailureDescription ที่อธิบายสาเหตุของการดำเนินการไม่สำเร็จ

invocationFailed

public void invocationFailed (Throwable cause)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ

พารามิเตอร์
cause Throwable: สาเหตุที่ Throwable ทำงานไม่สำเร็จ

invocationSkipped

public void invocationSkipped (SkipReason reason)

รายงานการเรียกใช้ว่าข้าม

พารามิเตอร์
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

รายงานการเริ่มต้นการเรียกใช้การทดสอบ

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ ผู้รายงานต้องลบล้าง เมธอดนี้เพื่อรองรับการรายงานจากอุปกรณ์หลายเครื่อง

พารามิเตอร์
context IInvocationContext: ข้อมูลเกี่ยวกับการเรียกใช้

isDisabled

public boolean isDisabled ()

การคืนสินค้า
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

ในบางกรณี บันทึกต้องเชื่อมโยงกับกรณีทดสอบอย่างใกล้ชิด แต่ไม่สามารถดำเนินการดังกล่าวในtestLogSaved(String,LogDataType,InputStreamSource,LogFile) การเรียกกลับโดยตรงได้ ดังนั้น Callback นี้จึงช่วยให้เชื่อมโยงได้อย่างชัดเจน

พารามิเตอร์
dataName String: ชื่อข้อมูล

logFile LogFile: LogFile ที่บันทึกไว้ก่อนหน้านี้และควรเชื่อมโยงกับ กรณีทดสอบ

setConfiguration

public void setConfiguration (IConfiguration configuration)

แทรก IConfiguration ที่ใช้งานอยู่

พารามิเตอร์
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

ตั้งค่า ILogSaver เพื่ออนุญาตให้ผู้ติดตั้งใช้งานบันทึกไฟล์

พารามิเตอร์
logSaver ILogSaver: ILogSaver

supportGranularResults

public boolean supportGranularResults ()

แสดงค่า True หากผู้รายงานรองรับผลลัพธ์แบบละเอียด หรือแสดงค่า False หากไม่รองรับ

การคืนสินค้า
boolean

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

trace String: สแต็กเทรซของความล้มเหลว

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

failure FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น

testEnded

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

ทางเลือกแทน testEnded(TestDescription,Map) ซึ่งเราสามารถระบุเวลาสิ้นสุด ได้โดยตรง รวมกับ testStarted(TestDescription,long) เพื่อการวัดที่แม่นยำ

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

endTime long: เวลาที่การทดสอบสิ้นสุดลง ซึ่งวัดผ่าน System.currentTimeMillis()

testMetrics HashMap: Map ของเมตริกที่ปล่อยออกมา

testEnded

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

รายงานจุดสิ้นสุดของการดำเนินการของกรณีทดสอบแต่ละรายการ

หากไม่ได้เรียกใช้ testFailed(TestDescription, FailureDescription) การทดสอบนี้จะผ่าน นอกจากนี้ยังแสดงผลเมตริกคีย์/ค่า ที่อาจมีการปล่อยออกมาในระหว่างการดำเนินการของกรณีทดสอบด้วย

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

testMetrics HashMap: Map ของเมตริกที่ปล่อยออกมา

testFailed

public void testFailed (TestDescription test, 
                FailureDescription failure)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

จะเรียกใช้ระหว่าง testStarted และ testEnded

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

failure FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น

testFailed

public void testFailed (TestDescription test, 
                String trace)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

จะเรียกใช้ระหว่าง testStarted และ testEnded

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

trace String: สแต็กเทรซของความล้มเหลว

testIgnored

public void testIgnored (TestDescription test)

เรียกใช้เมื่อจะไม่ทำการทดสอบ โดยทั่วไปเนื่องจากมีการใส่คำอธิบายประกอบเมธอดทดสอบด้วย org.junit.Ignore

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

testLog

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

แสดงบันทึกหรือข้อมูลการแก้ไขข้อบกพร่องที่เกี่ยวข้องจากการเรียกใช้การทดสอบ

ต้องเรียกใช้ก่อน ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) หรือ ERROR(/ITestInvocationListener#invocationEnded(long))

เฟรมเวิร์ก TradeFederation จะเรียกใช้เมธอดนี้โดยอัตโนมัติ พร้อมระบุบันทึกของโฮสต์ และหากเกี่ยวข้อง ก็จะระบุ logcat ของอุปกรณ์ด้วย

พารามิเตอร์
dataName String: String ชื่อที่สื่อความหมายของข้อมูล เช่น "device_logcat" หมายเหตุ dataName อาจไม่ซ้ำกันต่อการเรียกใช้ 1 ครั้ง กล่าวคือ ผู้ใช้ต้องสามารถจัดการ การเรียกหลายครั้งที่มี dataName เดียวกันได้

dataType LogDataType: LogDataType ของข้อมูล

dataStream InputStreamSource: InputStreamSource ของข้อมูล ผู้ใช้ควรเรียกใช้ createInputStream เพื่อเริ่มอ่านข้อมูล และตรวจสอบว่าได้ปิด InputStream ที่ได้เมื่อดำเนินการเสร็จแล้ว ผู้โทรควรตรวจสอบว่าแหล่งที่มาของข้อมูลยังคง อยู่และเข้าถึงได้จนกว่าเมธอด testLog จะเสร็จสมบูรณ์

testModuleEnded

public void testModuleEnded ()

รายงานการสิ้นสุดการเรียกใช้โมดูล

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

รายงานการเริ่มต้นการทำงานของโมดูล โดยการเรียกกลับนี้เชื่อมโยงกับ testModuleEnded() และเป็นแบบไม่บังคับในลำดับ โดยจะใช้เฉพาะในระหว่างการเรียกใช้ที่ใช้โมดูล ซึ่งเป็นโปรแกรมเรียกใช้ตามชุดทดสอบ

พารามิเตอร์
moduleContext IInvocationContext: IInvocationContext ของโมดูล

testRunEnded

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

รายงานสิ้นสุดการทดสอบ FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

พารามิเตอร์
elapsedTimeMillis long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที

runMetrics HashMap: คู่คีย์-ค่าที่รายงานเมื่อสิ้นสุดการทดสอบด้วย Metric

testRunFailed

public void testRunFailed (FailureDescription failure)

การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากความล้มเหลวที่อธิบายโดย FailureDescription

พารามิเตอร์
failure FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น

testRunFailed

public void testRunFailed (String errorMessage)

การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดร้ายแรง

พารามิเตอร์
errorMessage String: String อธิบายเหตุผลที่การเรียกใช้ล้มเหลว

testRunStarted

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

รายงานการเริ่มต้นการทดสอบ

พารามิเตอร์
runName String: ชื่อการทดสอบ

testCount int: จำนวนการทดสอบทั้งหมดในการทดสอบ

attemptNumber int: หมายเลขคำสั่งซื้อ ซึ่งระบุความพยายามต่างๆ ของ runName เดียวกัน ที่เรียกใช้หลายครั้ง attemptNumber มีดัชนีเป็น 0 และควรเพิ่มขึ้นทุกครั้งที่ มีการเรียกใช้ใหม่ เช่น หากมีการลองใหม่แบบละเอียด 3 ครั้ง การทดสอบควรมีการเรียกใช้ทั้งหมด 4 ครั้ง ภายใต้ runName เดียวกัน และ attemptNumber จะมีค่าตั้งแต่ 0 ถึง 3

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

รายงานการเริ่มต้นการทดสอบ

พารามิเตอร์
runName String: ชื่อการทดสอบ

testCount int: จำนวนการทดสอบทั้งหมดในการทดสอบ

testRunStarted

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

รายงานการเริ่มต้นการทดสอบ

พารามิเตอร์
runName String: ชื่อการทดสอบ

testCount int: จำนวนการทดสอบทั้งหมดในการทดสอบ

attemptNumber int: หมายเลขคำสั่งซื้อ ซึ่งระบุความพยายามต่างๆ ของ runName เดียวกัน ที่เรียกใช้หลายครั้ง attemptNumber จะมีดัชนีเป็น 0 และควรเพิ่มขึ้นทุกครั้งที่มีการเรียกใช้ใหม่ เช่น หากมีการลองใหม่แบบละเอียด 3 ครั้ง การทดสอบควรมีการเรียกใช้ทั้งหมด 4 ครั้งภายใต้ runName เดียวกัน และ attemptNumber จะมีค่าตั้งแต่ 0 ถึง 3

startTime long: เวลาที่การวิ่งเริ่มต้น ซึ่งวัดผ่าน System.currentTimeMillis()

testRunStopped

public void testRunStopped (long elapsedTime)

การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้

TODO: currently unused, consider removing

พารามิเตอร์
elapsedTime long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

เรียกใช้เมื่อข้ามการทดสอบและไม่ได้ดำเนินการด้วยเหตุผลที่ไม่คาดคิด ระบบจะพยายามลองทดสอบเหล่านี้อีกครั้งเพื่อให้ดำเนินการได้อย่างถูกต้อง

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

reason SkipReason: SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

ทางเลือกแทน testStarted(TestDescription) ซึ่งเรายังระบุเวลาที่เริ่มการทดสอบ ร่วมกับ testEnded(TestDescription,long,Map) เพื่อการวัดที่แม่นยำ

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

startTime long: เวลาที่การทดสอบเริ่มต้น วัดผ่าน System.currentTimeMillis()

testStarted

public void testStarted (TestDescription test)

รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ อินเทอร์เฟซรุ่นเก่าควรใช้ testStarted(TestDescription) เมื่อเป็นไปได้

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

uploadStoragePath

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

อัปโหลดเส้นทางการจัดเก็บอาร์ติแฟกต์การทดสอบ AnTS ไปยัง ResultDB

นี่เป็นโซลูชันชั่วคราวสำหรับการย้ายข้อมูลจาก AnTS ไปยัง ResultDB (ดู go/convergence-tr) ผู้รายงาน AnTS ควรเรียกใช้เมธอดนี้เมื่อเส้นทางการจัดเก็บของอาร์ติแฟกต์พร้อมใช้งาน

ผู้รายงาน AnTS รับประกันว่าจะเรียกใช้วิธีนี้สำหรับอาร์ติแฟกต์ทุกรายการที่อัปโหลด ผู้รายงาน นี้จะอัปโหลดอาร์ติแฟกต์ดังกล่าวทั้งหมดไปยัง ResultDB พร้อมการเชื่อมโยงการทดสอบที่ถูกต้อง ต้องเรียกใช้ logAssociation(String,LogFile) สำหรับรหัสทรัพยากรเดียวกันก่อนหน้านี้เพื่อให้เชื่อมโยงบันทึกได้อย่างถูกต้อง ซึ่งช่วยให้มั่นใจได้ว่าระบบติดตามอาร์ติแฟกต์ อยู่แล้ว ไม่เช่นนั้น อาร์ติแฟกต์จะเชื่อมโยงกับหน่วยงานระดับบนสุด ของการเรียกใช้ Tradefed

ห้ามเรียกใช้เมธอดนี้ก่อน invocationStarted(IInvocationContext) คุณเรียกใช้ได้หลังจาก invocationEnded(long) สำหรับการเรียกใช้ที่จัดการโดยระบบต้นทาง เนื่องจากเครื่องมือรายงานนี้ไม่ได้สรุปผล การดำเนินการนี้ไม่มีผลกับการเรียกใช้ที่สร้างขึ้นในเครื่อง ซึ่งจะเสร็จสมบูรณ์ใน invocationEnded(long)

TODO(b/464941055): Remove this method once we can properly migrate AnTS artifacts to ResultDB.

พารามิเตอร์
resourceId String: รหัสทรัพยากรของอาร์ติแฟกต์

storagePath String: เส้นทางการจัดเก็บของอาร์ติแฟกต์ (เช่น เส้นทาง /bigstore/)

logFile LogFile: ออบเจ็กต์ LogFile ที่เชื่อมโยงกับอาร์ติแฟกต์