A test helper that manages pkgfs instances backed by memory-backed blobfs instances.
As this test helper is intended to be included within a test package, all tests utilizing this helper will need a few extra blobs included in their test package and access to some non-standard sandbox features.
Include the following template in all BUILD.gn files containing test packages that utilize this crate.
# Include blobfs in the build, which comes from Zircon generate_manifest("blobfs.manifest") { visibility = [ ":*" ] args = [] foreach(pattern, [ "bin/blobfs" ]) { args += [ "--binary=" + pattern ] } } blobfs_manifest_outputs = get_target_outputs(":blobfs.manifest") blobfs_manifest = blobfs_manifest_outputs[0]
Then, in each test_package
that utilizes this crate, add a dependency on the manifest and add it to the extra set of manifests to include in the package. Also, add a dependency on the pkgfs binary and include the binary in the package.
test_package("example-test-package") { extra = [ blobfs_manifest ] deps = [ ":blobfs.manifest", "//garnet/go/src/grand_unified_binary", ... ] binaries = [ { name = "pkgsvr" source = "grand_unified_binary" }, ] ... }
In the sandbox section of tests that utilize this crate, add access to the ramctl device and “fuchsia.process.Launcher” service:
{ "sandbox": { "dev": [ "misc/ramctl" ], "services": [ "fuchsia.process.Launcher" ] } }