Add test for soong/testing/test_spec.
This CL adds test for test_spec.go and all_test_specs.go (singleton). Bug: 296873595 Test: m nothing --no-skip-soong-tests -j96 Change-Id: I5010c68512e75d1b9a337c02da86faac15e376fe
This commit is contained in:
@@ -15,6 +15,7 @@ bootstrap_go_package {
|
||||
"all_test_specs.go",
|
||||
"test_spec.go",
|
||||
"init.go",
|
||||
"test.go",
|
||||
],
|
||||
pluginFor: ["soong_build"],
|
||||
}
|
||||
|
@@ -21,10 +21,10 @@ func (this *allTestSpecsSingleton) GenerateBuildActions(ctx android.SingletonCon
|
||||
var intermediateMetadataPaths android.Paths
|
||||
|
||||
ctx.VisitAllModules(func(module android.Module) {
|
||||
if !ctx.ModuleHasProvider(module, testSpecProviderKey) {
|
||||
if !ctx.ModuleHasProvider(module, TestSpecProviderKey) {
|
||||
return
|
||||
}
|
||||
intermediateMetadataPaths = append(intermediateMetadataPaths, ctx.ModuleProvider(module, testSpecProviderKey).(testSpecProviderData).IntermediatePath)
|
||||
intermediateMetadataPaths = append(intermediateMetadataPaths, ctx.ModuleProvider(module, TestSpecProviderKey).(TestSpecProviderData).IntermediatePath)
|
||||
})
|
||||
|
||||
rspFile := android.PathForOutput(ctx, fileContainingFilePaths)
|
||||
|
21
testing/test.go
Normal file
21
testing/test.go
Normal file
@@ -0,0 +1,21 @@
|
||||
// Copyright 2023 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 testing
|
||||
|
||||
import (
|
||||
"android/soong/android"
|
||||
)
|
||||
|
||||
var PrepareForTestWithTestSpecBuildComponents = android.FixtureRegisterWithContext(RegisterBuildComponents)
|
@@ -78,11 +78,11 @@ func isInt(s string) bool {
|
||||
}
|
||||
|
||||
// Provider published by TestSpec
|
||||
type testSpecProviderData struct {
|
||||
type TestSpecProviderData struct {
|
||||
IntermediatePath android.WritablePath
|
||||
}
|
||||
|
||||
var testSpecProviderKey = blueprint.NewProvider(testSpecProviderData{})
|
||||
var TestSpecProviderKey = blueprint.NewProvider(TestSpecProviderData{})
|
||||
|
||||
type TestModuleProviderData struct {
|
||||
}
|
||||
@@ -120,7 +120,7 @@ func (module *TestSpecModule) GenerateAndroidBuildActions(ctx android.ModuleCont
|
||||
android.WriteFileRule(ctx, intermediatePath, string(protoData))
|
||||
|
||||
ctx.SetProvider(
|
||||
testSpecProviderKey, testSpecProviderData{
|
||||
TestSpecProviderKey, TestSpecProviderData{
|
||||
IntermediatePath: intermediatePath,
|
||||
},
|
||||
)
|
||||
|
Reference in New Issue
Block a user