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
diff --git a/apex/apex_test.go b/apex/apex_test.go
index e32b9f3..1006a62 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -50,14 +50,14 @@
return
}
-func testApexError(t *testing.T, pattern, bp string, handlers ...testCustomizer) {
+func testApexError(t *testing.T, pattern, bp string, handlers ...interface{}) {
t.Helper()
testApexFixtureFactory(bp, handlers).
ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(pattern)).
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()
result := testApexFixtureFactory(bp, handlers).RunTest(t)
return result.TestContext
@@ -208,14 +208,26 @@
}),
)
-func testApexFixtureFactory(bp string, handlers []testCustomizer) android.FixtureFactory {
- factory := apexFixtureFactory.Extend(
- android.FixtureCustomPreparer(func(fixture android.Fixture) {
- for _, handler := range handlers {
- handler(fixture.MockFS(), fixture.Config())
+func testApexFixtureFactory(bp string, handlers []interface{}) android.FixtureFactory {
+ var preparers []android.FixturePreparer
+ for _, handler := range handlers {
+ var preparer android.FixturePreparer
+ 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 != "" {
factory = factory.Extend(android.FixtureWithRootAndroidBp(bp))
}