diff options
| -rw-r--r-- | android/paths.go | 4 | ||||
| -rw-r--r-- | tradefed_modules/test_suite.go | 7 | ||||
| -rw-r--r-- | tradefed_modules/test_suite_test.go | 8 |
3 files changed, 17 insertions, 2 deletions
diff --git a/android/paths.go b/android/paths.go index bf2c3a097..96fa05623 100644 --- a/android/paths.go +++ b/android/paths.go @@ -2057,6 +2057,10 @@ func PathForMainlineSdksInstall(ctx PathContext, paths ...string) InstallPath { return base.Join(ctx, paths...) } +func PathForSuiteInstall(ctx PathContext, suite string, pathComponents ...string) InstallPath { + return pathForPartitionInstallDir(ctx, "test_suites", "test_suites", false).Join(ctx, suite).Join(ctx, pathComponents...) +} + func InstallPathToOnDevicePath(ctx PathContext, path InstallPath) string { rel := Rel(ctx, strings.TrimSuffix(path.PartitionDir(), path.partition), path.String()) return "/" + rel diff --git a/tradefed_modules/test_suite.go b/tradefed_modules/test_suite.go index 8ab194d94..a6c27274b 100644 --- a/tradefed_modules/test_suite.go +++ b/tradefed_modules/test_suite.go @@ -15,6 +15,8 @@ package tradefed_modules import ( + "fmt" + "android/soong/android" ) @@ -42,7 +44,10 @@ type testSuiteModule struct { } func (t *testSuiteModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { - // TODO(hwj): Implement this. + suiteName := ctx.ModuleName() + manifestPath := android.PathForSuiteInstall(ctx, suiteName, suiteName+".json") + android.WriteFileRule(ctx, manifestPath, fmt.Sprintf(`{"name": %q}`, suiteName)) + ctx.Phony(suiteName, manifestPath) } func TestSuiteFactory() android.Module { diff --git a/tradefed_modules/test_suite_test.go b/tradefed_modules/test_suite_test.go index f9e9da06a..647ba4d43 100644 --- a/tradefed_modules/test_suite_test.go +++ b/tradefed_modules/test_suite_test.go @@ -21,7 +21,7 @@ import ( func TestTestSuites(t *testing.T) { t.Parallel() - android.GroupFixturePreparers( + ctx := android.GroupFixturePreparers( java.PrepareForTestWithJavaDefaultModules, android.FixtureRegisterWithContext(RegisterTestSuiteBuildComponents), ).RunTestWithBp(t, ` @@ -44,4 +44,10 @@ func TestTestSuites(t *testing.T) { ] } `) + manifestPath := ctx.ModuleForTests("my-suite", "").Output("out/soong/test_suites/my-suite/my-suite.json") + got := android.ContentFromFileRuleForTests(t, ctx.TestContext, manifestPath) + want := `{"name": "my-suite"}` + "\n" + if got != want { + t.Errorf("my-suite.json content was %q, want %q", got, want) + } } |