]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm-remote/sync/files_test.go
safcm: add experimental support to sync from Windows hosts
[safcm/safcm.git] / cmd / safcm-remote / sync / files_test.go
index 5787404519936d519272a5050cebfec467ec64b1..88a5b51f85cd3fa4a4d36f1422ecbe37424565de 100644 (file)
@@ -70,7 +70,7 @@ func TestSyncFiles(t *testing.T) {
        }{
 
                // NOTE: Also update MsgSyncResp in safcm test cases when
-               // changing anything here!
+               // changing the MsgSyncResp struct!
 
                // See TestSyncFile() for most file related tests. This
                // function only tests the overall results and triggers.
@@ -145,16 +145,16 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): will create`,
-                               `3: sync remote: files: "dir" (group): creating`,
-                               `4: sync remote: files: "dir" (group): creating directory`,
-                               `4: sync remote: files: "dir" (group): chmodding drwxr-xr-x`,
-                               fmt.Sprintf(`4: sync remote: files: "dir" (group): chowning %d/%d`, uid, gid),
-                               `4: sync remote: files: "dir/file" (group): will create`,
-                               `3: sync remote: files: "dir/file" (group): creating`,
-                               `4: sync remote: files: "dir/file" (group): creating temporary file "dir/.file*"`,
-                               `4: sync remote: files: "dir/file" (group): renaming "dir/.fileRND"`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): will create`,
+                               `3: files: "dir" (group): creating`,
+                               `4: files: "dir" (group): creating directory`,
+                               `4: files: "dir" (group): chmodding drwxr-xr-x`,
+                               fmt.Sprintf(`4: files: "dir" (group): chowning %d/%d`, uid, gid),
+                               `4: files: "dir/file" (group): will create`,
+                               `3: files: "dir/file" (group): creating`,
+                               `4: files: "dir/file" (group): creating temporary file "dir/.file*"`,
+                               `4: files: "dir/file" (group): renaming "dir/.fileRND"`,
                        },
                        nil,
                },
@@ -207,9 +207,9 @@ func TestSyncFiles(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): unchanged`,
-                               `4: sync remote: files: "dir/file" (group): unchanged`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): unchanged`,
+                               `4: files: "dir/file" (group): unchanged`,
                        },
                        nil,
                },
@@ -305,9 +305,9 @@ func TestSyncFiles(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "/" (group): unchanged`,
-                               `4: sync remote: files: "/etc" (group): unchanged`,
-                               `4: sync remote: files: "/tmp" (group): unchanged`,
+                               `4: files: "/" (group): unchanged`,
+                               `4: files: "/etc" (group): unchanged`,
+                               `4: files: "/tmp" (group): unchanged`,
                        },
                        nil,
                },
@@ -369,9 +369,9 @@ func TestSyncFiles(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): unchanged`,
-                               `4: sync remote: files: "dir/file" (group): unchanged`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): unchanged`,
+                               `4: files: "dir/file" (group): unchanged`,
                        },
                        nil,
                },
@@ -415,10 +415,7 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        func() {
-                               err = os.Chmod(".", 0750)
-                               if err != nil {
-                                       panic(err)
-                               }
+                               ft.CreateDirectoryExists(".", 0750)
                                ft.CreateDirectory("dir", 0755)
                                ft.CreateFile("dir/file", "content\n", 0644)
                        },
@@ -459,12 +456,12 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "." (group): permission differs drwxr-x--- -> drwx------`,
-                               `3: sync remote: files: "." (group): updating`,
-                               `4: sync remote: files: "." (group): chmodding drwx------`,
-                               `3: sync remote: files: ".": queuing trigger on "."`,
-                               `4: sync remote: files: "dir" (group): unchanged`,
-                               `4: sync remote: files: "dir/file" (group): unchanged`,
+                               `4: files: "." (group): permission differs drwxr-x--- -> drwx------`,
+                               `3: files: "." (group): updating`,
+                               `4: files: "." (group): chmodding drwx------`,
+                               `3: files: ".": queuing trigger on "."`,
+                               `4: files: "dir" (group): unchanged`,
+                               `4: files: "dir/file" (group): unchanged`,
                        },
                        nil,
                },
@@ -549,13 +546,13 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): permission differs drwxr-x--- -> drwxr-xr-x`,
-                               `3: sync remote: files: "dir" (group): updating`,
-                               `4: sync remote: files: "dir" (group): chmodding drwxr-xr-x`,
-                               `3: sync remote: files: "dir": queuing trigger on "."`,
-                               `3: sync remote: files: "dir": queuing trigger on "dir"`,
-                               `4: sync remote: files: "dir/file" (group): unchanged`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): permission differs drwxr-x--- -> drwxr-xr-x`,
+                               `3: files: "dir" (group): updating`,
+                               `4: files: "dir" (group): chmodding drwxr-xr-x`,
+                               `3: files: "dir": queuing trigger on "."`,
+                               `3: files: "dir": queuing trigger on "dir"`,
+                               `4: files: "dir/file" (group): unchanged`,
                        },
                        nil,
                },
@@ -634,15 +631,15 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): unchanged`,
-                               `4: sync remote: files: "dir/file" (group): will create`,
-                               `3: sync remote: files: "dir/file" (group): creating`,
-                               `4: sync remote: files: "dir/file" (group): creating temporary file "dir/.file*"`,
-                               `4: sync remote: files: "dir/file" (group): renaming "dir/.fileRND"`,
-                               `3: sync remote: files: "dir/file": queuing trigger on "."`,
-                               `3: sync remote: files: "dir/file": queuing trigger on "dir"`,
-                               `3: sync remote: files: "dir/file": queuing trigger on "dir/file"`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): unchanged`,
+                               `4: files: "dir/file" (group): will create`,
+                               `3: files: "dir/file" (group): creating`,
+                               `4: files: "dir/file" (group): creating temporary file "dir/.file*"`,
+                               `4: files: "dir/file" (group): renaming "dir/.fileRND"`,
+                               `3: files: "dir/file": queuing trigger on "."`,
+                               `3: files: "dir/file": queuing trigger on "dir"`,
+                               `3: files: "dir/file": queuing trigger on "dir/file"`,
                        },
                        nil,
                },
@@ -730,21 +727,21 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "." (group): unchanged`,
-                               `4: sync remote: files: "dir" (group): will create`,
-                               `3: sync remote: files: "dir" (group): creating`,
-                               `4: sync remote: files: "dir" (group): creating directory`,
-                               `4: sync remote: files: "dir" (group): chmodding drwxr-xr-x`,
-                               fmt.Sprintf(`4: sync remote: files: "dir" (group): chowning %d/%d`, uid, gid),
-                               `3: sync remote: files: "dir": queuing trigger on "."`,
-                               `3: sync remote: files: "dir": queuing trigger on "dir"`,
-                               `4: sync remote: files: "dir/file" (group): will create`,
-                               `3: sync remote: files: "dir/file" (group): creating`,
-                               `4: sync remote: files: "dir/file" (group): creating temporary file "dir/.file*"`,
-                               `4: sync remote: files: "dir/file" (group): renaming "dir/.fileRND"`,
-                               `4: sync remote: files: "dir/file": skipping trigger on ".", already active`,
-                               `4: sync remote: files: "dir/file": skipping trigger on "dir", already active`,
-                               `3: sync remote: files: "dir/file": queuing trigger on "dir/file"`,
+                               `4: files: "." (group): unchanged`,
+                               `4: files: "dir" (group): will create`,
+                               `3: files: "dir" (group): creating`,
+                               `4: files: "dir" (group): creating directory`,
+                               `4: files: "dir" (group): chmodding drwxr-xr-x`,
+                               fmt.Sprintf(`4: files: "dir" (group): chowning %d/%d`, uid, gid),
+                               `3: files: "dir": queuing trigger on "."`,
+                               `3: files: "dir": queuing trigger on "dir"`,
+                               `4: files: "dir/file" (group): will create`,
+                               `3: files: "dir/file" (group): creating`,
+                               `4: files: "dir/file" (group): creating temporary file "dir/.file*"`,
+                               `4: files: "dir/file" (group): renaming "dir/.fileRND"`,
+                               `4: files: "dir/file": skipping trigger on ".", already active`,
+                               `4: files: "dir/file": skipping trigger on "dir", already active`,
+                               `3: files: "dir/file": queuing trigger on "dir/file"`,
                        },
                        nil,
                },
@@ -812,15 +809,15 @@ func TestSyncFiles(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "/" (group): unchanged`,
-                               `4: sync remote: files: "/tmp" (group): unchanged`,
-                               `4: sync remote: files: "/tmp/safcm-sync-files-test-file" (group): will create`,
-                               `3: sync remote: files: "/tmp/safcm-sync-files-test-file" (group): creating`,
-                               `4: sync remote: files: "/tmp/safcm-sync-files-test-file" (group): creating temporary file "/tmp/.safcm-sync-files-test-file*"`,
-                               `4: sync remote: files: "/tmp/safcm-sync-files-test-file" (group): renaming "/tmp/.safcm-sync-files-test-fileRND"`,
-                               `3: sync remote: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/"`,
-                               `3: sync remote: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/tmp"`,
-                               `3: sync remote: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/tmp/safcm-sync-files-test-file"`,
+                               `4: files: "/" (group): unchanged`,
+                               `4: files: "/tmp" (group): unchanged`,
+                               `4: files: "/tmp/safcm-sync-files-test-file" (group): will create`,
+                               `3: files: "/tmp/safcm-sync-files-test-file" (group): creating`,
+                               `4: files: "/tmp/safcm-sync-files-test-file" (group): creating temporary file "/tmp/.safcm-sync-files-test-file*"`,
+                               `4: files: "/tmp/safcm-sync-files-test-file" (group): renaming "/tmp/.safcm-sync-files-test-fileRND"`,
+                               `3: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/"`,
+                               `3: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/tmp"`,
+                               `3: files: "/tmp/safcm-sync-files-test-file": queuing trigger on "/tmp/safcm-sync-files-test-file"`,
                        },
                        nil,
                },
@@ -920,7 +917,7 @@ func TestSyncFile(t *testing.T) {
        }{
 
                // NOTE: Also update MsgSyncResp in safcm test cases when
-               // changing anything here!
+               // changing the MsgSyncResp struct!
 
                // TODO: Add tests for chown and run them only as root
 
@@ -963,10 +960,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): will create`,
-                               `3: sync remote: files: "file" (group): creating`,
-                               `4: sync remote: files: "file" (group): creating temporary file ".file*"`,
-                               `4: sync remote: files: "file" (group): renaming "./.fileRND"`,
+                               `4: files: "file" (group): will create`,
+                               `3: files: "file" (group): creating`,
+                               `4: files: "file" (group): creating temporary file ".file*"`,
+                               `4: files: "file" (group): renaming "./.fileRND"`,
                        },
                        nil,
                },
@@ -1002,9 +999,9 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): will create`,
-                               `3: sync remote: files: "file" (group): creating`,
-                               `4: sync remote: files: "file" (group): dry-run, skipping changes`,
+                               `4: files: "file" (group): will create`,
+                               `3: files: "file" (group): creating`,
+                               `4: files: "file" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -1034,7 +1031,7 @@ func TestSyncFile(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "file" (group): unchanged`,
+                               `4: files: "file" (group): unchanged`,
                        },
                        nil,
                },
@@ -1066,7 +1063,7 @@ func TestSyncFile(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "file" (group): unchanged`,
+                               `4: files: "file" (group): unchanged`,
                        },
                        nil,
                },
@@ -1116,10 +1113,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): permission differs -rwxr-xr-x -> urwxr-xr-x`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): creating temporary file ".file*"`,
-                               `4: sync remote: files: "file" (group): renaming "./.fileRND"`,
+                               `4: files: "file" (group): permission differs -rwxr-xr-x -> urwxr-xr-x`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): creating temporary file ".file*"`,
+                               `4: files: "file" (group): renaming "./.fileRND"`,
                        },
                        nil,
                },
@@ -1174,10 +1171,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): content differs`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): creating temporary file ".file*"`,
-                               `4: sync remote: files: "file" (group): renaming "./.fileRND"`,
+                               `4: files: "file" (group): content differs`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): creating temporary file ".file*"`,
+                               `4: files: "file" (group): renaming "./.fileRND"`,
                        },
                        nil,
                },
@@ -1221,10 +1218,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "link" (group): will create`,
-                               `3: sync remote: files: "link" (group): creating`,
-                               `4: sync remote: files: "link" (group): creating temporary symlink ".linkRND"`,
-                               `4: sync remote: files: "link" (group): renaming ".linkRND"`,
+                               `4: files: "link" (group): will create`,
+                               `3: files: "link" (group): creating`,
+                               `4: files: "link" (group): creating temporary symlink ".linkRND"`,
+                               `4: files: "link" (group): renaming ".linkRND"`,
                        },
                        nil,
                },
@@ -1272,11 +1269,11 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "link" (group): will create`,
-                               `3: sync remote: files: "link" (group): creating`,
-                               `4: sync remote: files: "link" (group): creating temporary symlink ".linkRND"`,
-                               `4: sync remote: files: "link" (group): creating temporary symlink ".linkRND"`,
-                               `4: sync remote: files: "link" (group): renaming ".linkRND"`,
+                               `4: files: "link" (group): will create`,
+                               `3: files: "link" (group): creating`,
+                               `4: files: "link" (group): creating temporary symlink ".linkRND"`,
+                               `4: files: "link" (group): creating temporary symlink ".linkRND"`,
+                               `4: files: "link" (group): renaming ".linkRND"`,
                        },
                        nil,
                },
@@ -1312,9 +1309,9 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "link" (group): will create`,
-                               `3: sync remote: files: "link" (group): creating`,
-                               `4: sync remote: files: "link" (group): dry-run, skipping changes`,
+                               `4: files: "link" (group): will create`,
+                               `3: files: "link" (group): creating`,
+                               `4: files: "link" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -1344,7 +1341,7 @@ func TestSyncFile(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "link" (group): unchanged`,
+                               `4: files: "link" (group): unchanged`,
                        },
                        nil,
                },
@@ -1398,10 +1395,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "link" (group): content differs`,
-                               `3: sync remote: files: "link" (group): updating`,
-                               `4: sync remote: files: "link" (group): creating temporary symlink ".linkRND"`,
-                               `4: sync remote: files: "link" (group): renaming ".linkRND"`,
+                               `4: files: "link" (group): content differs`,
+                               `3: files: "link" (group): updating`,
+                               `4: files: "link" (group): creating temporary symlink ".linkRND"`,
+                               `4: files: "link" (group): renaming ".linkRND"`,
                        },
                        nil,
                },
@@ -1443,11 +1440,11 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "dir" (group): will create`,
-                               `3: sync remote: files: "dir" (group): creating`,
-                               `4: sync remote: files: "dir" (group): creating directory`,
-                               `4: sync remote: files: "dir" (group): chmodding drwx---r-x`,
-                               fmt.Sprintf(`4: sync remote: files: "dir" (group): chowning %d/%d`, uid, gid),
+                               `4: files: "dir" (group): will create`,
+                               `3: files: "dir" (group): creating`,
+                               `4: files: "dir" (group): creating directory`,
+                               `4: files: "dir" (group): chmodding drwx---r-x`,
+                               fmt.Sprintf(`4: files: "dir" (group): chowning %d/%d`, uid, gid),
                        },
                        nil,
                },
@@ -1482,9 +1479,9 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "dir" (group): will create`,
-                               `3: sync remote: files: "dir" (group): creating`,
-                               `4: sync remote: files: "dir" (group): dry-run, skipping changes`,
+                               `4: files: "dir" (group): will create`,
+                               `3: files: "dir" (group): creating`,
+                               `4: files: "dir" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -1512,7 +1509,7 @@ func TestSyncFile(t *testing.T) {
                        },
                        safcm.MsgSyncResp{},
                        []string{
-                               `4: sync remote: files: "dir" (group): unchanged`,
+                               `4: files: "dir" (group): unchanged`,
                        },
                        nil,
                },
@@ -1560,9 +1557,9 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "dir" (group): permission differs dtr-x------ -> dgrwxr-xr-x`,
-                               `3: sync remote: files: "dir" (group): updating`,
-                               `4: sync remote: files: "dir" (group): chmodding dgrwxr-xr-x`,
+                               `4: files: "dir" (group): permission differs dtr-x------ -> dgrwxr-xr-x`,
+                               `3: files: "dir" (group): updating`,
+                               `4: files: "dir" (group): chmodding dgrwxr-xr-x`,
                        },
                        nil,
                },
@@ -1616,12 +1613,12 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs ---------- -> d---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): removing (due to type change)`,
-                               `4: sync remote: files: "path" (group): creating directory`,
-                               `4: sync remote: files: "path" (group): chmodding drwxr-x--x`,
-                               fmt.Sprintf(`4: sync remote: files: "path" (group): chowning %d/%d`, uid, gid),
+                               `4: files: "path" (group): type differs ---------- -> d---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): removing (due to type change)`,
+                               `4: files: "path" (group): creating directory`,
+                               `4: files: "path" (group): chmodding drwxr-x--x`,
+                               fmt.Sprintf(`4: files: "path" (group): chowning %d/%d`, uid, gid),
                        },
                        nil,
                },
@@ -1676,10 +1673,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs ---------- -> L---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): creating temporary symlink ".pathRND"`,
-                               `4: sync remote: files: "path" (group): renaming ".pathRND"`,
+                               `4: files: "path" (group): type differs ---------- -> L---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): creating temporary symlink ".pathRND"`,
+                               `4: files: "path" (group): renaming ".pathRND"`,
                        },
                        nil,
                },
@@ -1734,10 +1731,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs L--------- -> ----------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): creating temporary file ".path*"`,
-                               `4: sync remote: files: "path" (group): renaming "./.pathRND"`,
+                               `4: files: "path" (group): type differs L--------- -> ----------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): creating temporary file ".path*"`,
+                               `4: files: "path" (group): renaming "./.pathRND"`,
                        },
                        nil,
                },
@@ -1789,12 +1786,12 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs L--------- -> d---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): removing (due to type change)`,
-                               `4: sync remote: files: "path" (group): creating directory`,
-                               `4: sync remote: files: "path" (group): chmodding drwxr-x--x`,
-                               fmt.Sprintf(`4: sync remote: files: "path" (group): chowning %d/%d`, uid, gid),
+                               `4: files: "path" (group): type differs L--------- -> d---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): removing (due to type change)`,
+                               `4: files: "path" (group): creating directory`,
+                               `4: files: "path" (group): chmodding drwxr-x--x`,
+                               fmt.Sprintf(`4: files: "path" (group): chowning %d/%d`, uid, gid),
                        },
                        nil,
                },
@@ -1844,11 +1841,11 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs d--------- -> ----------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): removing (due to type change)`,
-                               `4: sync remote: files: "path" (group): creating temporary file ".path*"`,
-                               `4: sync remote: files: "path" (group): renaming "./.pathRND"`,
+                               `4: files: "path" (group): type differs d--------- -> ----------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): removing (due to type change)`,
+                               `4: files: "path" (group): creating temporary file ".path*"`,
+                               `4: files: "path" (group): renaming "./.pathRND"`,
                        },
                        nil,
                },
@@ -1898,11 +1895,11 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs d--------- -> L---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): removing (due to type change)`,
-                               `4: sync remote: files: "path" (group): creating temporary symlink ".pathRND"`,
-                               `4: sync remote: files: "path" (group): renaming ".pathRND"`,
+                               `4: files: "path" (group): type differs d--------- -> L---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): removing (due to type change)`,
+                               `4: files: "path" (group): creating temporary symlink ".pathRND"`,
+                               `4: files: "path" (group): renaming ".pathRND"`,
                        },
                        nil,
                },
@@ -1952,10 +1949,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs p--------- -> ----------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): creating temporary file ".path*"`,
-                               `4: sync remote: files: "path" (group): renaming "./.pathRND"`,
+                               `4: files: "path" (group): type differs p--------- -> ----------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): creating temporary file ".path*"`,
+                               `4: files: "path" (group): renaming "./.pathRND"`,
                        },
                        nil,
                },
@@ -2005,10 +2002,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs p--------- -> L---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): creating temporary symlink ".pathRND"`,
-                               `4: sync remote: files: "path" (group): renaming ".pathRND"`,
+                               `4: files: "path" (group): type differs p--------- -> L---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): creating temporary symlink ".pathRND"`,
+                               `4: files: "path" (group): renaming ".pathRND"`,
                        },
                        nil,
                },
@@ -2056,12 +2053,12 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs p--------- -> d---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): removing (due to type change)`,
-                               `4: sync remote: files: "path" (group): creating directory`,
-                               `4: sync remote: files: "path" (group): chmodding drwxr-x--x`,
-                               fmt.Sprintf(`4: sync remote: files: "path" (group): chowning %d/%d`, uid, gid),
+                               `4: files: "path" (group): type differs p--------- -> d---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): removing (due to type change)`,
+                               `4: files: "path" (group): creating directory`,
+                               `4: files: "path" (group): chmodding drwxr-x--x`,
+                               fmt.Sprintf(`4: files: "path" (group): chowning %d/%d`, uid, gid),
                        },
                        nil,
                },
@@ -2111,10 +2108,10 @@ func TestSyncFile(t *testing.T) {
                                },
                        },
                        []string{
-                               `4: sync remote: files: "path" (group): type differs ---------- -> L---------`,
-                               `3: sync remote: files: "path" (group): updating`,
-                               `4: sync remote: files: "path" (group): creating temporary symlink ".pathRND"`,
-                               `4: sync remote: files: "path" (group): renaming ".pathRND"`,
+                               `4: files: "path" (group): type differs ---------- -> L---------`,
+                               `3: files: "path" (group): updating`,
+                               `4: files: "path" (group): creating temporary symlink ".pathRND"`,
+                               `4: files: "path" (group): renaming ".pathRND"`,
                        },
                        nil,
                },
@@ -2192,9 +2189,9 @@ file
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): content differs`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): dry-run, skipping changes`,
+                               `4: files: "file" (group): content differs`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -2242,14 +2239,14 @@ file
                                                        Group: group,
                                                        Gid:   gid,
                                                },
-                                               DataDiff: "Binary files differ, cannot show diff",
+                                               DataDiff: "Binary files differ (3 -> 4 bytes), cannot show diff",
                                        },
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): content differs`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): dry-run, skipping changes`,
+                               `4: files: "file" (group): content differs`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -2298,7 +2295,7 @@ file
                                                        Gid:   gid,
                                                },
                                                DataDiff: `@@ -1,2 +1,2 @@
--<binary content>
+-<binary content, 3 bytes>
 +content
  
 `,
@@ -2306,9 +2303,9 @@ file
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): content differs`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): dry-run, skipping changes`,
+                               `4: files: "file" (group): content differs`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): dry-run, skipping changes`,
                        },
                        nil,
                },
@@ -2358,16 +2355,16 @@ file
                                                },
                                                DataDiff: `@@ -1,2 +1,2 @@
 -content
-+<binary content>
++<binary content, 4 bytes>
  
 `,
                                        },
                                },
                        },
                        []string{
-                               `4: sync remote: files: "file" (group): content differs`,
-                               `3: sync remote: files: "file" (group): updating`,
-                               `4: sync remote: files: "file" (group): dry-run, skipping changes`,
+                               `4: files: "file" (group): content differs`,
+                               `3: files: "file" (group): updating`,
+                               `4: files: "file" (group): dry-run, skipping changes`,
                        },
                        nil,
                },