Move filesystem into Config

The filesystem object was available through ModuleContext.Fs(), but
gives too much access to the filesystem without enforicing correct
dependencies.  In order to support sandboxing the soong_build
process move the filesystem into the Config.  The next change will
make it private.

Bug: 146437378
Test: all Soong tests
Change-Id: I5d3ae9108f120fd335b21efd612aefa078378813
This commit is contained in:
Colin Cross
2019-12-13 20:41:13 -08:00
parent 572aeed6a4
commit 98be1bb00f
42 changed files with 765 additions and 793 deletions

View File

@@ -51,6 +51,19 @@ func TestMain(m *testing.M) {
os.Exit(run())
}
func testConfig(bp string) android.Config {
bp = bp + GatherRequiredDepsForTest()
fs := map[string][]byte{
"foo.rs": nil,
"src/bar.rs": nil,
"liby.so": nil,
"libz.so": nil,
}
return android.TestArchConfig(buildDir, nil, bp, fs)
}
func testRust(t *testing.T, bp string) *android.TestContext {
// TODO (b/140435149)
if runtime.GOOS != "linux" {
@@ -58,11 +71,11 @@ func testRust(t *testing.T, bp string) *android.TestContext {
}
t.Helper()
config := android.TestArchConfig(buildDir, nil)
config := testConfig(bp)
t.Helper()
ctx := CreateTestContext(bp)
ctx.Register()
ctx := CreateTestContext()
ctx.Register(config)
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs)
@@ -79,10 +92,10 @@ func testRustError(t *testing.T, pattern string, bp string) {
}
t.Helper()
config := android.TestArchConfig(buildDir, nil)
config := testConfig(bp)
ctx := CreateTestContext(bp)
ctx.Register()
ctx := CreateTestContext()
ctx.Register(config)
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
if len(errs) > 0 {