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.bp b/Android.bp
index 966c9b3..8821098 100644
--- a/Android.bp
+++ b/Android.bp
@@ -82,7 +82,7 @@
],
testSrcs: [
"android/paths_test.go",
- //"android/prebuilt_test.go",
+ "android/prebuilt_test.go",
],
}
diff --git a/android/config.go b/android/config.go
index 1d3fba2..483ec91 100644
--- a/android/config.go
+++ b/android/config.go
@@ -152,8 +152,10 @@
}
// TestConfig returns a Config object suitable for using for tests
-func TestConfig() Config {
- return Config{&config{}}
+func TestConfig(buildDir string) Config {
+ return Config{&config{
+ buildDir: buildDir,
+ }}
}
// New creates a new Config object. The srcDir argument specifies the path to
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 {