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:
Chih-Hung Hsieh
2019-10-24 20:47:54 -07:00
parent 520367cbd3
commit a5f22ed6b0
9 changed files with 202 additions and 19 deletions

View File

@@ -72,6 +72,8 @@ func (mod *Module) AndroidMk() android.AndroidMkData {
mod.subAndroidMk(&ret, mod.compiler)
ret.SubName += mod.Properties.SubName
return ret
}
@@ -85,6 +87,11 @@ func (binary *binaryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.Andr
})
}
func (test *testBinaryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
test.binaryDecorator.AndroidMk(ctx, ret)
ret.SubName = "_" + String(test.baseCompiler.Properties.Stem)
}
func (library *libraryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
ctx.subAndroidMk(ret, library.baseCompiler)