From d389df571e255e55be51f0288f45ffce66661368 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Thu, 6 Jan 2022 10:52:51 -0500 Subject: [PATCH] Add clean up to SysuiBaseFragmentTest Also, set up AAA++ test for inheritance. Test: atest SystemUITests Fixes: 2133482724 Change-Id: If2484040f613b3112c224e8001d6e617dc5005b8 --- packages/SystemUI/Android.bp | 7 +++++ ...VerifySysuiRequiredTestPropertiesTest.java | 27 ++++++++++++------- .../systemui/SysuiBaseFragmentTest.java | 7 +++++ 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index efd9eb92e54cc..ea83b8353afae 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -128,9 +128,16 @@ android_library { plugins: ["dagger2-compiler"], } +filegroup { + name: "AAA-src", + srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"], + path: "tests/src", +} + filegroup { name: "SystemUI-tests-utils", srcs: [ + "tests/src/com/android/systemui/SysuiBaseFragmentTest.java", "tests/src/com/android/systemui/SysuiTestCase.java", "tests/src/com/android/systemui/TestableDependency.java", "tests/src/com/android/systemui/classifier/FalsingManagerFake.java", diff --git a/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java b/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java index cbd6e8659e692..0369d5b328839 100644 --- a/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java +++ b/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java @@ -110,6 +110,17 @@ public class AAAPlusPlusVerifySysuiRequiredTestPropertiesTest extends SysuiTestC private Collection getClassNamesFromClassPath() { ClassPathScanner scanner = new ClassPathScanner(mContext.getPackageCodePath()); + ChainedClassNameFilter filter = makeClassNameFilter(); + + try { + return scanner.getClassPathEntries(filter); + } catch (IOException e) { + Log.e(getTag(), "Failed to scan classes", e); + } + return Collections.emptyList(); + } + + protected ChainedClassNameFilter makeClassNameFilter() { ChainedClassNameFilter filter = new ChainedClassNameFilter(); filter.add(new ExternalClassNameFilter()); @@ -122,13 +133,7 @@ public class AAAPlusPlusVerifySysuiRequiredTestPropertiesTest extends SysuiTestC // the main SystemUI process. Therefore, exclude this package // from the base class whitelist. filter.add(s -> !s.startsWith("com.android.systemui.screenshot")); - - try { - return scanner.getClassPathEntries(filter); - } catch (IOException e) { - Log.e(TAG, "Failed to scan classes", e); - } - return Collections.emptyList(); + return filter; } private String getClsStr() { @@ -212,8 +217,12 @@ public class AAAPlusPlusVerifySysuiRequiredTestPropertiesTest extends SysuiTestC * as loggable to limit log spam during normal use. */ private void logDebug(String msg) { - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, msg); + if (Log.isLoggable(getTag(), Log.DEBUG)) { + Log.d(getTag(), msg); } } + + protected String getTag() { + return TAG; + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/SysuiBaseFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/SysuiBaseFragmentTest.java index 40549d69dc745..8c20b248d02c0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/SysuiBaseFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/SysuiBaseFragmentTest.java @@ -29,8 +29,10 @@ import com.android.systemui.utils.leaks.LeakCheckedTest; import com.android.systemui.utils.leaks.LeakCheckedTest.SysuiLeakCheck; import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; import org.junit.Rule; +import org.mockito.Mockito; public abstract class SysuiBaseFragmentTest extends BaseFragmentTest { @@ -78,6 +80,11 @@ public abstract class SysuiBaseFragmentTest extends BaseFragmentTest { SystemUIFactory.cleanup(); } + @AfterClass + public static void mockitoTeardown() { + Mockito.framework().clearInlineMocks(); + } + @Override protected SysuiTestableContext getContext() { return new SysuiTestableContext(InstrumentationRegistry.getContext(), mLeakCheck);