Improve flakiness of PlatformCompatGating test

The PlatformCompatGating test did not close the ParcelFileDescriptor
opened by UIAutomation.executeShellCommand, which is the likely culprit
of the test throwing a java.io.InterruptedIOException randomly.
The documentation for executeShellCommand requires the users to do the
cleanup themselves.

Test: atest PlatformCompatGating
Bug: 178108878
Change-Id: Iaf4d82d5fe4170931d2c59f2978e545b15e940b0
This commit is contained in:
Andrei Onea
2021-01-25 16:47:40 +00:00
parent f1d5754c10
commit c202da86ba

View File

@@ -131,6 +131,10 @@ class PlatformCompatCommandNotInstalledTest {
assertThat(platformCompat.isChangeEnabled(TEST_CHANGE_ID, appInfo)).isEqualTo(params.result)
}
private fun command(command: String) =
FileReader(uiAutomation.executeShellCommand(command).fileDescriptor).readText()
private fun command(command: String): String {
val fileDescriptor = uiAutomation.executeShellCommand(command)
return String(ParcelFileDescriptor.AutoCloseInputStream(fileDescriptor).use {
inputStream -> inputStream.readBytes()
})
}
}