aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2021-09-24 15:22:30 +0200
committern-peugnet <n.peugnet@free.fr>2021-09-24 15:22:30 +0200
commitccb97e0bb5fb0e0c257411d442183d49dd734822 (patch)
treeefabe69b677517d1e6bbaa13383538fbf8d1a685
parenta07bbe4ef22d642347d18f0e0a62d24868500d23 (diff)
downloaddna-backup-ccb97e0bb5fb0e0c257411d442183d49dd734822.tar.gz
dna-backup-ccb97e0bb5fb0e0c257411d442183d49dd734822.zip
fix symlink tests on windows
split into symlink and NotReadable tests and do not build nowindows_test on windows.
-rw-r--r--nowindows_test.go38
-rw-r--r--repo_test.go18
2 files changed, 40 insertions, 16 deletions
diff --git a/nowindows_test.go b/nowindows_test.go
new file mode 100644
index 0000000..2f2879c
--- /dev/null
+++ b/nowindows_test.go
@@ -0,0 +1,38 @@
+// +build !windows
+
+package main
+
+import (
+ "bytes"
+ "os"
+ "path/filepath"
+ "strings"
+ "testing"
+
+ "github.com/n-peugnet/dna-backup/logger"
+ "github.com/n-peugnet/dna-backup/testutils"
+ "github.com/n-peugnet/dna-backup/utils"
+)
+
+func TestNotReadable(t *testing.T) {
+ var output bytes.Buffer
+ logger.SetOutput(&output)
+ defer logger.SetOutput(os.Stderr)
+ tmpDir := t.TempDir()
+ f, err := os.OpenFile(filepath.Join(tmpDir, "notreadable"), os.O_CREATE, 0000)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := f.Close(); err != nil {
+ t.Fatal(err)
+ }
+ var buff bytes.Buffer
+ files := listFiles(tmpDir)
+ testutils.AssertLen(t, 1, files, "Files")
+ concatFiles(&files, utils.NopCloser(&buff))
+ testutils.AssertLen(t, 0, files, "Files")
+ testutils.AssertLen(t, 0, buff.Bytes(), "Buffer")
+ if !strings.Contains(output.String(), "notreadable") {
+ t.Errorf("log should contain a warning for notreadable, actual %q", &output)
+ }
+}
diff --git a/repo_test.go b/repo_test.go
index 2205e63..4b5c09b 100644
--- a/repo_test.go
+++ b/repo_test.go
@@ -134,32 +134,16 @@ func TestSymlinks(t *testing.T) {
defer logger.SetOutput(os.Stderr)
tmpDir := t.TempDir()
extDir := t.TempDir()
- extNotWritable := filepath.Join(extDir, "notwritable")
- f, err := os.OpenFile(extNotWritable, os.O_CREATE, 0000)
- if err != nil {
- t.Fatal(err)
- }
- if err := f.Close(); err != nil {
- t.Fatal(err)
- }
os.Symlink(extDir, filepath.Join(tmpDir, "linktodir"))
os.Symlink("./notexisting", filepath.Join(tmpDir, "linknotexisting"))
- os.Symlink(extNotWritable, filepath.Join(tmpDir, "linknotwritable"))
- var buff bytes.Buffer
files := listFiles(tmpDir)
- testutils.AssertLen(t, 1, files, "Files")
- concatFiles(&files, utils.NopCloser(&buff))
testutils.AssertLen(t, 0, files, "Files")
- testutils.AssertLen(t, 0, buff.Bytes(), "Buffer")
if !strings.Contains(output.String(), "linktodir") {
t.Errorf("log should contain a warning for linktodir, actual %q", &output)
}
if !strings.Contains(output.String(), "notexisting") {
t.Errorf("log should contain a warning for notexisting, actual %q", &output)
}
- if !strings.Contains(output.String(), "linknotwritable") {
- t.Errorf("log should contain a warning for linknotwritable, actual %q", &output)
- }
}
func TestLoadChunks(t *testing.T) {
@@ -219,6 +203,8 @@ func getDataStream(dataDir string, streamFunc func(*[]File, io.WriteCloser)) io.
}
func TestBsdiff(t *testing.T) {
+ logger.SetLevel(3)
+ defer logger.SetLevel(4)
resultDir := t.TempDir()
repo := NewRepo(resultDir)
dataDir := filepath.Join("testdata", "logs")