lib/model: Introduce must test utility (#5586)

* lib/model: Introduce must test utility

* nice
This commit is contained in:
Simon Frei
2019-03-09 19:45:36 +01:00
committed by Audrius Butkevicius
parent 27ff20faa3
commit 189e44488e
5 changed files with 58 additions and 168 deletions

View File

@@ -2343,13 +2343,9 @@ func TestIssue3028(t *testing.T) {
// Create two files that we'll delete, one with a name that is a prefix of the other.
if err := ioutil.WriteFile("testdata/testrm", []byte("Hello"), 0644); err != nil {
t.Fatal(err)
}
must(t, ioutil.WriteFile("testdata/testrm", []byte("Hello"), 0644))
defer testOs.Remove("testdata/testrm")
if err := ioutil.WriteFile("testdata/testrm2", []byte("Hello"), 0644); err != nil {
t.Fatal(err)
}
must(t, ioutil.WriteFile("testdata/testrm2", []byte("Hello"), 0644))
defer testOs.Remove("testdata/testrm2")
// Create a model and default folder
@@ -2831,26 +2827,17 @@ func TestIssue2571(t *testing.T) {
}()
for _, dir := range []string{"toLink", "linkTarget"} {
err := testFs.MkdirAll(dir, 0775)
if err != nil {
t.Fatal(err)
}
must(t, testFs.MkdirAll(dir, 0775))
fd, err := testFs.Create(filepath.Join(dir, "a"))
if err != nil {
t.Fatal(err)
}
must(t, err)
fd.Close()
}
m := setupModel(w)
if err := testFs.RemoveAll("toLink"); err != nil {
t.Fatal(err)
}
must(t, testFs.RemoveAll("toLink"))
if err := osutil.DebugSymlinkForTestsOnly(filepath.Join(testFs.URI(), "linkTarget"), filepath.Join(testFs.URI(), "toLink")); err != nil {
t.Fatal(err)
}
must(t, osutil.DebugSymlinkForTestsOnly(filepath.Join(testFs.URI(), "linkTarget"), filepath.Join(testFs.URI(), "toLink")))
m.ScanFolder("default")
@@ -2879,25 +2866,17 @@ func TestIssue4573(t *testing.T) {
os.Remove(w.ConfigPath())
}()
err := testFs.MkdirAll("inaccessible", 0755)
if err != nil {
t.Fatal(err)
}
must(t, testFs.MkdirAll("inaccessible", 0755))
defer testFs.Chmod("inaccessible", 0777)
file := filepath.Join("inaccessible", "a")
fd, err := testFs.Create(file)
if err != nil {
t.Fatal(err)
}
must(t, err)
fd.Close()
m := setupModel(w)
err = testFs.Chmod("inaccessible", 0000)
if err != nil {
t.Fatal(err)
}
must(t, testFs.Chmod("inaccessible", 0000))
m.ScanFolder("default")
@@ -2931,8 +2910,7 @@ func TestInternalScan(t *testing.T) {
for _, dir := range baseDirs {
sub := filepath.Join(dir, "subDir")
for _, dir := range []string{dir, sub} {
err := testFs.MkdirAll(dir, 0775)
if err != nil {
if err := testFs.MkdirAll(dir, 0775); err != nil {
t.Fatalf("%v: %v", dir, err)
}
}
@@ -2942,9 +2920,7 @@ func TestInternalScan(t *testing.T) {
for _, dir := range []string{dir, sub} {
file := filepath.Join(dir, "a")
fd, err := testFs.Create(file)
if err != nil {
t.Fatal(err)
}
must(t, err)
fd.Close()
testCases[file] = func(f protocol.FileInfo) bool {
return !f.Deleted
@@ -2955,15 +2931,11 @@ func TestInternalScan(t *testing.T) {
m := setupModel(w)
for _, dir := range baseDirs {
if err := testFs.RemoveAll(dir); err != nil {
t.Fatal(err)
}
must(t, testFs.RemoveAll(dir))
}
fd, err := testFs.Create("dirToFile")
if err != nil {
t.Fatal(err)
}
must(t, err)
fd.Close()
m.ScanFolder("default")
@@ -3029,10 +3001,7 @@ func TestRemoveDirWithContent(t *testing.T) {
defaultFs.MkdirAll("dirwith", 0755)
content := filepath.Join("dirwith", "content")
fd, err := defaultFs.Create(content)
if err != nil {
t.Fatal(err)
return
}
must(t, err)
fd.Close()
m := setupModel(defaultCfgWrapper)
@@ -3099,17 +3068,10 @@ func TestIssue4475(t *testing.T) {
// This should result in the directory being recreated and added to the
// db locally.
err := testFs.MkdirAll("delDir", 0755)
if err != nil {
t.Fatal(err)
}
must(t, testFs.MkdirAll("delDir", 0755))
m.ScanFolder("default")
if err = testFs.RemoveAll("delDir"); err != nil {
t.Fatal(err)
}
m.ScanFolder("default")
if fcfg, ok := m.cfg.Folder("default"); !ok || !fcfg.SharedWith(device1) {
@@ -3158,9 +3120,7 @@ func TestVersionRestore(t *testing.T) {
// We verify that the content matches at the expected filenames
// after the restore operation.
dir, err := ioutil.TempDir("", "")
if err != nil {
t.Fatal(err)
}
must(t, err)
defer os.RemoveAll(dir)
fcfg := config.NewFolderConfiguration(myID, "default", "default", fs.FilesystemTypeBasic, dir)
@@ -3178,9 +3138,7 @@ func TestVersionRestore(t *testing.T) {
m.ScanFolder("default")
sentinel, err := time.ParseInLocation(versioner.TimeFormat, "20200101-010101", locationLocal)
if err != nil {
t.Fatal(err)
}
must(t, err)
sentinelTag := sentinel.Format(versioner.TimeFormat)
for _, file := range []string{
@@ -3206,9 +3164,7 @@ func TestVersionRestore(t *testing.T) {
file = filepath.FromSlash(file)
}
dir := filepath.Dir(file)
if err := filesystem.MkdirAll(dir, 0755); err != nil {
t.Fatal(err)
}
must(t, filesystem.MkdirAll(dir, 0755))
if fd, err := filesystem.Create(file); err != nil {
t.Fatal(err)
} else if _, err := fd.Write([]byte(file)); err != nil {
@@ -3221,9 +3177,7 @@ func TestVersionRestore(t *testing.T) {
}
versions, err := m.GetFolderVersions("default")
if err != nil {
t.Fatal(err)
}
must(t, err)
expectedVersions := map[string]int{
"file.txt": 1,
"existing": 1,
@@ -3273,9 +3227,7 @@ func TestVersionRestore(t *testing.T) {
}
ferr, err := m.RestoreFolderVersions("default", restore)
if err != nil {
t.Fatal(err)
}
must(t, err)
if err, ok := ferr["something"]; len(ferr) > 1 || !ok || err != "cannot replace a non-file" {
t.Fatalf("incorrect error or count: %d %s", len(ferr), ferr)
@@ -3327,9 +3279,7 @@ func TestVersionRestore(t *testing.T) {
taggedArchivedName := filepath.Join(".stversions", taggedName)
fd, err := filesystem.Open(taggedArchivedName)
if err != nil {
t.Fatal(err)
}
must(t, err)
defer fd.Close()
content, err := ioutil.ReadAll(fd)
@@ -3373,9 +3323,7 @@ func TestPausedFolders(t *testing.T) {
pausedConfig := wrapper.RawCopy()
pausedConfig.Folders[0].Paused = true
w, err := m.cfg.Replace(pausedConfig)
if err != nil {
t.Fatal(err)
}
must(t, err)
w.Wait()
if err := m.ScanFolder("default"); err != ErrFolderPaused {
@@ -3412,9 +3360,7 @@ func TestIssue4094(t *testing.T) {
}
cfg.Folders = []config.FolderConfiguration{fcfg}
p, err := wrapper.Replace(cfg)
if err != nil {
t.Fatal(err)
}
must(t, err)
p.Wait()
if err := m.SetIgnores(fcfg.ID, []string{"foo"}); err != nil {
@@ -3451,9 +3397,7 @@ func TestIssue4903(t *testing.T) {
}
cfg.Folders = []config.FolderConfiguration{fcfg}
p, err := wrapper.Replace(cfg)
if err != nil {
t.Fatal(err)
}
must(t, err)
p.Wait()
if err := fcfg.CheckPath(); err != config.ErrPathMissing {