Re-enable prebuilt_test
Use a temporary directory as the build directory during tests so files
don't get written to the source tree.
Also add a few more tests for prebuilts with no file specified.
Bug: 31800129
Test: m -j, make sure .soong.environment is not written to the source tree
Change-Id: I623bc114b2ff534c8df9fb3ce273e804711f8f05
diff --git a/android/prebuilt_test.go b/android/prebuilt_test.go
index 92d6481..311f821 100644
--- a/android/prebuilt_test.go
+++ b/android/prebuilt_test.go
@@ -15,6 +15,8 @@
package android
import (
+ "io/ioutil"
+ "os"
"testing"
"github.com/google/blueprint"
@@ -81,9 +83,43 @@
}`,
prebuilt: true,
},
+ {
+ name: "prebuilt no file not preferred",
+ modules: `
+ source {
+ name: "bar",
+ }
+
+ prebuilt {
+ name: "bar",
+ prefer: false,
+ }`,
+ prebuilt: false,
+ },
+ {
+ name: "prebuilt no file preferred",
+ modules: `
+ source {
+ name: "bar",
+ }
+
+ prebuilt {
+ name: "bar",
+ prefer: true,
+ }`,
+ prebuilt: false,
+ },
}
func TestPrebuilts(t *testing.T) {
+ buildDir, err := ioutil.TempDir("", "soong_prebuilt_test")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.RemoveAll(buildDir)
+
+ config := TestConfig(buildDir)
+
for _, test := range prebuiltsTests {
t.Run(test.name, func(t *testing.T) {
ctx := NewContext()
@@ -98,8 +134,6 @@
` + test.modules),
})
- config := TestConfig()
-
_, errs := ctx.ParseBlueprintsFiles("Blueprints")
fail(t, errs)
_, errs = ctx.PrepareBuildActions(config)
@@ -129,7 +163,6 @@
}
})
}
-
}
type prebuiltModule struct {