diff options
-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) } |