fuse integration: align the posix docs with the suite

The doc listed a docker-test-posix target and make variables that do not
exist, and ran go test against single files that cannot compile alone. The
roadmap also still claimed the platform-specific tests this suite now
implements were all skipped.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Chris LuandDevin committed 2026-10-22 03:38:56 -07:00
1 parent cd90b32a83
commit 4fa56e2358
2 files changed
+19 -27

No files matched your search

+9 -18
View File
@@ -340,8 +340,7 @@ make -f posix_Makefile test-nfstest-posix
sudo usermod -a -G fuse $USER
# Re-login or run: newgrp fuse
# Check mount options
make -f posix_Makefile test-posix-basic MOUNT_OPTIONS="-allowOthers"
# Mount with -allowOthers if other users need access (test config MountOptions)
```
#### Extended Attributes Not Supported
@@ -366,14 +365,14 @@ getfattr --version
### Debug Mode
```bash
# Run tests with verbose output
make -f posix_Makefile test-posix-basic VERBOSE=1
# Test targets already run go test -v and keep logs under reports/
make -f posix_Makefile test-posix-basic
# Keep test files for inspection
make -f posix_Makefile test-posix-basic CLEANUP=false
# Run against an existing external mount instead of a fresh cluster
make -f posix_Makefile test-posix-basic TEST_MOUNT_POINT=/path/to/mount
# Enable debug logging
make -f posix_Makefile test-posix-basic DEBUG=true
# Extend the 45-minute per-suite timeout
make -f posix_Makefile test-posix-full TEST_TIMEOUT=90m
```
### Manual Test Execution
@@ -381,10 +380,10 @@ make -f posix_Makefile test-posix-basic DEBUG=true
```bash
# Run specific test
cd test/fuse_integration
go test -v -run TestPOSIXCompliance/FileOperations posix_compliance_test.go
go test -v -run 'TestPOSIXCompliance/FileOperations' .
# Run with custom timeout
go test -v -timeout 30m -run TestPOSIXExtended posix_extended_test.go
go test -v -timeout 30m -run TestPOSIXExtended .
```
## 🔄 CI/CD Integration
@@ -459,14 +458,6 @@ pipeline {
}
```
### Docker-based Testing
```bash
# Build Docker image for testing
cd test/fuse_integration
make -f posix_Makefile docker-test-posix
```
## 🎯 POSIX Compliance Checklist
### Critical POSIX Features
@@ -4,7 +4,7 @@ This document tracks the implementation status of POSIX features in the SeaweedF
## Overview
The POSIX compliance test suite currently has several tests that are skipped due to requiring platform-specific implementations. This roadmap outlines the steps needed to implement these tests and achieve comprehensive POSIX compliance validation.
The platform-specific tests listed below are implemented; this document records the implementation plan that produced them, plus the one feature still pending.
## Current Status
@@ -21,14 +21,15 @@ The POSIX compliance test suite currently has several tests that are skipped due
### 🚧 Partially Implemented
- Cross-platform compatibility (basic implementation with platform-specific access time handling)
- File sealing (still skipped; Linux-specific, pending)
### ❌ Missing Implementations
### ✅ Implemented Platform-Specific Features
#### 1. Extended Attributes (xattr)
**Priority: High**
**Platforms: Linux, macOS, FreeBSD**
**Current Status:** All xattr tests are skipped
**Status:** Implemented
- `TestExtendedAttributes/SetExtendedAttribute`
- `TestExtendedAttributes/ListExtendedAttributes`
- `TestExtendedAttributes/RemoveExtendedAttribute`
@@ -58,7 +59,7 @@ func setXattr(path, name string, value []byte) error {
**Priority: High**
**Platforms: All POSIX systems**
**Current Status:** All mmap tests are skipped
**Status:** Implemented
- `TestMemoryMapping/MemoryMappedRead`
- `TestMemoryMapping/MemoryMappedWrite`
@@ -84,7 +85,7 @@ func testMmap(t *testing.T, filePath string) {
**Priority: Medium**
**Platforms: All POSIX systems**
**Current Status:** Vectored I/O test is skipped
**Status:** Implemented
- `TestAdvancedIO/VectoredIO`
**Implementation Plan:**
@@ -100,7 +101,7 @@ func testVectoredIO(t *testing.T, filePath string) {
**Priority: Medium**
**Platforms: Linux, some Unix variants**
**Current Status:** Direct I/O test is skipped
**Status:** Implemented
- `TestDirectIO/DirectIO`
**Implementation Plan:**
@@ -116,7 +117,7 @@ func testDirectIO(t *testing.T, filePath string) {
**Priority: Medium**
**Platforms: Linux, some Unix variants**
**Current Status:** fallocate test is skipped
**Status:** Implemented
- `TestFilePreallocation/Fallocate`
**Implementation Plan:**
@@ -132,7 +133,7 @@ func testFallocate(t *testing.T, filePath string) {
**Priority: Low**
**Platforms: Linux, FreeBSD, some Unix variants**
**Current Status:** sendfile test is skipped
**Status:** Implemented
- `TestZeroCopyTransfer/Sendfile`
**Implementation Plan:**
@@ -148,7 +149,7 @@ func testSendfile(t *testing.T, srcPath, dstPath string) {
**Priority: Low**
**Platforms: Linux only**
**Current Status:** File sealing test is skipped
**Current Status:** File sealing test is still skipped
- `TestFileSealing`
**Implementation Plan:**