Create Launcher3RoboTests and enable Robolectric on small set of tests

Test: atest Launcher3RoboTests
Bug: 316551909
Flag: NA
Change-Id: Ib1bbaf49e3e608f8c67005c129e090711df1e99c
This commit is contained in:
Uwais Ashraf
2023-12-19 10:09:25 +00:00
parent e0a4feb664
commit 861f2fdc81
4 changed files with 82 additions and 2 deletions

View File

@@ -174,3 +174,77 @@ android_library {
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
}
filegroup {
name: "launcher-testing-helpers",
srcs: [
"src/**/*.java",
"src/**/*.kt",
"src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
"tapl/com/android/launcher3/tapl/*.java",
"tapl/com/android/launcher3/tapl/*.kt",
],
exclude_srcs: [
// Test classes
"src/**/*Test.java",
"src/**/*Test.kt",
],
}
android_library {
name: "Launcher3Lib",
srcs: [
":launcher-src",
":launcher-src_shortcuts_overrides",
":launcher-src_ui_overrides",
],
static_libs: [
"Launcher3CommonDepsLib",
],
}
android_robolectric_test {
enabled: true,
name: "Launcher3RoboTests",
srcs: [
"src/com/android/launcher3/util/*.java",
"src/com/android/launcher3/util/*.kt",
// Test util classes
":launcher-testing-helpers",
":launcher-testing-shared",
],
exclude_srcs: [
"src/com/android/launcher3/util/CellContentDimensionsTest.kt", // Failing - b/316553889
// requires modification to work with inline mock maker
"src/com/android/launcher3/util/rule/StaticMockitoRule.java",
// requires kotlin mockito
"src/com/android/launcher3/util/LockedUserStateTest.kt",
"src/com/android/launcher3/util/DisplayControllerTest.kt",
],
java_resource_dirs: ["config"],
static_libs: [
"flag-junit-base",
"com_android_launcher3_flags_lib",
"com_android_wm_shell_flags_lib",
"androidx.test.uiautomator_uiautomator",
"androidx.core_core-animation-testing",
"androidx.test.ext.junit",
"inline-mockito-robolectric-prebuilt",
"platform-parametric-runner-lib",
"testables",
"Launcher3TestResources",
"SystemUISharedLib",
"launcher-testing-shared",
],
libs: [
"android.test.runner",
"android.test.base",
"android.test.mock",
"truth",
],
instrumentation_for: "Launcher3",
upstream: true,
}

View File

@@ -0,0 +1 @@
sdk=NEWEST_SDK

View File

@@ -16,7 +16,7 @@
package com.android.launcher3.util
import android.testing.AndroidTestingRunner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.launcher3.util.rule.TestStabilityRule
import java.util.concurrent.ExecutorService
@@ -30,7 +30,7 @@ import org.junit.runner.RunWith
/** Unit test for [ExecutorRunnable] */
@SmallTest
@RunWith(AndroidTestingRunner::class)
@RunWith(AndroidJUnit4::class)
class ExecutorRunnableTest {
private lateinit var underTest: ExecutorRunnable<Int>

View File

@@ -83,6 +83,7 @@ public class TestStabilityRule implements TestRule {
public static int getRunFlavor() {
if (sRunFlavor != 0) return sRunFlavor;
if (isRobolectricTest()) return PLATFORM_POSTSUBMIT;
final String flavorOverride = InstrumentationRegistry.getArguments().getString("flavor");
@@ -150,4 +151,8 @@ public class TestStabilityRule implements TestRule {
public static boolean isPresubmit() {
return getRunFlavor() == PLATFORM_PRESUBMIT;
}
public static boolean isRobolectricTest() {
return Build.FINGERPRINT.contains("robolectric");
}
}