shithub: furgit

Download patch

ref: 8580891b922d3a09a1181743fdd8eb4828f6fba9
parent: e6919174cfb82e283ba7201a06067650dab3cb15
author: Runxi Yu <me@runxiyu.org>
date: Wed Jan 28 17:09:35 EST 2026

pack: Harden pack writing test with 1000 1kb files

--- a/pack_write_test.go
+++ b/pack_write_test.go
@@ -2,7 +2,9 @@
 
 import (
 	"bytes"
+	"crypto/rand"
 	"errors"
+	"fmt"
 	"os"
 	"path/filepath"
 	"strings"
@@ -88,11 +90,19 @@
 	workDir, cleanupWork := setupWorkDir(t)
 	defer cleanupWork()
 
-	if err := os.WriteFile(filepath.Join(workDir, "file1.txt"), []byte("content1"), 0o644); err != nil {
-		t.Fatalf("failed to write file1.txt: %v", err)
-	}
-	if err := os.WriteFile(filepath.Join(workDir, "file2.txt"), []byte("content2"), 0o644); err != nil {
-		t.Fatalf("failed to write file2.txt: %v", err)
+	const (
+		fileCount = 1000
+		fileSize  = 1024
+	)
+	buf := make([]byte, fileSize)
+	for i := 0; i < fileCount; i++ {
+		if _, err := rand.Read(buf); err != nil {
+			t.Fatalf("rand.Read failed: %v", err)
+		}
+		name := filepath.Join(workDir, fmt.Sprintf("file%04d.bin", i))
+		if err := os.WriteFile(name, buf, 0o644); err != nil {
+			t.Fatalf("failed to write %s: %v", name, err)
+		}
 	}
 
 	gitCmd(t, repoPath, "--work-tree="+workDir, "add", ".")
--