From 83d50294148137a35beb77a35f729f5e22b21ee1 Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Fri, 26 Feb 2021 15:54:47 -0800 Subject: [PATCH] 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 --- .../src/android/os/PackageParsingPerfTest.kt | 18 ++++++++++++++---- 1 file 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 1d94d7e8eca2b..d5ed95f18f931 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 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) }