tree 84368dbac2fa15af87274852e8fd52eba6d42dae
parent 0d57026fc86020cac2555c3618044f0b89445db5
author Nataniel Borges <natanieljr@google.com> 1625746255 +0200
committer Nataniel Borges <natanieljr@google.com> 1625845393 +0200

Improve flicker exception message

Currently the messages are confusing and hard to decipher. Use a different formatting for easier understanding.

Now a flicker exception looks like this (example):

Where? 0d12h54m27s596ms (timestamp=46467596061062)
What?
	Assertion never became false: isVisible(NavigationBar0#0)
	Passed assertions           : hidesLayer(NavigationBar0#0)
	Passed assertions           : isVisible(NavigationBar0#0)

Facts:
	Entry: 0d12h54m27s596ms (timestamp=46467596061062)
	Trace start: 0d12h54m27s496ms (timestamp=46467496937875)
	Trace end: 0d12h54m27s596ms (timestamp=46467596061062)
	Location: final state

Trace files:
	/sdcard/flicker/_0_wm_trace.pb
	/sdcard/flicker/_0_layers_trace.pb
	/sdcard/flicker/_0_transition.mp4

Cause:
	Reason: Expected exception
	at com.android.server.wm.flicker.FlickerDSLTest$failedAssertion$1.invoke(FlickerDSLTest.kt:235)
	at com.android.server.wm.flicker.FlickerDSLTest$failedAssertion$1.invoke(FlickerDSLTest.kt:234)
	at com.android.server.wm.flicker.assertions.AssertionData.checkAssertion(AssertionData.kt:47)
	at com.android.server.wm.flicker.FlickerResult.checkAssertion$platform_testing__libraries__flicker__android_common__flickerlib(FlickerResult.kt:64)
	at com.android.server.wm.flicker.Flicker.checkAssertion(Flicker.kt:140)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:246)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:245)
	at com.android.server.wm.flicker.UtilsKt.assertThrows(Utils.kt:77)
	at com.android.server.wm.flicker.FlickerDSLTest.exceptionContainsDebugInfo(FlickerDSLTest.kt:245)

Full stacktrace:

	at com.android.server.wm.flicker.assertions.FlickerAssertionErrorBuilder.build(FlickerAssertionError.kt:50)
	at com.android.server.wm.flicker.FlickerResult.checkAssertion$platform_testing__libraries__flicker__android_common__flickerlib(FlickerResult.kt:71)
	at com.android.server.wm.flicker.Flicker.checkAssertion(Flicker.kt:140)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:246)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:245)
	at com.android.server.wm.flicker.UtilsKt.assertThrows(Utils.kt:77)
	at com.android.server.wm.flicker.FlickerDSLTest.exceptionContainsDebugInfo(FlickerDSLTest.kt:245)
	... 8 trimmed
Caused by: Reason: Expected exception
	at com.android.server.wm.flicker.FlickerDSLTest$failedAssertion$1.invoke(FlickerDSLTest.kt:235)
	at com.android.server.wm.flicker.FlickerDSLTest$failedAssertion$1.invoke(FlickerDSLTest.kt:234)
	at com.android.server.wm.flicker.assertions.AssertionData.checkAssertion(AssertionData.kt:47)
	at com.android.server.wm.flicker.FlickerResult.checkAssertion$platform_testing__libraries__flicker__android_common__flickerlib(FlickerResult.kt:64)
	at com.android.server.wm.flicker.Flicker.checkAssertion(Flicker.kt:140)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:246)
	at com.android.server.wm.flicker.FlickerDSLTest$exceptionContainsDebugInfo$error$1.invoke(FlickerDSLTest.kt:245)
	at com.android.server.wm.flicker.UtilsKt.assertThrows(Utils.kt:77)
	at com.android.server.wm.flicker.FlickerDSLTest.exceptionContainsDebugInfo(FlickerDSLTest.kt:245)

Bug: 162925924
Test: atest FlickerTests WmShellFlickerTests
Change-Id: Ie4ce93727be4fac053c960949002d1b266ad4692
