Deflake the test by verifying with exactly one OOME allocation
Test: atest the cts tests
Bug: 268461551
Change-Id: Id60ab793fec140769663cbde51a552dc20ff1d29
diff --git a/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java b/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
index 4165a92..f73c135 100644
--- a/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
+++ b/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
@@ -19,36 +19,15 @@
import android.app.Activity;
import android.os.Bundle;
-import java.util.ArrayList;
-
public class JavaOomActivity extends Activity {
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
-
- new Thread(new Runnable() {
- public void run() {
- try {
- runAllocationLoop();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
+ new Thread(() -> {
+ try {
+ byte[] alloc = new byte[Integer.MAX_VALUE];
+ } catch (OutOfMemoryError e) {
}
}).start();
}
-
- private static void runAllocationLoop() {
- ArrayList<byte[]> leaky = new ArrayList<>();
- try {
- for (;;) {
- leaky.add(new byte[1024 * 1024]);
- try {
- Thread.sleep(10);
- } catch (InterruptedException ignored) {
- }
- }
- } catch (OutOfMemoryError e) {
- leaky.clear();
- }
- }
}