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

Commit 9c35c5d2 authored by Paul Duffin's avatar Paul Duffin Committed by Gerrit Code Review
Browse files

Merge "Simplify preparers now that tests use consistent registration order"

parents 2046a0c1 530483c6
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -75,15 +75,16 @@ var PrepareForTestWithOverrides = FixtureRegisterWithContext(func(ctx Registrati

// Prepares an integration test with build components from the android package.
var PrepareForIntegrationTestWithAndroid = GroupFixturePreparers(
	// Mutators. Must match order in mutator.go.
	// Sorted alphabetically as the actual order does not matter as tests automatically enforce the
	// correct order.
	PrepareForTestWithArchMutator,
	PrepareForTestWithDefaults,
	PrepareForTestWithComponentsMutator,
	PrepareForTestWithPrebuilts,
	PrepareForTestWithOverrides,

	// Modules
	PrepareForTestWithDefaults,
	PrepareForTestWithFilegroup,
	PrepareForTestWithOverrides,
	PrepareForTestWithPackageModule,
	PrepareForTestWithPrebuilts,
	PrepareForTestWithVisibility,
)

func NewTestArchContext(config Config) *TestContext {
+5 −8
Original line number Diff line number Diff line
@@ -202,17 +202,14 @@ type ExcludeFromVisibilityEnforcementTag interface {
	ExcludeFromVisibilityEnforcement()
}

var PrepareForTestWithVisibilityRuleChecker = FixtureRegisterWithContext(func(ctx RegistrationContext) {
	ctx.PreArchMutators(RegisterVisibilityRuleChecker)
})
// The visibility mutators.
var PrepareForTestWithVisibility = FixtureRegisterWithContext(registerVisibilityMutators)

var PrepareForTestWithVisibilityRuleGatherer = FixtureRegisterWithContext(func(ctx RegistrationContext) {
func registerVisibilityMutators(ctx RegistrationContext) {
	ctx.PreArchMutators(RegisterVisibilityRuleChecker)
	ctx.PreArchMutators(RegisterVisibilityRuleGatherer)
})

var PrepareForTestWithVisibilityRuleEnforcer = FixtureRegisterWithContext(func(ctx RegistrationContext) {
	ctx.PostDepsMutators(RegisterVisibilityRuleEnforcer)
})
}

// The rule checker needs to be registered before defaults expansion to correctly check that
// //visibility:xxx isn't combined with other packages in the same list in any one module.
+10 −9
Original line number Diff line number Diff line
@@ -1143,21 +1143,22 @@ func TestVisibility(t *testing.T) {
	for _, test := range visibilityTests {
		t.Run(test.name, func(t *testing.T) {
			result := emptyTestFixtureFactory.Extend(
				// General preparers in alphabetical order as test infrastructure will enforce correct
				// registration order.
				PrepareForTestWithArchMutator,
				PrepareForTestWithDefaults,
				PrepareForTestWithOverrides,
				PrepareForTestWithPackageModule,
				PrepareForTestWithPrebuilts,
				PrepareForTestWithVisibility,

				// Additional test specific preparers.
				FixtureRegisterWithContext(func(ctx RegistrationContext) {
					ctx.RegisterModuleType("mock_library", newMockLibraryModule)
					ctx.RegisterModuleType("mock_parent", newMockParentFactory)
					ctx.RegisterModuleType("mock_defaults", defaultsFactory)
				}),
				prepareForTestWithFakePrebuiltModules,
				PrepareForTestWithPackageModule,
				// Order of the following method calls is significant as they register mutators.
				PrepareForTestWithArchMutator,
				PrepareForTestWithPrebuilts,
				PrepareForTestWithOverrides,
				PrepareForTestWithVisibilityRuleChecker,
				PrepareForTestWithDefaults,
				PrepareForTestWithVisibilityRuleGatherer,
				PrepareForTestWithVisibilityRuleEnforcer,
				// Add additional files to the mock filesystem
				test.fs.AddToFixture(),
			).