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

Latest commit

 

History

History
99 lines (66 loc) · 2.9 KB

README.md

File metadata and controls

99 lines (66 loc) · 2.9 KB

📁 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