#archive #representation #testing #integration-tests #btrfs #fs #image

nightly filesystem_in_a_file

In-memory FS representation for testing image builders

1 unstable release

0.0.1 Feb 7, 2023

#25 in #btrfs

Custom license

84KB
2.5K SLoC

Workflow Status docs.rs Maintenance

filesystem_in_a_file

A complete view of a filesystem provided by various archive formats. Currently this crate supports BTRFS Sendstreams, tarballs, and cpio archives.

The intended use case is to use this in-memory representation to enable full-filesystem comparisons during integration tests for image packaging tools.

License: MIT


lib.rs:

In-memory representation of a filesystem designed to enable full-filesystem comparisons during integration tests. Great care is taken to ensure that all the structs in this crate are zero-copy, allowing a user to read (or better yet, mmap) a filesystem-in-a-file (such as a tarball, BTRFS sendstream, cpio archive, etc) and get a complete picture of the entire FS (or at least the parts that can be represented in the archive format).

Dependencies

~5–16MB
~213K SLoC