• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

fogfish / stream
84%
main: 84%

Build:
Build:
LAST BUILD BRANCH: ext-in-spool
DEFAULT BRANCH: main
Repo Added 06 Jun 2022 04:05PM UTC
Files 8
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix-path-inconsistency
branch: fix-path-inconsistency
CHANGE BRANCH
x
Reset
  • fix-path-inconsistency
  • enable-s3-subpath-mounting
  • ext-in-spool
  • fea-curl-fs
  • fix-walk-local-fs
  • main
  • spool-route
  • unify-spool-api
  • update-deps
  • warn-on-spool-error

01 Nov 2025 12:18PM UTC coverage: 83.831% (+6.2%) from 77.618%
18996633180

Pull #53

github

fogfish
(fix) Inconsistent file path behaviour

Key Changes:
Updated shared validation functions (filename.go):

IsValidFile(), IsValidPath(), and IsValidDir() now accept paths with or without leading /
Both /file.txt and file.txt are treated as equivalent paths relative to the mount point
Relative paths with .. are still rejected by fs.ValidPath()
Both filesystems now behave identically:

S3 filesystem (stream): Already had path normalization in s3Key() that strips leading /
Local filesystem (lfs): Uses trim() function to normalize paths before filesystem operations
Both accept the same path formats and treat them consistently
Updated documentation:

Both Create() and Open() methods in both filesystems now document that paths can be with or without leading /
Clear that both forms are treated as paths relative to the mount point
Behavior:
Before:

Paths required leading / → fsys.Create("/file.txt", nil) ✅
Paths without / failed → fsys.Create("file.txt", nil) ❌
After:

Both forms work equally → fsys.Create("/file.txt", nil) ✅
→ fsys.Create("file.txt", nil) ✅
Both are treated as the same file at the mount root
No support for relative traversal with ../ (correctly rejected)
Pull Request #53: (fix) Inconsistent file path behaviour

26 of 29 new or added lines in 2 files covered. (89.66%)

10 existing lines in 3 files now uncovered.

814 of 971 relevant lines covered (83.83%)

0.93 hits per line

Relevant lines Covered
Build:
Build:
971 RELEVANT LINES 814 COVERED LINES
0.93 HITS PER LINE
Source Files on fix-path-inconsistency
  • Tree
  • List 8
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
18996633180 fix-path-inconsistency (fix) Inconsistent file path behaviour Key Changes: Updated shared validation functions (filename.go): IsValidFile(), IsValidPath(), and IsValidDir() now accept paths with or without leading / Both /file.txt and file.txt are treated as equivalen... Pull #53 01 Nov 2025 12:20PM UTC fogfish github
83.83
See All Builds (142)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc