Hiii, Fabricio here.
Since the last devlog, I focused on making the VFS core trustworthy instead of just functional. I added a unit test for every method of the FileSystem trait in ferrox-core, using temporary directories (via tempfile) so the tests are isolated and don’t touch the real filesystem. There’s now one test per VFS operation:
- read_dir_lists_a_file — lists entries in a directory.
- metadata_returns_correct_node_type_for_file — checks the NodeType returned for a file.
- exists_returns_true_for_existing_file — verifies existence checks.
- create_dir_creates_a_directory — creates a directory (and its parents).
- remove_deletes_a_file — deletes a file and confirms it’s gone.
- rename_renames_a_file — moves/renames a file.
- find_matches_file_in_nested_directory — recursive search finds a file in a nested folder.
This closes the “Add unit tests using temporary directories” milestone from Phase 0 of the roadmap. On the architecture side, I started modeling the advanced VFS entities. I added a Mount type (with a MountKind enum, currently Local) that maps a virtual mount_point to a real source path handled by a specific backend. Right now it’s just the data model the actual mount resolution logic will come next but it lays the groundwork for composing multiple backends (local, zip, remote, etc.) under a single virtual tree, which is the whole point of the VFS-first design.
Next up: wiring the Mount model into the VFS so paths can actually be routed to the right backend, and moving toward async I/O with tokio.