Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06f626aa authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Split permission controller unit tests

into:
- Tests that drive the real permission controller from inside the
  process.
- Tests that mock out dependencies and hence don't run inside the real
  app. This new test includes all the permission controller files
  locally, but of course is not integrated with the system and hence
  breaks when interacting with it.
  Therefore this test app should only be used for tests that cannot be
  written as blackbox or in-process tests.

Bonus:
- Delete unnecessary translations
- Move ui.handheld tests into the right package

Test: atest PermissionControllerMockingTests PermissionControllerInProcessTests
Bug: 155019930
Change-Id: Id2d4d4a9c638a5c6a4febdf8f7a94636f757bdad
Merged-In: Id2d4d4a9c638a5c6a4febdf8f7a94636f757bdad
parent 16c4fcac
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -30,6 +30,16 @@ java_library {
    ],
}

// File to be included by permission controller app an mocking tests
filegroup {
    name: "permissioncontroller-sources",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src/**/*.proto",
    ],
}

android_app {
    name: "PermissionController",
    sdk_version: "system_current",
@@ -38,11 +48,7 @@ android_app {
    privileged: true,
    certificate: "platform",

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src/**/*.proto",
    ],
    srcs: [":permissioncontroller-sources"],

    libs: ["android.car-stubs"],

@@ -64,6 +70,7 @@ android_app {
        "androidx.leanback_leanback-preference",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.lifecycle_lifecycle-common-java8",
        "kotlin-stdlib",
        "kotlinx-coroutines-android",
        "androidx.navigation_navigation-common-ktx",
        "androidx.navigation_navigation-fragment-ktx",
@@ -79,7 +86,8 @@ android_app {
        "SettingsLibProgressBar",
        "androidx.annotation_annotation",
        "permissioncontroller-statsd",
        "car-ui-lib"
        "car-ui-lib",
        "libprotobuf-java-lite",
    ],

    proto: {
+3 −0
Original line number Diff line number Diff line
{
    "presubmit": [
        {
            "name": "PermissionControllerMockingTests"
        },
        {
            "name": "CtsRoleTestCases",
            "options": [
+1 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

android_test {

    name: "PermissionControllerUnitTests",
    name: "PermissionControllerInProcessTests",

    srcs: ["src/**/*.kt"],

@@ -31,7 +31,6 @@ android_test {
        "androidx.test.rules",
        "androidx.test.ext.truth",
        "androidx.test.ext.junit",
        "mockito-target-minus-junit4",
        "compatibility-device-util-axt",
        "permission-test-util-lib",
    ],
+3 −3
Original line number Diff line number Diff line
@@ -18,13 +18,13 @@

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.permissioncontroller.tests.unit">
    package="com.android.permissioncontroller.tests.inprocess">

    <application android:label="PermissionController Unit Tests">
    <application android:label="PermissionController In Process Tests">
        <uses-library android:name="android.test.runner" />
    </application>

    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
        android:targetPackage="com.android.permissioncontroller"
        android:label="Unit tests for PermissionController" />
        android:label="In Process tests for PermissionController" />
</manifest>
+9 −9
Original line number Diff line number Diff line
@@ -19,32 +19,32 @@
<configuration description="Runs unit tests for PermissionController.">
    <option name="test-suite-tag" value="apct" />
    <option name="test-suite-tag" value="apct-instrumentation" />
    <option name="test-tag" value="PermissionControllerUnitTests" />
    <option name="test-tag" value="PermissionControllerInProcessTests" />

    <!-- Install test -->
    <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
        <option name="test-file-name" value="PermissionControllerUnitTests.apk" />
        <option name="test-file-name" value="PermissionControllerInProcessTests.apk" />
        <option name="cleanup-apks" value="true" />
    </target_preparer>

    <!-- Create place to store apks -->
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="run-command" value="mkdir -p /data/local/tmp/permissioncontroller/tests/unit" />
        <option name="run-command" value="mkdir -p /data/local/tmp/permissioncontroller/tests/inprocess" />
        <option name="teardown-command" value="rm -rf /data/local/tmp/permissioncontroller/"/>
    </target_preparer>

    <!-- Load additional APKs onto device -->
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="push-file" key="CtsAppThatRequestsLocationPermission29.apk"
                value="/data/local/tmp/permissioncontroller/tests/unit/AppThatRequestsLocation.apk" />
                value="/data/local/tmp/permissioncontroller/tests/inprocess/AppThatRequestsLocation.apk" />
        <option name="push-file" key="AppThatUsesStoragePermission.apk"
                value="/data/local/tmp/permissioncontroller/tests/unit/AppThatUsesStoragePermission.apk" />
                value="/data/local/tmp/permissioncontroller/tests/inprocess/AppThatUsesStoragePermission.apk" />
        <option name="push-file" key="AppThatDefinesAdditionalPermission.apk"
                value="/data/local/tmp/permissioncontroller/tests/unit/AppThatDefinesAdditionalPermission.apk" />
                value="/data/local/tmp/permissioncontroller/tests/inprocess/AppThatDefinesAdditionalPermission.apk" />
        <option name="push-file" key="AppThatUsesAdditionalPermission.apk"
                value="/data/local/tmp/permissioncontroller/tests/unit/AppThatUsesAdditionalPermission.apk" />
                value="/data/local/tmp/permissioncontroller/tests/inprocess/AppThatUsesAdditionalPermission.apk" />
        <option name="push-file" key="AppThatUsesTwoAdditionalPermissions.apk"
                value="/data/local/tmp/permissioncontroller/tests/unit/AppThatUsesTwoAdditionalPermissions.apk" />
                value="/data/local/tmp/permissioncontroller/tests/inprocess/AppThatUsesTwoAdditionalPermissions.apk" />
    </target_preparer>

    <!-- Uninstall test-apps -->
@@ -53,7 +53,7 @@
    </target_preparer>

    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="com.android.permissioncontroller.tests.unit" />
        <option name="package" value="com.android.permissioncontroller.tests.inprocess" />
        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
    </test>
</configuration>
Loading