aboutsummaryrefslogtreecommitdiff
path: root/pack_write_test.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-01-28 22:09:35 +0100
committerGravatar Runxi Yu2026-01-28 22:09:35 +0100
commit8580891b922d3a09a1181743fdd8eb4828f6fba9 (patch)
tree774f19d520adc23cf608d7049c5710b3a7e2b93e /pack_write_test.go
parentpack: basic packfile writing (diff)
signatureNo signature
pack: Harden pack writing test with 1000 1kb files
Diffstat (limited to 'pack_write_test.go')
-rw-r--r--pack_write_test.go20
1 files changed, 15 insertions, 5 deletions
diff --git a/pack_write_test.go b/pack_write_test.go
index d33ae012..da7ecfa7 100644
--- a/pack_write_test.go
+++ b/pack_write_test.go
@@ -2,7 +2,9 @@ package furgit
import (
"bytes"
+ "crypto/rand"
"errors"
+ "fmt"
"os"
"path/filepath"
"strings"
@@ -88,11 +90,19 @@ func TestPackWriteNoDeltas(t *testing.T) {
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", ".")