tree: b6ce8a2e0506d811e15721da653f5c79df31aef2 [path history] [tgz]
  1. meta/
  2. BUILD.gn
  3. integration_test.rs
  4. README.md
  5. storage_realm_coll.rs
  6. storage_user.rs
src/sys/component_manager/tests/storage/README.md

Storage integration test

The integration test for storage capabilities is comprised of three components:

     storage_realm
     /           \
 memfs          storage_user

The memfs and storage_user components are pretty simple. memfs runs memfs, a mutable in-memory filesystem, and makes it available on its outgoing directory at the path /minfs. storage_user will forward any open connections to /data on its outgoing directory to /data in its namespace.

The manifest for storage_realm connect memfs and storage_user together, creating storage capabilities from memfs's exposed directory and offering them to storage_user. This allows storage_realm to both access the memfs instance directly, and to access it through storage_user's exposed /data directory.

With this set up, the storage_realm component binds to storage_user and writes a file to the /data directory, and then binds to memfs and attempts to read the file back from the sub-directory that should have been generated for the storage capability used by storage_user.