tree: e981fbf20c88e82f6bd6bf923f939ab1550581c7 [path history] [tgz]
  1. meta/
  2. admin_integration_test.rs
  3. BUILD.gn
  4. integration_test.rs
  5. only_exits.rs
  6. README.md
  7. storage_realm_admin.rs
  8. storage_realm_coll.rs
  9. storage_realm_coll_invalid_route.rs
  10. storage_user.rs
  11. storage_user_with_instance_id.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.