Fix test failure due to out of UI thread runnning.

After Ie8c42d60a0bff7636795a958a475058798061fe5,
ActivityTestRule is no longer a subclass of UiThreadTestRule, and looks
like the new UiThreadTest annotation is not working for Parameterized
test. As a temporary fix, use runOnUiThread instead of @UiThreadTest.

Change-Id: I69d035864259c1f0765d52ebc53634d3ef8ef84a
This commit is contained in:
Seigo Nonaka
2016-09-16 11:08:00 +09:00
parent 1fd68ad92c
commit 36e0f12892

View File

@@ -41,7 +41,6 @@ import android.perftests.utils.PerfStatusReporter;
import android.perftests.utils.StubActivity;
import android.support.test.filters.LargeTest;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.annotation.UiThreadTest;
import android.support.test.rule.ActivityTestRule;
import android.support.test.InstrumentationRegistry;
@@ -106,20 +105,21 @@ public class EditTextLongTextPerfTest {
}
@Test
@UiThreadTest
public void testEditText() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
final EditText editText = setupEditText();
final KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER);
final int steps = 100;
while (state.keepRunning()) {
for (int i = 0; i < steps; i++) {
int offset = (editText.getText().length() * i) / steps;
editText.setSelection(offset);
editText.bringPointIntoView(offset);
editText.onKeyDown(keyEvent.getKeyCode(), keyEvent);
editText.updateDisplayListIfDirty();
public void testEditText() throws Throwable {
mActivityRule.runOnUiThread(() -> {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
final EditText editText = setupEditText();
final KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER);
final int steps = 100;
while (state.keepRunning()) {
for (int i = 0; i < steps; i++) {
int offset = (editText.getText().length() * i) / steps;
editText.setSelection(offset);
editText.bringPointIntoView(offset);
editText.onKeyDown(keyEvent.getKeyCode(), keyEvent);
editText.updateDisplayListIfDirty();
}
}
}
});
}
}