perf: several dragged items cross to another place as one tar stream; older agents get them one by one

This commit is contained in:
redtea committed 2026-10-15 22:28:46 +03:00
1 parent 6916af4236
commit 7d1996dd7d
8 files changed
+301 -72

No files matched your search

+5 -5
View File
@@ -62,7 +62,7 @@ func TestRenameTarEntries(t *testing.T) {
}
_ = tw.Close()
var out bytes.Buffer
if err := renameTar(&out, &src, "old", "new"); err != nil {
if err := renameTar(&out, &src, map[string]string{"old": "new"}); err != nil {
t.Fatal(err)
}
tr := tar.NewReader(&out)
@@ -90,7 +90,7 @@ func TestRenameTarDropsOtherEntries(t *testing.T) {
}
_ = tw.Close()
var out bytes.Buffer
if err := renameTar(&out, &src, "r.txt", "new.txt"); err != nil {
if err := renameTar(&out, &src, map[string]string{"r.txt": "new.txt"}); err != nil {
t.Fatal(err)
}
tr := tar.NewReader(&out)
@@ -165,7 +165,7 @@ func TestRenameTarKeepsInsideName(t *testing.T) {
}
_ = tw.Close()
var out bytes.Buffer
if err := renameTar(&out, &src, "d", "d"); err != nil {
if err := renameTar(&out, &src, map[string]string{"d": "d"}); err != nil {
t.Fatal(err)
}
tr := tar.NewReader(&out)
@@ -184,11 +184,11 @@ func TestRenameTarKeepsInsideName(t *testing.T) {
// Into an SSH host, "replace" replaces the thing whole, as on a machine.
func TestUnpackCommandReplaces(t *testing.T) {
cmd := unpackCommand("/srv", "d", "replace", true)
cmd := unpackCommand("/srv", []string{"d"}, "replace")
if !strings.HasPrefix(cmd, "rm -rf -- '/srv/d' && ") || strings.Contains(cmd, "--overwrite") {
t.Fatalf("replace: %s", cmd)
}
if cmd := unpackCommand("/srv", "d", "error", false); cmd != "mkdir -p -- '/srv' && cd -- '/srv' && tar -xf -" {
if cmd := unpackCommand("/srv", []string{"d"}, "error"); cmd != "mkdir -p -- '/srv' && cd -- '/srv' && tar -xf -" {
t.Fatalf("error: %s", cmd)
}
}