#archive #representation #testing #btrfs #cpio #fs #integration

nightly filesystem_in_a_file

In-memory FS representation for testing image builders

1 unstable release

0.0.1 Feb 7, 2023

#7 in #cpio

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–14MB
~190K SLoC