MCPcopy Index your code
hub / github.com/syncthing/syncthing / generateFilesWithTime

Function generateFilesWithTime

test/util.go:48–83  ·  view source on GitHub ↗
(dir string, files, maxexp int, srcname string, t0 time.Time)

Source from the content-addressed store, hash-verified

46}
47
48func generateFilesWithTime(dir string, files, maxexp int, srcname string, t0 time.Time) error {
49 fd, err := os.Open(srcname)
50 if err != nil {
51 return err
52 }
53
54 for i := 0; i < files; i++ {
55 n := randomName()
56
57 if rand.Float64() < 0.05 {
58 // Some files and directories are dotfiles
59 n = "." + n
60 }
61
62 p0 := filepath.Join(dir, string(n[0]), n[0:2])
63 err = os.MkdirAll(p0, 0o755)
64 if err != nil {
65 log.Fatal(err)
66 }
67
68 p1 := filepath.Join(p0, n)
69
70 s := int64(1 << uint(rand.Intn(maxexp)))
71 a := int64(128 * 1024)
72 if a > s {
73 a = s
74 }
75 s += rand.Int63n(a)
76
77 if err := generateOneFile(fd, p1, s, t0); err != nil {
78 return err
79 }
80 }
81
82 return nil
83}
84
85func generateOneFile(fd io.ReadSeeker, p1 string, s int64, t0 time.Time) error {
86 src := io.LimitReader(&infiniteReader{fd}, int64(s))

Callers 2

generateFilesFunction · 0.85

Calls 5

FatalMethod · 0.80
randomNameFunction · 0.70
generateOneFileFunction · 0.70
OpenMethod · 0.65
MkdirAllMethod · 0.65

Tested by 1