Commit 07ae978e authored by Alice Wang's avatar Alice Wang Committed by Commit Bot

[Signin][Android] Teardown AccountManagerFacade in AccountManagerTestRule

This CL resets the AccountManagerFacade test instance to null in
AccountManagerTestRule teardown.

Bug: 1066800
Change-Id: I670cb1b4741ddfd6f5f126b21f17ae5b9c346887
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2135698Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Commit-Queue: Alice Wang <aliceywang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758142}
parent 12f8bf48
......@@ -171,8 +171,10 @@ import java.util.List;
onView(withId(R.id.signin_promo_view_container)).check(matches(isDisplayed()));
// Reset states.
TestThreadUtils.runOnUiThreadBlocking(
() -> recyclerView.setDescendantFocusability(descendantFocusability));
TestThreadUtils.runOnUiThreadBlocking(() -> {
mNtp.getMediatorForTesting().destroy();
recyclerView.setDescendantFocusability(descendantFocusability);
});
}
@Test
......
......@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.settings.MainSettings;
import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.chrome.test.util.ApplicationTestUtils;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.signin.AccountUtils;
import org.chromium.components.signin.test.util.AccountHolder;
......@@ -78,8 +79,9 @@ public class PasswordViewingTypeTest {
}
@After
public void tearDown() {
TestThreadUtils.runOnUiThreadBlocking(() -> ProfileSyncService.resetForTests());
public void tearDown() throws Exception {
ApplicationTestUtils.finishActivity(mMainSettings.getActivity());
TestThreadUtils.runOnUiThreadBlocking(ProfileSyncService::resetForTests);
}
/**
......
......@@ -20,6 +20,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
......@@ -87,6 +88,11 @@ import java.io.IOException;
mDialog.show(fragmentManager, null);
}
@After
public void tearDown() {
if (mDialog.getDialog() != null) mDialog.dismiss();
}
@Test
@MediumTest
public void testTitle() {
......
......@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.signin;
import android.accounts.Account;
import android.support.test.filters.SmallTest;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
......@@ -17,7 +16,6 @@ import org.junit.runner.RunWith;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.browser.signin.MockChangeEventChecker;
import org.chromium.components.signin.AccountManagerFacadeProvider;
import org.chromium.components.signin.AccountUtils;
import org.chromium.components.signin.ChromeSigninController;
import org.chromium.components.signin.test.util.AccountHolder;
......@@ -38,11 +36,6 @@ public class SigninHelperTest {
mEventChecker = new MockChangeEventChecker();
}
@After
public void tearDown() {
AccountManagerFacadeProvider.resetInstanceForTests();
}
@Test
@SmallTest
@RetryOnFailure
......
......@@ -7,6 +7,7 @@ import androidx.annotation.AnyThread;
import androidx.annotation.MainThread;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
......@@ -17,6 +18,7 @@ import java.util.concurrent.atomic.AtomicReference;
* AccountManagerFacade instance manipulation methods in one place.
*/
public class AccountManagerFacadeProvider {
private static final String TAG = "AccManagerProvider";
private static final AtomicReference<AccountManagerFacade> sAtomicInstance =
new AtomicReference<>();
private static AccountManagerFacade sInstance;
......@@ -61,6 +63,7 @@ public class AccountManagerFacadeProvider {
ThreadUtils.runOnUiThreadBlocking(() -> {
sTestingInstance = null;
sAtomicInstance.set(sInstance);
Log.d(TAG, "reset AccountManagerFacade test instance");
});
}
......
......@@ -57,7 +57,11 @@ public class AccountManagerTestRule implements TestRule {
AccountManagerFacadeProvider.setInstanceForTests(
new AccountManagerFacade(mDelegate));
});
statement.evaluate();
try {
statement.evaluate();
} finally {
AccountManagerFacadeProvider.resetInstanceForTests();
}
}
};
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment