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

Commit d58ac535 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Remove incorrect strict test for test-suites for test_module_config" into main

parents 4152b192 b4a4ef9d
Loading
Loading
Loading
Loading
+5 −23
Original line number Diff line number Diff line
@@ -160,35 +160,17 @@ func (m *testModuleConfigModule) GenerateAndroidBuildActions(ctx android.ModuleC

}

// Any test suites in base should not be repeated in the derived class, except "general-tests".
// We may restrict derived tests to only be "general-tests" as it doesn't make sense to add a slice
// of a test to compatibility suite.
// Ensure at least one test_suite is listed.  Ideally it should be general-tests
// or device-tests, whichever is listed in base and prefer general-tests if both are listed.
// However this is not enforced yet.
//
// Returns ErrorMessage, false on problems
// Returns _, true if okay.
// Returns true if okay and reports errors via ModuleErrorf.
func (m *testModuleConfigModule) validateTestSuites(ctx android.ModuleContext) bool {
	if len(m.tradefedProperties.Test_suites) == 0 {
		ctx.ModuleErrorf("At least one test-suite must be set or this won't run. Use \"general-tests\"")
		ctx.ModuleErrorf("At least one test-suite must be set or this won't run. Use \"general-tests\" or \"device-tests\"")
		return false
	}

	derivedSuites := make(map[string]bool)
	// See if any suites in base is also in derived (other than general-tests)
	for _, s := range m.tradefedProperties.Test_suites {
		if s != "general-tests" {
			derivedSuites[s] = true
		}
	}
	if len(derivedSuites) == 0 {
		return true
	}
	for _, baseSuite := range m.provider.TestSuites {
		if derivedSuites[baseSuite] {
			ctx.ModuleErrorf("TestSuite %s exists in the base, do not add it here", baseSuite)
			return false
		}
	}

	return true
}

+0 −24
Original line number Diff line number Diff line
@@ -325,30 +325,6 @@ func TestModuleConfigHostNeedsATestSuite(t *testing.T) {
		RunTestWithBp(t, badBp)
}

func TestModuleConfigHostDuplicateTestSuitesGiveErrors(t *testing.T) {
	badBp := `
		java_test_host {
			name: "base",
                        srcs: ["a.java"],
                        test_suites: ["general-tests", "some-compat"],
		}

                test_module_config_host {
                        name: "derived_test",
                        base: "base",
                        exclude_filters: ["android.test.example.devcodelab.DevCodelabTest#testHelloFail"],
                        include_annotations: ["android.platform.test.annotations.LargeTest"],
                        test_suites: ["general-tests", "some-compat"],
                }`

	android.GroupFixturePreparers(
		java.PrepareForTestWithJavaDefaultModules,
		android.FixtureRegisterWithContext(RegisterTestModuleConfigBuildComponents),
	).ExtendWithErrorHandler(
		android.FixtureExpectsAtLeastOneErrorMatchingPattern("TestSuite some-compat exists in the base")).
		RunTestWithBp(t, badBp)
}

func TestTestOnlyProvider(t *testing.T) {
	t.Parallel()
	ctx := android.GroupFixturePreparers(