Crate random_dir

Crate random_dir 

Source
Expand description

§random-dir

Crates.io Version Docs dependency status

§Introduction

random-dir is a library that helps create directories with random contents. The intended usage is to generate random directory, feed this directory as an input to some function, and then compare the output of this function to the expected output.

This crate is particularly useful to test archiver crates like kpea.

§Example

use random_dir::list_dir_all;
use random_dir::Dir;
use arbtest::arbtest;

fn test_pack_unpack_symmetry() {
    arbtest(|u| {
        let directory: Dir = u.arbitrary()?;
        // Pack the directory to a temporary archive file.
        // Unpack the temporary archive file to `/tmp/unpack-dir`.
        let files1 = list_dir_all(directory.path()).unwrap();
        let files2 = list_dir_all("/tmp/unpack-dir").unwrap();
        assert_eq!(files1, files2);
        Ok(())
    });
}

Structs§

Dir
Directory with randomly generated contents.
DirBuilder
Dir configuration.
FileInfo
File’s path, metadata and contents.
Metadata
File’s metadata.

Enums§

FileType
File type.

Constants§

ALL_FILE_TYPES
All file types supported by the platform.

Functions§

list_dir_all
Recursively list specified directory.