blob: f4ddd0ac59dfb163728777e05e322221b56784e9 [file] [log] [blame]
// Copyright (C) 2016 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.
//###########################################################
// SettingsLib Shell app just for Robolectric test target. #
//###########################################################
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
android_app {
name: "SettingsLibShell",
use_resource_processor: true,
defaults: ["SettingsLibDefaults"],
platform_apis: true,
privileged: true,
resource_dirs: ["res"],
}
//###########################################################
// SettingsLib Robolectric test target. #
//###########################################################
android_robolectric_test {
name: "SettingsLibRoboTests",
srcs: ["src/**/*.java"],
static_libs: [
"Settings_robolectric_meta_service_file",
"Robolectric_shadows_androidx_fragment_upstream",
"SettingsLib-robo-testutils",
"androidx.fragment_fragment",
"androidx.test.core",
"androidx.core_core",
"flag-junit",
"settingslib_media_flags_lib",
"testng", // TODO: remove once JUnit on Android provides assertThrows
],
java_resource_dirs: ["config"],
instrumentation_for: "SettingsLibShell",
coverage_libs: ["SettingsLib"],
test_options: {
timeout: 36000,
},
upstream: true,
}
java_genrule {
name: "Settings_robolectric_meta_service_file",
out: ["robolectric_meta_service_file.jar"],
tools: ["soong_zip"],
cmd: "mkdir -p $(genDir)/META-INF/services/ && touch $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider &&" +
"echo -e 'org.robolectric.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " +
"echo -e 'org.robolectric.shadows.multidex.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " +
"echo -e 'org.robolectric.shadows.httpclient.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " +
//"echo -e 'com.android.settings.testutils.shadow.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " +
"echo -e 'com.android.settingslib.testutils.shadow.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " +
"$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/META-INF/services/",
}
java_library {
name: "SettingsLib-robo-testutils",
srcs: [
"testutils/com/android/settingslib/testutils/**/*.java",
],
javacflags: [
"-Aorg.robolectric.annotation.processing.shadowPackage=com.android.settingslib.testutils.shadow",
"-Aorg.robolectric.annotation.processing.sdkCheckMode=ERROR",
// Uncomment the below to debug annotation processors not firing.
//"-verbose",
//"-XprintRounds",
//"-XprintProcessorInfo",
//"-Xlint",
//"-J-verbose",
],
plugins: [
"auto_value_plugin_1.9",
"auto_value_builder_plugin_1.9",
"Robolectric_processor_upstream",
],
libs: [
"Robolectric_all-target_upstream",
"mockito-robolectric-prebuilt",
"truth",
],
}