Merge "setup robolectric for sysui" into tm-qpr-dev

This commit is contained in:
Jay Aliomer
2022-11-29 22:35:06 +00:00
committed by Android (Google) Code Review
4 changed files with 139 additions and 15 deletions

View File

@@ -167,25 +167,14 @@ java_library {
} }
android_library { android_library {
name: "SystemUI-tests", name: "SystemUI-tests-base",
manifest: "tests/AndroidManifest-base.xml", manifest: "tests/AndroidManifest-base.xml",
additional_manifests: ["tests/AndroidManifest.xml"],
resource_dirs: [ resource_dirs: [
"tests/res", "tests/res",
"res-product", "res-product",
"res-keyguard", "res-keyguard",
"res", "res",
], ],
srcs: [
"tests/src/**/*.kt",
"tests/src/**/*.java",
"src/**/*.kt",
"src/**/*.java",
"src/**/I*.aidl",
":ReleaseJavaFiles",
":SystemUI-tests-utils",
],
static_libs: [ static_libs: [
"WifiTrackerLib", "WifiTrackerLib",
"SystemUIAnimationLib", "SystemUIAnimationLib",
@@ -224,9 +213,6 @@ android_library {
"metrics-helper-lib", "metrics-helper-lib",
"hamcrest-library", "hamcrest-library",
"androidx.test.rules", "androidx.test.rules",
"androidx.test.uiautomator",
"mockito-target-extended-minus-junit4",
"androidx.test.ext.junit",
"testables", "testables",
"truth-prebuilt", "truth-prebuilt",
"monet", "monet",
@@ -236,6 +222,27 @@ android_library {
"LowLightDreamLib", "LowLightDreamLib",
"motion_tool_lib", "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",
"mockito-target-extended-minus-junit4",
"androidx.test.ext.junit",
],
libs: [ libs: [
"android.test.runner", "android.test.runner",
"android.test.base", "android.test.base",
@@ -249,6 +256,45 @@ android_library {
plugins: ["dagger2-compiler"], plugins: ["dagger2-compiler"],
} }
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. // Opt-out config for optimizing the SystemUI target using R8.
// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via // Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
// `SYSTEMUI_OPTIMIZE_JAVA := false`. // `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();
}
}