diff options
Diffstat (limited to 'tests/testables/src/android/testing/TestableInstrumentation.java')
-rw-r--r-- | tests/testables/src/android/testing/TestableInstrumentation.java | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/tests/testables/src/android/testing/TestableInstrumentation.java b/tests/testables/src/android/testing/TestableInstrumentation.java index 3207b486b329..c35dc68e071f 100644 --- a/tests/testables/src/android/testing/TestableInstrumentation.java +++ b/tests/testables/src/android/testing/TestableInstrumentation.java @@ -38,22 +38,26 @@ public class TestableInstrumentation extends AndroidJUnitRunner { @Override public void onCreate(Bundle arguments) { - sManager = new MainLooperManager(); - Log.setWtfHandler((tag, what, system) -> { - if (system) { - Log.e(TAG, "WTF!!", what); - } else { - // These normally kill the app, but we don't want that in a test, instead we want - // it to throw. - throw new RuntimeException(what); - } - }); + if (TestableLooper.HOLD_MAIN_THREAD) { + sManager = new MainLooperManager(); + Log.setWtfHandler((tag, what, system) -> { + if (system) { + Log.e(TAG, "WTF!!", what); + } else { + // These normally kill the app, but we don't want that in a test, instead we want + // it to throw. + throw new RuntimeException(what); + } + }); + } super.onCreate(arguments); } @Override public void finish(int resultCode, Bundle results) { - sManager.destroy(); + if (TestableLooper.HOLD_MAIN_THREAD) { + sManager.destroy(); + } super.finish(resultCode, results); } |