Add java/testing.go for sysprop_test.go

Share more of the setup code for java tests to sysprop_tests.go.

Test: java_test.go, sysprop_test.go
Change-Id: I0e3b287bf188c432d995a9a91a18ebef12aa47d1
This commit is contained in:
Colin Cross 2019-02-15 10:37:39 -08:00
parent 114abf4fc4
commit b19745363f
4 changed files with 96 additions and 115 deletions

View File

@ -267,6 +267,7 @@ bootstrap_go_package {
"java/sdk_library.go",
"java/support_libraries.go",
"java/system_modules.go",
"java/testing.go",
],
testSrcs: [
"java/app_test.go",

View File

@ -15,7 +15,6 @@
package java
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
@ -54,16 +53,7 @@ func TestMain(m *testing.M) {
}
func testConfig(env map[string]string) android.Config {
if env == nil {
env = make(map[string]string)
}
if env["ANDROID_JAVA8_HOME"] == "" {
env["ANDROID_JAVA8_HOME"] = "jdk8"
}
config := android.TestArchConfig(buildDir, env)
config.TestProductVariables.DeviceSystemSdkVersions = []string{"14", "15"}
return config
return TestConfig(buildDir, env)
}
func testContext(config android.Config, bp string,
@ -113,54 +103,7 @@ func testContext(config android.Config, bp string,
ctx.Register()
extraModules := []string{
"core-lambda-stubs",
"framework",
"ext",
"updatable_media_stubs",
"android_stubs_current",
"android_system_stubs_current",
"android_test_stubs_current",
"core.current.stubs",
"core.platform.api.stubs",
"kotlin-stdlib",
"kotlin-annotations",
}
for _, extra := range extraModules {
bp += fmt.Sprintf(`
java_library {
name: "%s",
srcs: ["a.java"],
no_standard_libs: true,
sdk_version: "core_current",
system_modules: "core-platform-api-stubs-system-modules",
}
`, extra)
}
bp += `
android_app {
name: "framework-res",
no_framework_libs: true,
}
`
systemModules := []string{
"core-system-modules",
"core-platform-api-stubs-system-modules",
"android_stubs_current_system_modules",
"android_system_stubs_current_system_modules",
"android_test_stubs_current_system_modules",
}
for _, extra := range systemModules {
bp += fmt.Sprintf(`
java_system_modules {
name: "%s",
}
`, extra)
}
bp += GatherRequiredDepsForTest()
mockFS := map[string][]byte{
"Android.bp": []byte(bp),

89
java/testing.go Normal file
View File

@ -0,0 +1,89 @@
// Copyright 2019 Google Inc. All rights reserved.
//
// 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 java
import (
"fmt"
"android/soong/android"
)
func TestConfig(buildDir string, env map[string]string) android.Config {
if env == nil {
env = make(map[string]string)
}
if env["ANDROID_JAVA8_HOME"] == "" {
env["ANDROID_JAVA8_HOME"] = "jdk8"
}
config := android.TestArchConfig(buildDir, env)
config.TestProductVariables.DeviceSystemSdkVersions = []string{"14", "15"}
return config
}
func GatherRequiredDepsForTest() string {
var bp string
extraModules := []string{
"core-lambda-stubs",
"framework",
"ext",
"updatable_media_stubs",
"android_stubs_current",
"android_system_stubs_current",
"android_test_stubs_current",
"core.current.stubs",
"core.platform.api.stubs",
"kotlin-stdlib",
"kotlin-annotations",
}
for _, extra := range extraModules {
bp += fmt.Sprintf(`
java_library {
name: "%s",
srcs: ["a.java"],
no_standard_libs: true,
sdk_version: "core_current",
system_modules: "core-platform-api-stubs-system-modules",
}
`, extra)
}
bp += `
android_app {
name: "framework-res",
no_framework_libs: true,
}
`
systemModules := []string{
"core-system-modules",
"core-platform-api-stubs-system-modules",
"android_stubs_current_system_modules",
"android_system_stubs_current_system_modules",
"android_test_stubs_current_system_modules",
}
for _, extra := range systemModules {
bp += fmt.Sprintf(`
java_system_modules {
name: "%s",
}
`, extra)
}
return bp
}

View File

@ -19,7 +19,6 @@ import (
"android/soong/cc"
"android/soong/java"
"fmt"
"io/ioutil"
"os"
"strings"
@ -90,54 +89,7 @@ func testContext(config android.Config, bp string,
ctx.Register()
extraModules := []string{
"core-lambda-stubs",
"framework",
"ext",
"updatable_media_stubs",
"android_stubs_current",
"android_system_stubs_current",
"android_test_stubs_current",
"core.current.stubs",
"core.platform.api.stubs",
}
for _, extra := range extraModules {
bp += fmt.Sprintf(`
java_library {
name: "%s",
srcs: ["a.java"],
no_standard_libs: true,
sdk_version: "core_current",
system_modules: "core-platform-api-stubs-system-modules",
}
`, extra)
}
bp += `
android_app {
name: "framework-res",
no_framework_libs: true,
}
`
systemModules := []string{
"core-system-modules",
"core-platform-api-stubs-system-modules",
"android_stubs_current_system_modules",
"android_system_stubs_current_system_modules",
"android_test_stubs_current_system_modules",
}
for _, extra := range systemModules {
bp += fmt.Sprintf(`
java_system_modules {
name: "%s",
}
`, extra)
}
bp += java.GatherRequiredDepsForTest()
bp += cc.GatherRequiredDepsForTest(android.Android)
mockFS := map[string][]byte{
@ -224,16 +176,12 @@ func run(t *testing.T, ctx *android.TestContext, config android.Config) {
}
func testConfig(env map[string]string) android.Config {
if env == nil {
env = make(map[string]string)
}
if env["ANDROID_JAVA8_HOME"] == "" {
env["ANDROID_JAVA8_HOME"] = "jdk8"
}
config := android.TestArchConfig(buildDir, env)
config := java.TestConfig(buildDir, env)
config.TestProductVariables.DeviceSystemSdkVersions = []string{"28"}
config.TestProductVariables.DeviceVndkVersion = proptools.StringPtr("current")
config.TestProductVariables.Platform_vndk_version = proptools.StringPtr("VER")
return config
}