diff options
author | Patrick Baumann <patb@google.com> | 2021-02-26 15:54:47 -0800 |
---|---|---|
committer | Patrick Baumann <patb@google.com> | 2021-02-26 15:54:47 -0800 |
commit | 83d50294148137a35beb77a35f729f5e22b21ee1 (patch) | |
tree | 424852d4bbd221c0f8a9d00a95f2f3ab15926485 | |
parent | 9793a678756b10496d4f8d87c64ebaedeec2732c (diff) |
Swallow parsing errors in parsing perf tests
This change swallows expected exceptions such as ignored overlays in the
package parsing perf tests.
Test: atest PackageParsingPerfTest
Fixes: 179430570
Fixes: 179430077
Change-Id: Iab09d5b8ae426f2208e1fad1987dd811ab911fa6
-rw-r--r-- | apct-tests/perftests/core/src/android/os/PackageParsingPerfTest.kt | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/apct-tests/perftests/core/src/android/os/PackageParsingPerfTest.kt b/apct-tests/perftests/core/src/android/os/PackageParsingPerfTest.kt index 1d94d7e8eca2..d5ed95f18f93 100644 --- a/apct-tests/perftests/core/src/android/os/PackageParsingPerfTest.kt +++ b/apct-tests/perftests/core/src/android/os/PackageParsingPerfTest.kt @@ -97,11 +97,21 @@ class PackageParsingPerfTest { private val state: BenchmarkState get() = perfStatusReporter.benchmarkState private val apks: List<File> get() = params.apks + private fun safeParse(parser: ParallelParser<*>, file: File) { + try { + parser.parse(file) + } catch (e: Exception) { + // ignore + } + } + @Test fun sequentialNoCache() { params.cacheDirToParser(null).use { parser -> while (state.keepRunning()) { - apks.forEach { parser.parse(it) } + apks.forEach { + safeParse(parser, it) + } } } } @@ -110,10 +120,10 @@ class PackageParsingPerfTest { fun sequentialCached() { params.cacheDirToParser(testFolder.newFolder()).use { parser -> // Fill the cache - apks.forEach { parser.parse(it) } + apks.forEach { safeParse(parser, it) } while (state.keepRunning()) { - apks.forEach { parser.parse(it) } + apks.forEach { safeParse(parser, it) } } } } @@ -132,7 +142,7 @@ class PackageParsingPerfTest { fun parallelCached() { params.cacheDirToParser(testFolder.newFolder()).use { parser -> // Fill the cache - apks.forEach { parser.parse(it) } + apks.forEach { safeParse(parser, it) } while (state.keepRunning()) { apks.forEach { parser.submit(it) } |