Allow test handlers to be either FixturePreparer or testCustomizer
This allows the testCustomizers to be switched to FixturePreparers incrementally rather than in one go. Bug: 181070625 Test: m nothing Change-Id: Idd9d2e28abf9b17fc46b5566ab8d3affa330287e
This commit is contained in:
@@ -50,14 +50,14 @@ func names(s string) (ns []string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func testApexError(t *testing.T, pattern, bp string, handlers ...testCustomizer) {
|
func testApexError(t *testing.T, pattern, bp string, handlers ...interface{}) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
testApexFixtureFactory(bp, handlers).
|
testApexFixtureFactory(bp, handlers).
|
||||||
ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(pattern)).
|
ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(pattern)).
|
||||||
RunTest(t)
|
RunTest(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testApex(t *testing.T, bp string, handlers ...testCustomizer) *android.TestContext {
|
func testApex(t *testing.T, bp string, handlers ...interface{}) *android.TestContext {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
result := testApexFixtureFactory(bp, handlers).RunTest(t)
|
result := testApexFixtureFactory(bp, handlers).RunTest(t)
|
||||||
return result.TestContext
|
return result.TestContext
|
||||||
@@ -208,14 +208,26 @@ var apexFixtureFactory = android.NewFixtureFactory(
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
func testApexFixtureFactory(bp string, handlers []testCustomizer) android.FixtureFactory {
|
func testApexFixtureFactory(bp string, handlers []interface{}) android.FixtureFactory {
|
||||||
factory := apexFixtureFactory.Extend(
|
var preparers []android.FixturePreparer
|
||||||
android.FixtureCustomPreparer(func(fixture android.Fixture) {
|
for _, handler := range handlers {
|
||||||
for _, handler := range handlers {
|
var preparer android.FixturePreparer
|
||||||
handler(fixture.MockFS(), fixture.Config())
|
if p, ok := handler.(android.FixturePreparer); ok {
|
||||||
|
preparer = p
|
||||||
|
} else {
|
||||||
|
var customizer testCustomizer
|
||||||
|
if c, ok := handler.(testCustomizer); ok {
|
||||||
|
customizer = c
|
||||||
|
} else {
|
||||||
|
customizer = handler.(func(fs map[string][]byte, config android.Config))
|
||||||
}
|
}
|
||||||
}),
|
preparer = android.FixtureCustomPreparer(func(fixture android.Fixture) {
|
||||||
)
|
customizer(fixture.MockFS(), fixture.Config())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
preparers = append(preparers, preparer)
|
||||||
|
}
|
||||||
|
factory := apexFixtureFactory.Extend(preparers...)
|
||||||
if bp != "" {
|
if bp != "" {
|
||||||
factory = factory.Extend(android.FixtureWithRootAndroidBp(bp))
|
factory = factory.Extend(android.FixtureWithRootAndroidBp(bp))
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user