- // Create separate test directory for each test case
- path := filepath.Join(cwd, "testdata", "file-"+tc.name)
- err = os.Mkdir(path, 0700)
- if err != nil {
- t.Fatal(err)
- }
- err = os.Chdir(path)
- if err != nil {
- t.Fatal(err)
- }
-
- if tc.prepare != nil {
- tc.prepare()
- }
-
- s, res := prepareSync(tc.req, &testRunner{
- t: t,
- })
- s.setDefaults()
-
- // Deterministic temporary symlink names
- rand.Seed(0)
-
- var changed bool
- err := s.syncFile(tc.file, &changed)
- // Ugly but the simplest way to compare errors (including nil)
- if fmt.Sprintf("%s", err) != fmt.Sprintf("%s", tc.expErr) {
- t.Errorf("err = %#v, want %#v",
- err, tc.expErr)
- }
- dbg := res.Wait()
- // Remove random file names from result
- for i, x := range dbg {
- dbg[i] = randFilesRegexp.ReplaceAllString(x, `RND"`)
- }
- if !reflect.DeepEqual(tc.expDbg, dbg) {
- t.Errorf("dbg: %s",
- cmp.Diff(tc.expDbg, dbg))
- }
-
- files, err := ft.WalkDir(path)
- if err != nil {
- t.Fatal(err)
- }
- if !reflect.DeepEqual(tc.expFiles, files) {
- t.Errorf("files: %s",
- cmp.Diff(tc.expFiles, files))
- }
-
- if tc.expChanged != changed {
- t.Errorf("changed = %#v, want %#v",
- changed, tc.expChanged)
- }
- if !reflect.DeepEqual(tc.expResp, s.resp) {
- t.Errorf("resp: %s",
- cmp.Diff(tc.expResp, s.resp))
- }
+ // Create separate test directory for each test case
+ path := filepath.Join(cwd, "testdata", "file-"+tc.name)
+ err := os.Mkdir(path, 0700)
+ if err != nil {
+ t.Fatal(err)
+ }
+ err = os.Chdir(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if tc.prepare != nil {
+ tc.prepare()
+ }
+
+ s, res := prepareSync(tc.req, &testRunner{
+ t: t,
+ })
+ err = s.setDefaults()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Deterministic temporary symlink names
+ rand.Seed(0)
+
+ var changed bool
+ err = s.syncFile(tc.file, &changed)
+ testutil.AssertErrorEqual(t, "err", err, tc.expErr)
+ dbg := res.Wait()
+ // Remove random file names from result
+ for i, x := range dbg {
+ dbg[i] = randFilesRegexp.ReplaceAllString(x, `RND"`)
+ }
+ testutil.AssertEqual(t, "dbg", dbg, tc.expDbg)
+
+ files, err := ft.WalkDir(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+ testutil.AssertEqual(t, "files", files, tc.expFiles)
+
+ testutil.AssertEqual(t, "changed", changed, tc.expChanged)
+ testutil.AssertEqual(t, "resp", s.resp, tc.expResp)