Skip to content
This repository has been archived by the owner on Jan 22, 2021. It is now read-only.
/ MyFS Public archive

πŸ“ FUSE-based file system, which stores all data in a single file while emulating a block device

License

Notifications You must be signed in to change notification settings

robin-hartmann/MyFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ MyFS

FUSE-based file system, which stores all data in a single file while emulating a block device

πŸ› οΈ Development

These instructions will get you a copy of this project up and running on your local machine for development and testing purposes.

πŸ“‹ Prerequisites

To be able to build and run this project, the following software has to be installed:

  • fuse (only available for UNIX systems)
  • pkg-config

For running the tests, the following needs to be installed additionally:

  • Node.js - JavaScript run-time environment

Setup on macOS

  1. Download and install osxfuse from here
  2. Install Homebrew as described here
  3. Use Homebrew to install the package pkg-config:
    brew install pkg-config
  4. Install Node.js

πŸš€ Getting Started

⚠️ The MyFS binaries are not built automatically before running the tests. So if the sources of MyFS have changed or haven't been built at all, make sure you run the build before running the tests. Otherwise the old binaries will be tested or the tests will fail altogether.

Run any of the following commands in the directory containing the package.json file:

# unit tests
npm run test-unit

# functional tests
npm install # only required for initial installation and updates
npm run test-functional

# manual functional tests
npm run test-functional-manual

# all tests except manual
npm test

πŸ“˜ Documentation

⚠️ Written in German

🧰 Built With

  • libfuse - The reference implementation of the Linux FUSE interface

πŸ‘¨β€πŸ’» Authors

  • Robin Hartmann - robin-hartmann
    • Design
    • Build Process
    • Getting the Implementation to work
    • Functional Tests
      • Using a Bash Script
      • Using TypeScript and AVA
        • For more information see repository myfs-test
    • Most of the Documentation

  • Lukas HΓΌgle - lukashuegle
    • Design
    • Initial Implementation
    • Getting the Implementation to work
    • Unit Tests
    • Documentation of Functions

  • Robin Weber - robinweber97
    • Design
    • Initial Implementation

πŸ“ƒ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘ Acknowledgments

  • Special thanks to Lukas and Robin for letting me publish this project

About

πŸ“ FUSE-based file system, which stores all data in a single file while emulating a block device

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages