testing

command
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2026 License: MPL-2.0 Imports: 9 Imported by: 0

README

KeibiDrop FUSE Testing

Standalone test scripts for verifying FUSE filesystem correctness. These tests mount a local FUSE filesystem (no peer connection needed) and run workloads against it.

Prerequisites

  • Go 1.24+
  • FUSE libraries installed:
    • macOS: macFUSE
    • Linux: sudo apt install libfuse-dev fuse and user_allow_other in /etc/fuse.conf
  • PostgreSQL 16+ (for database tests): brew install postgresql@16 or sudo apt install postgresql-16
  • pjdfstest (for POSIX compliance): clone from https://github.com/pjd/pjdfstest

Quick start

# Build the standalone FUSE mount tool
make build-mount-fuse

# Run all tests
make test-fuse

# Individual tests
make test-fstest          # POSIX compliance (requires pjdfstest)
make test-postgresql      # PostgreSQL initdb + CRUD
make test-git-clone       # git clone integrity

What each test does

test-fstest: Mounts FUSE, runs pjdfstest suite (excluding symlink/hardlink), reports pass rate. Requires root for chown tests.

test-postgresql: Mounts FUSE, runs initdb, starts PostgreSQL, creates a table, inserts 1000 rows, queries, shuts down. Verifies file count matches native initdb.

test-git-clone: Mounts FUSE, clones a small repo into the mount, verifies git log and git status work correctly. Tests the file rename/write patterns that git uses.

Documentation

Overview

mount-fuse is a minimal program that mounts a KeibiDrop FUSE filesystem at a given directory without needing a peer connection or relay. Used for fstest POSIX compliance testing.

Usage: mount-fuse <mount-point> <save-dir>

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL