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:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user