FontScaleConverterFactoryTest: 15x perf increase
Most of the time is spent in object allocation for the assert. Check to see if the calculation would fail, and only actually run the assert if it fails. Test: atest FontScaleConverterFactoryTest#allFeasibleScalesAndConversionsDoNotCrash Bug: 270054472 Change-Id: Id879c5442869766ec89e5e8173152d2db6631fd4
This commit is contained in:
committed by
Tyler Freeman
parent
f19df858fa
commit
9753dd7438
@@ -90,9 +90,13 @@ class FontScaleConverterFactoryTest {
|
||||
}
|
||||
.forEach { (table, sp) ->
|
||||
try {
|
||||
assertWithMessage("convertSpToDp(%s) on table: %s", sp, table)
|
||||
.that(table.convertSpToDp(sp))
|
||||
.isFinite()
|
||||
// Truth is slow because it creates a bunch of
|
||||
// objects. Don't use it unless we need to.
|
||||
if (!table.convertSpToDp(sp).isFinite()) {
|
||||
assertWithMessage("convertSpToDp(%s) on table: %s", sp, table)
|
||||
.that(table.convertSpToDp(sp))
|
||||
.isFinite()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
throw AssertionError("Exception during convertSpToDp($sp) on table: $table", e)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user