# Package org.apache.lucene.mockfile

Support for testing/debugging with virtual filesystems

See: Description

Class Summary
DisableFsyncFS: Disables actual calls to fsync.
ExtrasFS: Adds extra files/subdirectories when directories are created.
FilterAsynchronousFileChannel: A `FilterAsynchronousFileChannel` contains another `AsynchronousFileChannel`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterDirectoryStream: A `FilterDirectoryStream` contains another `DirectoryStream`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterFileChannel: A `FilterFileChannel` contains another `FileChannel`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterFileStore: A `FilterFileStore` contains another `FileStore`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterFileSystem: A `FilterFileSystem` contains another `FileSystem`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterFileSystemProvider: A `FilterFileSystemProvider` contains another `FileSystemProvider`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterInputStream2: A `FilterInputStream2` contains another `InputStream`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterOutputStream2: A `FilterOutputStream2` contains another `OutputStream`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterPath: A `FilterPath` contains another `Path`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterSeekableByteChannel: A `FilterSeekableByteChannel` contains another `SeekableByteChannel`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
HandleLimitFS: FileSystem that throws exception if file handles in use exceeds a specified limit
HandleTrackingFS: Base class for tracking file handles.
LeakFS: FileSystem that tracks open handles.
MockFileSystemTestCase: Base class for testing mockfilesystems.
ShuffleFS: Gives an unpredictable, but deterministic order to directory listings.
VerboseFS: FileSystem that records all major destructive filesystem activities.
VirusCheckingFS: Acts like a virus checker on Windows, where random programs may open the files you just wrote in an unfriendly way preventing deletion (e.g.
WindowsFS: FileSystem that (imperfectly) acts like windows.

## Package org.apache.lucene.mockfile Description

Support for testing/debugging with virtual filesystems

The primary classes are:

- `LeakFS`: Fails tests if they leave open filehandles.
- `VerboseFS`: Prints destructive filesystem operations to infostream.
- `WindowsFS`: Acts like windows.
- `DisableFsyncFS`: Makes actual fsync calls a no-op.
- `ExtrasFS`: Adds 'bonus' files to directories.
- `ShuffleFS`: Directory listings in an unpredictable but deterministic order.