Implement test-only for python_ rules
Similar to: aosp/3040036 and aosp/3035329, implements a test-only
property for python_library and sets it for python_host.
This combined with aosp/3045317 produces:
gqui from "flatten(~/aosp-main-with-phones/out/soong/ownership/all_teams.pb, teams)" proto ~/aosp-main-with-phones/build/soong/android/team_proto/team.proto:AllTeams 'select teams.kind, count(*) total, sum(teams.test_only) as test_only, sum(teams.top_level_target) as top_level, where teams.kind like "%py%" group by teams.kind'
+-----------------------------+-------+-----------+-----------+
| teams.kind | total | test_only | top_level |
+-----------------------------+-------+-----------+-----------+
| cpython3_cc_defaults | 1 | 0 | 0 |
| cpython3_cc_prebuilt_binary | 4 | 0 | 0 |
| python_binary_host | 222 | 0 | 0 |
| python_defaults | 27 | 0 | 0 |
| python_library | 38 | 0 | 0 |
| python_library_host | 131 | 0 | 0 |
| python_test | 5 | 5 | 5 |
| python_test_host | 172 | 172 | 172 |
+-----------------------------+-------+-----------+-----------+
Change-Id: Iea14fcdbfd782d37ac0a3c780820deeed5f1923d
Test: m blueprint_tests
Test: go test ./python
diff --git a/python/test.go b/python/test.go
index 826f353..2b939e7 100644
--- a/python/test.go
+++ b/python/test.go
@@ -36,7 +36,9 @@
}
func NewTest(hod android.HostOrDeviceSupported) *PythonTestModule {
- return &PythonTestModule{PythonBinaryModule: *NewBinary(hod)}
+ p := &PythonTestModule{PythonBinaryModule: *NewBinary(hod)}
+ p.sourceProperties = android.SourceProperties{Test_only: proptools.BoolPtr(true), Top_level_test_target: true}
+ return p
}
func PythonTestHostFactory() android.Module {