restorer: windows test fixes

This commit is contained in:
Michael Eischer
2024-06-13 22:52:31 +02:00
parent ca41c8fd11
commit 9572b7224f
4 changed files with 37 additions and 3 deletions

View File

@@ -0,0 +1,10 @@
//go:build !windows
// +build !windows
package restorer
import "syscall"
func notEmptyDirError() error {
return syscall.ENOTEMPTY
}

View File

@@ -4,7 +4,7 @@ import (
"fmt"
"os"
"path/filepath"
"syscall"
"runtime"
"testing"
"github.com/restic/restic/internal/errors"
@@ -72,7 +72,7 @@ func TestCreateFile(t *testing.T) {
rtest.OK(t, os.Mkdir(path, 0o700))
rtest.OK(t, os.WriteFile(filepath.Join(path, "file"), []byte("data"), 0o400))
},
err: syscall.ENOTEMPTY,
err: notEmptyDirError(),
},
{
name: "hardlinks",
@@ -81,6 +81,11 @@ func TestCreateFile(t *testing.T) {
rtest.OK(t, os.Link(path, path+"h"))
},
check: func(t testing.TB, path string) {
if runtime.GOOS == "windows" {
// hardlinks are not supported on windows
return
}
data, err := os.ReadFile(path + "h")
rtest.OK(t, err)
rtest.Equals(t, "test-test-test-data", string(data), "unexpected content change")

View File

@@ -0,0 +1,7 @@
package restorer
import "syscall"
func notEmptyDirError() error {
return syscall.ERROR_DIR_NOT_EMPTY
}