Add rust_test and rust_test_host.
* Rust tests are like binary files compiled with --test. New test.go follows binary.go code patterns and reuses some code in binary.go. * Generate one test per source file as testPerSrc in cc/test.go. The "all tests" variation feature of cc/test.go is not copied yet. Fix some Stem and SubName settings to make testPerSrc work. * Move cc.CheckDuplicate to android.CheckDuplicate, which is now shared by cc and rust. * Refactor tests in binary_test.go and add new test_test.go. Bug: 140938178 Test: mm in rust projects, added rust_test and rust_test_host Change-Id: Ia6fec8b4cf2572fd352ab1938a1f3c7b5cca2212
This commit is contained in:
@@ -39,6 +39,7 @@ func init() {
|
||||
android.RegisterModuleType("rust_defaults", defaultsFactory)
|
||||
android.PreDepsMutators(func(ctx android.RegisterMutatorsContext) {
|
||||
ctx.BottomUp("rust_libraries", LibraryMutator).Parallel()
|
||||
ctx.BottomUp("rust_unit_tests", TestPerSrcMutator).Parallel()
|
||||
})
|
||||
pctx.Import("android/soong/rust/config")
|
||||
}
|
||||
@@ -58,6 +59,7 @@ type BaseProperties struct {
|
||||
AndroidMkProcMacroLibs []string
|
||||
AndroidMkSharedLibs []string
|
||||
AndroidMkStaticLibs []string
|
||||
SubName string `blueprint:"mutated"`
|
||||
}
|
||||
|
||||
type Module struct {
|
||||
@@ -495,9 +497,10 @@ type dependencyTag struct {
|
||||
}
|
||||
|
||||
var (
|
||||
rlibDepTag = dependencyTag{name: "rlibTag", library: true}
|
||||
dylibDepTag = dependencyTag{name: "dylib", library: true}
|
||||
procMacroDepTag = dependencyTag{name: "procMacro", proc_macro: true}
|
||||
rlibDepTag = dependencyTag{name: "rlibTag", library: true}
|
||||
dylibDepTag = dependencyTag{name: "dylib", library: true}
|
||||
procMacroDepTag = dependencyTag{name: "procMacro", proc_macro: true}
|
||||
testPerSrcDepTag = dependencyTag{name: "rust_unit_tests"}
|
||||
)
|
||||
|
||||
func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
|
Reference in New Issue
Block a user