From ccb97e0bb5fb0e0c257411d442183d49dd734822 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Fri, 24 Sep 2021 15:22:30 +0200 Subject: fix symlink tests on windows split into symlink and NotReadable tests and do not build nowindows_test on windows. --- nowindows_test.go | 38 ++++++++++++++++++++++++++++++++++++++ repo_test.go | 18 ++---------------- 2 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 nowindows_test.go 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") -- cgit v1.2.3