Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa37c16b authored by Weijia He's avatar Weijia He
Browse files

Create out/soong/packaging directory and put a placeholder manifest

file in it.

This CL creates a manifest file under
out/soong/packaging/<suite>/<suite>.json

The content currently only contains the name of the test suite.
Further works will actually build the dependencies and generate
full manifest.

Change-Id: I0e69cd364e0a3a84159a5e4d2d21edd9fe2fdca1
Bug: 372945132
parent 32282f69
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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 {
+7 −1
Original line number Diff line number Diff line
@@ -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)
	}
}