MCPcopy
hub / github.com/git-lfs/git-lfs / buildTestData

Function buildTestData

t/git-lfs-test-server-api/main.go:179–230  ·  view source on GitHub ↗
(repo *t.Repo, manifest tq.Manifest)

Source from the content-addressed store, hash-verified

177func (c *constantEndpoint) RemoteEndpoint(operation, remote string) lfshttp.Endpoint { return c.e }
178
179func buildTestData(repo *t.Repo, manifest tq.Manifest) (oidsExist, oidsMissing []TestObject, err error) {
180 const oidCount = 50
181 oidsExist = make([]TestObject, 0, oidCount)
182 oidsMissing = make([]TestObject, 0, oidCount)
183
184 // just one commit
185 logger := tasklog.NewLogger(os.Stdout,
186 tasklog.ForceProgress(false),
187 )
188 meter := tq.NewMeter(repo.Configuration())
189 meter.Logger = meter.LoggerFromEnv(repo.OSEnv())
190 logger.Enqueue(meter)
191 commit := t.CommitInput{CommitterName: "A N Other", CommitterEmail: "noone@somewhere.com"}
192 for i := 0; i < oidCount; i++ {
193 filename := fmt.Sprintf("file%d.dat", i)
194 sz := int64(rand.Intn(200)) + 50
195 commit.Files = append(commit.Files, &t.FileInput{Filename: filename, Size: sz})
196 meter.Add(sz)
197 }
198 outputs := repo.AddCommits([]*t.CommitInput{&commit})
199
200 // now upload
201 uploadQueue := tq.NewTransferQueue(tq.Upload, manifest, "origin", tq.WithProgress(meter))
202 for _, f := range outputs[0].Files {
203 oidsExist = append(oidsExist, TestObject{Oid: f.Oid, Size: f.Size})
204
205 t, err := uploadTransfer(repo.Filesystem(), f.Oid, "Test file")
206 if err != nil {
207 return nil, nil, err
208 }
209 uploadQueue.Add(t.Name, t.Path, t.Oid, t.Size, false, nil)
210 }
211 uploadQueue.Wait()
212
213 for _, err := range uploadQueue.Errors() {
214 if errors.IsFatalError(err) {
215 exit("Fatal error setting up test data: %s", err)
216 }
217 }
218
219 // Generate SHAs for missing files, random but repeatable
220 // No actual file content needed for these
221 rand.Seed(int64(oidCount))
222 runningSha := sha256.New()
223 for i := 0; i < oidCount; i++ {
224 runningSha.Write([]byte{byte(rand.Intn(256))})
225 oid := hex.EncodeToString(runningSha.Sum(nil))
226 sz := int64(rand.Intn(200)) + 50
227 oidsMissing = append(oidsMissing, TestObject{Oid: oid, Size: sz})
228 }
229 return oidsExist, oidsMissing, nil
230}
231
232func saveTestOids(filename string, objs []TestObject) {
233 f, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)

Callers 1

testServerApiFunction · 0.85

Calls 15

LoggerFromEnvMethod · 0.95
EnqueueMethod · 0.95
AddMethod · 0.95
AddMethod · 0.95
WaitMethod · 0.95
ErrorsMethod · 0.95
NewLoggerFunction · 0.92
ForceProgressFunction · 0.92
NewMeterFunction · 0.92
NewTransferQueueFunction · 0.92
WithProgressFunction · 0.92
IsFatalErrorFunction · 0.92

Tested by

no test coverage detected