Merge "Add OptionalFixturePreparer" am: abc6ec9d16
am: f59543d75b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1640330 Change-Id: I95e509911eb74db6b332dc3c96791ff4555efb0e
This commit is contained in:
commit
1f24390277
|
@ -381,6 +381,19 @@ func GroupFixturePreparers(preparers ...FixturePreparer) FixturePreparer {
|
|||
return &compositeFixturePreparer{dedupAndFlattenPreparers(nil, preparers)}
|
||||
}
|
||||
|
||||
// NullFixturePreparer is a preparer that does nothing.
|
||||
var NullFixturePreparer = GroupFixturePreparers()
|
||||
|
||||
// OptionalFixturePreparer will return the supplied preparer if it is non-nil, otherwise it will
|
||||
// return the NullFixturePreparer
|
||||
func OptionalFixturePreparer(preparer FixturePreparer) FixturePreparer {
|
||||
if preparer == nil {
|
||||
return NullFixturePreparer
|
||||
} else {
|
||||
return preparer
|
||||
}
|
||||
}
|
||||
|
||||
type simpleFixturePreparerVisitor func(preparer *simpleFixturePreparer)
|
||||
|
||||
// FixturePreparer is an opaque interface that can change a fixture.
|
||||
|
|
|
@ -30,9 +30,10 @@ func TestFixtureDedup(t *testing.T) {
|
|||
preparer1 := appendToList("preparer1")
|
||||
preparer2 := appendToList("preparer2")
|
||||
preparer3 := appendToList("preparer3")
|
||||
preparer4 := appendToList("preparer4")
|
||||
preparer4 := OptionalFixturePreparer(appendToList("preparer4"))
|
||||
nilPreparer := OptionalFixturePreparer(nil)
|
||||
|
||||
preparer1Then2 := GroupFixturePreparers(preparer1, preparer2)
|
||||
preparer1Then2 := GroupFixturePreparers(preparer1, preparer2, nilPreparer)
|
||||
|
||||
preparer2Then1 := GroupFixturePreparers(preparer2, preparer1)
|
||||
|
||||
|
|
Loading…
Reference in New Issue