Rename FixturePreparers to GroupFixturePreparers

FixturePreparers is a bad name for a method that creates a collection
of FixturePreparers for a couple of reasons:
* Conventionally it would be used as the name for []FixturePreparer if
  it is necessary to add behavior to that.
* There are many different types of collection, particularly when order
  matters.

Bug: 181070625
Test: m nothing
Change-Id: I55394ff369375dcac2d7b72e4d803a4818762d36
This commit is contained in:
Paul Duffin
2021-02-28 01:38:51 +00:00
parent b48f9aefea
commit a560d5a91d
3 changed files with 17 additions and 14 deletions

View File

@@ -61,15 +61,15 @@ import (
// register module bar twice: // register module bar twice:
// var Preparer1 = FixtureRegisterWithContext(RegisterModuleFooAndBar) // var Preparer1 = FixtureRegisterWithContext(RegisterModuleFooAndBar)
// var Preparer2 = FixtureRegisterWithContext(RegisterModuleBarAndBaz) // var Preparer2 = FixtureRegisterWithContext(RegisterModuleBarAndBaz)
// var AllPreparers = FixturePreparers(Preparer1, Preparer2) // var AllPreparers = GroupFixturePreparers(Preparer1, Preparer2)
// //
// However, when restructured like this it would work fine: // However, when restructured like this it would work fine:
// var PreparerFoo = FixtureRegisterWithContext(RegisterModuleFoo) // var PreparerFoo = FixtureRegisterWithContext(RegisterModuleFoo)
// var PreparerBar = FixtureRegisterWithContext(RegisterModuleBar) // var PreparerBar = FixtureRegisterWithContext(RegisterModuleBar)
// var PreparerBaz = FixtureRegisterWithContext(RegisterModuleBaz) // var PreparerBaz = FixtureRegisterWithContext(RegisterModuleBaz)
// var Preparer1 = FixturePreparers(RegisterModuleFoo, RegisterModuleBar) // var Preparer1 = GroupFixturePreparers(RegisterModuleFoo, RegisterModuleBar)
// var Preparer2 = FixturePreparers(RegisterModuleBar, RegisterModuleBaz) // var Preparer2 = GroupFixturePreparers(RegisterModuleBar, RegisterModuleBaz)
// var AllPreparers = FixturePreparers(Preparer1, Preparer2) // var AllPreparers = GroupFixturePreparers(Preparer1, Preparer2)
// //
// As after deduping and flattening AllPreparers would result in the following preparers being // As after deduping and flattening AllPreparers would result in the following preparers being
// applied: // applied:
@@ -109,7 +109,7 @@ import (
// An exported preparer for use by other packages that need to use java modules. // An exported preparer for use by other packages that need to use java modules.
// //
// package java // package java
// var PrepareForIntegrationTestWithJava = FixturePreparers( // var PrepareForIntegrationTestWithJava = GroupFixturePreparers(
// android.PrepareForIntegrationTestWithAndroid, // android.PrepareForIntegrationTestWithAndroid,
// FixtureRegisterWithContext(RegisterAGroupOfRelatedModulesMutatorsAndSingletons), // FixtureRegisterWithContext(RegisterAGroupOfRelatedModulesMutatorsAndSingletons),
// FixtureRegisterWithContext(RegisterAnotherGroupOfRelatedModulesMutatorsAndSingletons), // FixtureRegisterWithContext(RegisterAnotherGroupOfRelatedModulesMutatorsAndSingletons),
@@ -144,7 +144,7 @@ import (
// } // }
// //
// package cc // package cc
// var PrepareForTestWithCC = FixturePreparers( // var PrepareForTestWithCC = GroupFixturePreparers(
// android.PrepareForArchMutator, // android.PrepareForArchMutator,
// android.prepareForPrebuilts, // android.prepareForPrebuilts,
// FixtureRegisterWithContext(RegisterRequiredBuildComponentsForTest), // FixtureRegisterWithContext(RegisterRequiredBuildComponentsForTest),
@@ -153,7 +153,7 @@ import (
// //
// package apex // package apex
// //
// var PrepareForApex = FixturePreparers( // var PrepareForApex = GroupFixturePreparers(
// ... // ...
// ) // )
// //
@@ -285,9 +285,12 @@ func FixtureWithRootAndroidBp(contents string) FixturePreparer {
return FixtureAddTextFile("Android.bp", contents) return FixtureAddTextFile("Android.bp", contents)
} }
// Create a composite FixturePreparer that is equivalent to applying each of the supplied // GroupFixturePreparers creates a composite FixturePreparer that is equivalent to applying each of
// FixturePreparer instances in order. // the supplied FixturePreparer instances in order.
func FixturePreparers(preparers ...FixturePreparer) FixturePreparer { //
// Before preparing the fixture the list of preparers is flattened by replacing each
// instance of GroupFixturePreparers with its contents.
func GroupFixturePreparers(preparers ...FixturePreparer) FixturePreparer {
return &compositeFixturePreparer{dedupAndFlattenPreparers(nil, preparers)} return &compositeFixturePreparer{dedupAndFlattenPreparers(nil, preparers)}
} }

View File

@@ -32,9 +32,9 @@ func TestFixtureDedup(t *testing.T) {
preparer3 := appendToList("preparer3") preparer3 := appendToList("preparer3")
preparer4 := appendToList("preparer4") preparer4 := appendToList("preparer4")
preparer1Then2 := FixturePreparers(preparer1, preparer2) preparer1Then2 := GroupFixturePreparers(preparer1, preparer2)
preparer2Then1 := FixturePreparers(preparer2, preparer1) preparer2Then1 := GroupFixturePreparers(preparer2, preparer1)
buildDir := "build" buildDir := "build"
factory := NewFixtureFactory(&buildDir, preparer1, preparer2, preparer1, preparer1Then2) factory := NewFixtureFactory(&buildDir, preparer1, preparer2, preparer1, preparer1Then2)

View File

@@ -48,7 +48,7 @@ func NewTestContext(config Config) *TestContext {
return ctx return ctx
} }
var PrepareForTestWithArchMutator = FixturePreparers( var PrepareForTestWithArchMutator = GroupFixturePreparers(
// Configure architecture targets in the fixture config. // Configure architecture targets in the fixture config.
FixtureModifyConfig(modifyTestConfigToSupportArchMutator), FixtureModifyConfig(modifyTestConfigToSupportArchMutator),
@@ -73,7 +73,7 @@ var PrepareForTestWithOverrides = FixtureRegisterWithContext(func(ctx Registrati
}) })
// Prepares an integration test with build components from the android package. // Prepares an integration test with build components from the android package.
var PrepareForIntegrationTestWithAndroid = FixturePreparers( var PrepareForIntegrationTestWithAndroid = GroupFixturePreparers(
// Mutators. Must match order in mutator.go. // Mutators. Must match order in mutator.go.
PrepareForTestWithArchMutator, PrepareForTestWithArchMutator,
PrepareForTestWithDefaults, PrepareForTestWithDefaults,