Revert "Revert "setup robolectric for sysui""

This reverts commit 84a7ad2a39.

Reason for revert: re-submitting CL

Change-Id: I8f31f99e612f4aaaadcb6c8df9f46d9388cfec9b
This commit is contained in:
Jay Aliomer
2022-11-28 14:50:09 +00:00
parent 84a7ad2a39
commit 9b13ae141c
4 changed files with 139 additions and 15 deletions

View File

@@ -167,25 +167,14 @@ java_library {
}
android_library {
name: "SystemUI-tests",
name: "SystemUI-tests-base",
manifest: "tests/AndroidManifest-base.xml",
additional_manifests: ["tests/AndroidManifest.xml"],
resource_dirs: [
"tests/res",
"res-product",
"res-keyguard",
"res",
],
srcs: [
"tests/src/**/*.kt",
"tests/src/**/*.java",
"src/**/*.kt",
"src/**/*.java",
"src/**/I*.aidl",
":ReleaseJavaFiles",
":SystemUI-tests-utils",
],
static_libs: [
"WifiTrackerLib",
"SystemUIAnimationLib",
@@ -224,9 +213,6 @@ android_library {
"metrics-helper-lib",
"hamcrest-library",
"androidx.test.rules",
"androidx.test.uiautomator_uiautomator",
"mockito-target-extended-minus-junit4",
"androidx.test.ext.junit",
"testables",
"truth-prebuilt",
"monet",
@@ -236,6 +222,27 @@ android_library {
"LowLightDreamLib",
"motion_tool_lib",
],
}
android_library {
name: "SystemUI-tests",
manifest: "tests/AndroidManifest-base.xml",
additional_manifests: ["tests/AndroidManifest.xml"],
srcs: [
"tests/src/**/*.kt",
"tests/src/**/*.java",
"src/**/*.kt",
"src/**/*.java",
"src/**/I*.aidl",
":ReleaseJavaFiles",
":SystemUI-tests-utils",
],
static_libs: [
"SystemUI-tests-base",
"androidx.test.uiautomator_uiautomator",
"mockito-target-extended-minus-junit4",
"androidx.test.ext.junit",
],
libs: [
"android.test.runner",
"android.test.base",
@@ -252,6 +259,45 @@ android_library {
},
}
android_app {
name: "SystemUIRobo-stub",
defaults: [
"platform_app_defaults",
"SystemUI_app_defaults",
],
manifest: "tests/AndroidManifest-base.xml",
static_libs: [
"SystemUI-tests-base",
],
aaptflags: [
"--extra-packages",
"com.android.systemui",
],
dont_merge_manifests: true,
platform_apis: true,
system_ext_specific: true,
certificate: "platform",
privileged: true,
resource_dirs: [],
}
android_robolectric_test {
name: "SystemUiRoboTests",
srcs: [
"tests/robolectric/src/**/*.kt",
"tests/robolectric/src/**/*.java",
],
libs: [
"android.test.runner",
"android.test.base",
"android.test.mock",
"truth-prebuilt",
],
kotlincflags: ["-Xjvm-default=enable"],
instrumentation_for: "SystemUIRobo-stub",
java_resource_dirs: ["tests/robolectric/config"],
}
// Opt-out config for optimizing the SystemUI target using R8.
// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
// `SYSTEMUI_OPTIMIZE_JAVA := false`.

View File

@@ -0,0 +1,16 @@
#
# Copyright (C) 2022 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
sdk=NEWEST_SDK

View File

@@ -0,0 +1,35 @@
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.robotests;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
import static com.google.common.truth.Truth.assertThat;
import org.junit.Test;
import org.junit.runner.RunWith;
@SmallTest
@RunWith(AndroidJUnit4.class)
public class SysuiResourceLoadingTest extends SysuiRoboBase {
@Test
public void testResources() {
assertThat(getContext().getString(com.android.systemui.R.string.app_label))
.isEqualTo("System UI");
assertThat(getContext().getString(com.android.systemui.tests.R.string.test_content))
.isNotEmpty();
}
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.robotests;
import android.content.Context;
import androidx.test.InstrumentationRegistry;
public class SysuiRoboBase {
public Context getContext() {
return InstrumentationRegistry.getContext();
}
}