aboutsummaryrefslogtreecommitdiff
path: root/repo_test.go
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2021-09-20 14:00:08 +0200
committern-peugnet <n.peugnet@free.fr>2021-09-20 14:00:08 +0200
commit540426db79b6e49b79d58aef99ffee5005dc987d (patch)
tree8d31ed9ab733e1681978ce0ccbffc50bec7fd176 /repo_test.go
parentcfb36188efc8f53e8ec0a939ddcd09a0704fb988 (diff)
downloaddna-backup-540426db79b6e49b79d58aef99ffee5005dc987d.tar.gz
dna-backup-540426db79b6e49b79d58aef99ffee5005dc987d.zip
remove errored files from fileList
and add tests with non existing link
Diffstat (limited to 'repo_test.go')
-rw-r--r--repo_test.go24
1 files changed, 18 insertions, 6 deletions
diff --git a/repo_test.go b/repo_test.go
index e1a80a3..00c94df 100644
--- a/repo_test.go
+++ b/repo_test.go
@@ -6,6 +6,7 @@ import (
"io"
"io/ioutil"
"os"
+ "path"
"path/filepath"
"reflect"
"testing"
@@ -18,7 +19,7 @@ func chunkCompare(t *testing.T, dataDir string, repo *Repo, testFiles []string,
reader, writer := io.Pipe()
chunks := make(chan []byte)
files := listFiles(dataDir)
- go concatFiles(files, writer)
+ go concatFiles(&files, writer)
go repo.chunkStream(reader, chunks)
offset := 0
@@ -127,6 +128,17 @@ func TestReadFiles3(t *testing.T) {
chunkCompare(t, dataDir, repo, files, chunkCount)
}
+func TestNoSuchFile(t *testing.T) {
+ tmpDir := t.TempDir()
+ os.Symlink("./notexisting", path.Join(tmpDir, "linknotexisting"))
+ var buff bytes.Buffer
+ files := listFiles(tmpDir)
+ assertLen(t, 1, files, "Files")
+ concatFiles(&files, utils.NopCloser(&buff))
+ assertLen(t, 0, files, "Files")
+ assertLen(t, 0, buff.Bytes(), "Buffer")
+}
+
func TestLoadChunks(t *testing.T) {
resultDir := t.TempDir()
dataDir := filepath.Join("testdata", "logs")
@@ -142,8 +154,8 @@ func TestLoadChunks(t *testing.T) {
chunks2 := make(chan []byte, 16)
chunks3 := make(chan IdentifiedChunk, 16)
files := listFiles(dataDir)
- go concatFiles(files, writer1)
- go concatFiles(files, writer2)
+ go concatFiles(&files, writer1)
+ go concatFiles(&files, writer2)
go repo.chunkStream(reader1, chunks1)
go repo.chunkStream(reader2, chunks2)
storeChunks(resultChunks, chunks1)
@@ -183,7 +195,7 @@ func TestStoreLoadFiles(t *testing.T) {
}
}
-func prepareChunks(dataDir string, repo *Repo, streamFunc func([]File, io.WriteCloser)) {
+func prepareChunks(dataDir string, repo *Repo, streamFunc func(*[]File, io.WriteCloser)) {
resultVersion := filepath.Join(repo.path, "00000")
resultChunks := filepath.Join(resultVersion, chunksName)
os.MkdirAll(resultChunks, 0775)
@@ -193,10 +205,10 @@ func prepareChunks(dataDir string, repo *Repo, streamFunc func([]File, io.WriteC
storeChunks(resultChunks, chunks)
}
-func getDataStream(dataDir string, streamFunc func([]File, io.WriteCloser)) io.Reader {
+func getDataStream(dataDir string, streamFunc func(*[]File, io.WriteCloser)) io.Reader {
reader, writer := io.Pipe()
files := listFiles(dataDir)
- go streamFunc(files, writer)
+ go streamFunc(&files, writer)
return reader
}