mirror of
https://github.com/datarhei/core.git
synced 2025-10-06 00:17:07 +08:00
Fix error if history file doesn't exist
This commit is contained in:
@@ -203,7 +203,7 @@ func NewRootedDiskFilesystem(config RootedDiskConfig) (Filesystem, error) {
|
||||
|
||||
info, err := os.Stat(fs.root)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, os.ErrNotExist
|
||||
}
|
||||
|
||||
if !info.IsDir() {
|
||||
@@ -285,7 +285,7 @@ func (fs *diskFilesystem) Symlink(oldname, newname string) error {
|
||||
|
||||
info, err := os.Lstat(oldname)
|
||||
if err != nil {
|
||||
return err
|
||||
return os.ErrNotExist
|
||||
}
|
||||
|
||||
if info.Mode()&os.ModeSymlink != 0 {
|
||||
@@ -494,7 +494,7 @@ func (fs *diskFilesystem) Stat(path string) (FileInfo, error) {
|
||||
|
||||
info, err := os.Lstat(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, os.ErrNotExist
|
||||
}
|
||||
|
||||
dif.mode = info.Mode()
|
||||
@@ -502,7 +502,7 @@ func (fs *diskFilesystem) Stat(path string) (FileInfo, error) {
|
||||
if info.Mode()&os.ModeSymlink != 0 {
|
||||
info, err = os.Stat(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, os.ErrNotExist
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package session
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
@@ -39,8 +40,12 @@ func NewHistorySource(fs fs.Filesystem, path string) (SnapshotSource, error) {
|
||||
path: path,
|
||||
}
|
||||
|
||||
if _, err := s.fs.Stat(s.path); err == os.ErrNotExist {
|
||||
return nil, nil
|
||||
if _, err := s.fs.Stat(s.path); err != nil {
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return nil, err
|
||||
}
|
||||
|
||||
data, err := s.fs.ReadFile(s.path)
|
||||
|
26
session/snapshot_test.go
Normal file
26
session/snapshot_test.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package session
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/datarhei/core/v16/io/fs"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestHistorySource(t *testing.T) {
|
||||
memfs, err := fs.NewMemFilesystem(fs.MemConfig{})
|
||||
require.NoError(t, err)
|
||||
|
||||
s, err := NewHistorySource(memfs, "/foobar.json")
|
||||
require.NoError(t, err)
|
||||
require.Nil(t, s)
|
||||
}
|
||||
|
||||
func TestHistorySourceDisk(t *testing.T) {
|
||||
diskfs, err := fs.NewDiskFilesystem(fs.DiskConfig{})
|
||||
require.NoError(t, err)
|
||||
|
||||
s, err := NewHistorySource(diskfs, "./foobar.json")
|
||||
require.NoError(t, err)
|
||||
require.Nil(t, s)
|
||||
}
|
Reference in New Issue
Block a user