(repo *t.Repo, manifest tq.Manifest)
| 177 | func (c *constantEndpoint) RemoteEndpoint(operation, remote string) lfshttp.Endpoint { return c.e } |
| 178 | |
| 179 | func 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 | |
| 232 | func saveTestOids(filename string, objs []TestObject) { |
| 233 | f, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644) |
no test coverage detected