mirror of
https://github.com/restic/restic.git
synced 2024-12-25 09:18:55 +00:00
Fix checks in fuse tests
This commit is contained in:
parent
ca6b7ec533
commit
d7888d4dd5
1 changed files with 19 additions and 11 deletions
|
@ -21,22 +21,30 @@ func TestMount(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkSnapshots := func(repo *repository.Repository, mountpoint string, snapshotIDs []backend.ID) {
|
checkSnapshots := func(repo *repository.Repository, mountpoint string, snapshotIDs []backend.ID) {
|
||||||
stSnapshots, err := os.Open(filepath.Join(mountpoint, "snapshots"))
|
snapshotsDir, err := os.Open(filepath.Join(mountpoint, "snapshots"))
|
||||||
OK(t, err)
|
OK(t, err)
|
||||||
namesInSnapshots, err := stSnapshots.Readdirnames(-1)
|
namesInSnapshots, err := snapshotsDir.Readdirnames(-1)
|
||||||
OK(t, err)
|
OK(t, err)
|
||||||
Assert(t,
|
Assert(t,
|
||||||
len(namesInSnapshots) == len(snapshotIDs),
|
len(namesInSnapshots) == len(snapshotIDs),
|
||||||
"Invalid number of snapshots: expected %d, got %d", len(snapshotIDs), len(namesInSnapshots))
|
"Invalid number of snapshots: expected %d, got %d", len(snapshotIDs), len(namesInSnapshots))
|
||||||
|
|
||||||
for i, id := range snapshotIDs {
|
namesMap := make(map[string]bool)
|
||||||
|
for _, name := range namesInSnapshots {
|
||||||
|
namesMap[name] = false
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, id := range snapshotIDs {
|
||||||
snapshot, err := restic.LoadSnapshot(repo, id)
|
snapshot, err := restic.LoadSnapshot(repo, id)
|
||||||
OK(t, err)
|
OK(t, err)
|
||||||
Assert(t,
|
_, ok := namesMap[snapshot.Time.Format(time.RFC3339)]
|
||||||
namesInSnapshots[i] == snapshot.Time.Format(time.RFC3339),
|
Assert(t, ok, "Snapshot %s isn't present in fuse dir", snapshot.Time.Format(time.RFC3339))
|
||||||
"Invalid snapshot directory name: expected %s, got %s", snapshot.Time.Format(time.RFC3339), namesInSnapshots[i])
|
namesMap[snapshot.Time.Format(time.RFC3339)] = true
|
||||||
}
|
}
|
||||||
OK(t, stSnapshots.Close())
|
for name, present := range namesMap {
|
||||||
|
Assert(t, present, "Directory %s is present in fuse dir but is not a snapshot", name)
|
||||||
|
}
|
||||||
|
OK(t, snapshotsDir.Close())
|
||||||
}
|
}
|
||||||
|
|
||||||
withTestEnvironment(t, func(env *testEnvironment, global GlobalOptions) {
|
withTestEnvironment(t, func(env *testEnvironment, global GlobalOptions) {
|
||||||
|
@ -54,12 +62,12 @@ func TestMount(t *testing.T) {
|
||||||
go cmdMount(t, global, mountpoint, ready)
|
go cmdMount(t, global, mountpoint, ready)
|
||||||
<-ready
|
<-ready
|
||||||
|
|
||||||
stMountPoint, err := os.Open(mountpoint)
|
mountpointDir, err := os.Open(mountpoint)
|
||||||
OK(t, err)
|
OK(t, err)
|
||||||
names, err := stMountPoint.Readdirnames(-1)
|
names, err := mountpointDir.Readdirnames(-1)
|
||||||
OK(t, err)
|
OK(t, err)
|
||||||
Assert(t, len(names) == 1 && names[0] == "snapshots", "expected the snapshots directory to exist")
|
Assert(t, len(names) == 1 && names[0] == "snapshots", `The fuse virtual directory "snapshots" doesn't exist`)
|
||||||
OK(t, stMountPoint.Close())
|
OK(t, mountpointDir.Close())
|
||||||
|
|
||||||
checkSnapshots(repo, mountpoint, []backend.ID{})
|
checkSnapshots(repo, mountpoint, []backend.ID{})
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue