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
This commit is contained in:
Colin Cross
2016-10-14 15:38:43 -07:00
parent 6efa287aea
commit 0d614dd222
3 changed files with 41 additions and 6 deletions

View File

@@ -15,6 +15,8 @@
package android
import (
"io/ioutil"
"os"
"testing"
"github.com/google/blueprint"
@@ -81,9 +83,43 @@ var prebuiltsTests = []struct {
}`,
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 @@ func TestPrebuilts(t *testing.T) {
` + test.modules),
})
config := TestConfig()
_, errs := ctx.ParseBlueprintsFiles("Blueprints")
fail(t, errs)
_, errs = ctx.PrepareBuildActions(config)
@@ -129,7 +163,6 @@ func TestPrebuilts(t *testing.T) {
}
})
}
}
type prebuiltModule struct {