mod attributes;
mod batches;
mod changes;
mod directories;
mod files;
mod links;
mod mutations;
mod paths;
mod search;
mod security;
mod trash;
use fslite_core::{FileSystem, WorkspaceId};
#[async_trait::async_trait]
pub trait ConformanceFactory: Send + Sync {
async fn fresh(&self) -> Box<dyn FileSystem>;
async fn workspace(&self, fs: &dyn FileSystem) -> WorkspaceId;
}
pub async fn run_conformance(factory: &dyn ConformanceFactory) {
paths::run(factory).await;
directories::run(factory).await;
files::run(factory).await;
mutations::run(factory).await;
links::run(factory).await;
trash::run(factory).await;
attributes::run(factory).await;
batches::run(factory).await;
search::run(factory).await;
changes::run(factory).await;
security::run(factory).await;
}