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
30 files changed
tree: 84368dbac2fa15af87274852e8fd52eba6d42dae
  1. build/
  2. docs/
  3. emu_test/
  4. libraries/
  5. scripts/
  6. tests/
  7. utils/
  8. PREUPLOAD.cfg