jenkins-bot has submitted this change and it was merged. Change subject: Fix NPE in PageLoadPerformanceTests ......................................................................
Fix NPE in PageLoadPerformanceTests Minor refactoring of PageLoadPerformanceTests to replace member variables with locals. CI reported a rare test failure[0] I hope the new nonnullness guarantees fix. [0] https://integration.wikimedia.org/ci/job/apps-android-wikipedia-test/20/artifact/logcat.txt/*view*/ Change-Id: I28aa725812e895d808628df8235fa05a76c336a7 --- M app/src/androidTest/java/org/wikipedia/test/perf/PageLoadPerformanceTests.java 1 file changed, 25 insertions(+), 23 deletions(-) Approvals: Dbrant: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/androidTest/java/org/wikipedia/test/perf/PageLoadPerformanceTests.java b/app/src/androidTest/java/org/wikipedia/test/perf/PageLoadPerformanceTests.java index 8c58de0..d282a92 100644 --- a/app/src/androidTest/java/org/wikipedia/test/perf/PageLoadPerformanceTests.java +++ b/app/src/androidTest/java/org/wikipedia/test/perf/PageLoadPerformanceTests.java @@ -16,21 +16,9 @@ */ @LargeTest public class PageLoadPerformanceTests extends ActivityInstrumentationTestCase2<PageActivity> { - private static final int TASK_COMPLETION_TIMEOUT = (int) TimeUnit.SECONDS.toMillis(30); + private static final int TASK_COMPLETION_TIMEOUT = (int) TimeUnit.SECONDS.toMillis(60); private static final int NUM_RUNS = 1; //50; - private PageActivity activity; - private CountDownLatch completionLatch; - private PageFragment fragment; - private String title; - private MeasurementController measurement = new MeasurementController(); - - private PageLoadCallbacks callback = new PageLoadCallbacks() { - @Override - public void onLoadComplete() { - measurement.stop(title); - completionLatch.countDown(); - } - }; + private final MeasurementController measurement = new MeasurementController(); public PageLoadPerformanceTests() { super(PageActivity.class); @@ -39,7 +27,9 @@ @Override protected void setUp() throws Exception { super.setUp(); - activity = getActivity(); + + // Launch Activity. + getActivity(); } public void testLoadPages() throws Throwable { @@ -51,24 +41,36 @@ } private void loadPageMultipleTimes(String title) throws Throwable { - this.title = title; for (int i = 0; i < NUM_RUNS; i++) { - loadPageUi(); + loadPageUi(title); } } - private void loadPageUi() throws Throwable { - completionLatch = new CountDownLatch(1); + private void loadPageUi(final String title) throws Throwable { + final CountDownLatch latch = new CountDownLatch(1); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { - fragment = (PageFragment) activity.getTopFragment(); - fragment.setPageLoadCallbacks(callback); + getFragment().setPageLoadCallbacks(newCallbacks(title, latch)); measurement.start(title); - PageLoadTests.loadPage(fragment, title); + PageLoadTests.loadPage(getFragment(), title); } }); - assertTrue(completionLatch.await(TASK_COMPLETION_TIMEOUT, TimeUnit.MILLISECONDS)); + assertTrue(latch.await(TASK_COMPLETION_TIMEOUT, TimeUnit.MILLISECONDS)); + } + + private PageLoadCallbacks newCallbacks(final String title, final CountDownLatch latch) { + return new PageLoadCallbacks() { + @Override + public void onLoadComplete() { + measurement.stop(title); + latch.countDown(); + } + }; + } + + private PageFragment getFragment() { + return (PageFragment) getActivity().getTopFragment(); } } -- To view, visit https://gerrit.wikimedia.org/r/238170 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I28aa725812e895d808628df8235fa05a76c336a7 Gerrit-PatchSet: 2 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits