< Summary - go-semantic-release Coverage

Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 41
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
NewOSFileSystem0%00100%

File(s)

/home/runner/work/go-semantic-release/go-semantic-release/internal/adapters/fs/filesystem.go

#LineLine coverage
 1package fs
 2
 3import (
 4  "io/fs"
 5  "os"
 6  "path/filepath"
 7
 8  "github.com/jedi-knights/go-semantic-release/internal/ports"
 9)
 10
 11// Compile-time interface compliance check.
 12var _ ports.FileSystem = (*OSFileSystem)(nil)
 13
 14// OSFileSystem implements ports.FileSystem using the real filesystem.
 15type OSFileSystem struct{}
 16
 17// NewOSFileSystem creates a real filesystem adapter.
 618func NewOSFileSystem() *OSFileSystem {
 619  return &OSFileSystem{}
 620}
 21
 22func (f *OSFileSystem) ReadFile(path string) ([]byte, error) {
 23  return os.ReadFile(path)
 24}
 25
 26func (f *OSFileSystem) WriteFile(path string, data []byte, perm fs.FileMode) error {
 27  return os.WriteFile(path, data, perm)
 28}
 29
 30func (f *OSFileSystem) Exists(path string) bool {
 31  _, err := os.Stat(path)
 32  return err == nil
 33}
 34
 35func (f *OSFileSystem) Walk(root string, fn fs.WalkDirFunc) error {
 36  return filepath.WalkDir(root, fn)
 37}
 38
 39func (f *OSFileSystem) Glob(pattern string) ([]string, error) {
 40  return filepath.Glob(pattern)
 41}

Methods/Properties

NewOSFileSystem