MCPcopy Create free account
hub / github.com/libgit2/git2go / TestOdbBackendLoose

Function TestOdbBackendLoose

odb_test.go:193–235  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

191}
192
193func TestOdbBackendLoose(t *testing.T) {
194 t.Parallel()
195 repo := createTestRepo(t)
196 defer cleanupTestRepo(t, repo)
197
198 _, _ = seedTestRepo(t, repo)
199
200 odb, err := repo.Odb()
201 checkFatal(t, err)
202
203 looseObjectsDir, err := ioutil.TempDir("", fmt.Sprintf("loose_objects_%s", path.Base(repo.Path())))
204 checkFatal(t, err)
205 defer os.RemoveAll(looseObjectsDir)
206
207 looseObjectsBackend, err := NewOdbBackendLoose(looseObjectsDir, -1, false, 0, 0)
208 checkFatal(t, err)
209 if err := odb.AddBackend(looseObjectsBackend, 999); err != nil {
210 looseObjectsBackend.Free()
211 checkFatal(t, err)
212 }
213
214 str := "hello, world!"
215
216 writeStream, err := odb.NewWriteStream(int64(len(str)), ObjectBlob)
217 checkFatal(t, err)
218 n, err := io.WriteString(writeStream, str)
219 checkFatal(t, err)
220 if n != len(str) {
221 t.Fatalf("Bad write length %v != %v", n, len(str))
222 }
223
224 err = writeStream.Close()
225 checkFatal(t, err)
226
227 expectedId, err := NewOid("30f51a3fba5274d53522d0f19748456974647b4f")
228 checkFatal(t, err)
229 if !writeStream.Id.Equal(expectedId) {
230 t.Fatalf("writeStream.id = %v; want %v", writeStream.Id, expectedId)
231 }
232
233 _, err = os.Stat(path.Join(looseObjectsDir, expectedId.String()[:2], expectedId.String()[2:]))
234 checkFatal(t, err)
235}

Callers

nothing calls this directly

Calls 15

StringMethod · 0.95
createTestRepoFunction · 0.85
cleanupTestRepoFunction · 0.85
seedTestRepoFunction · 0.85
checkFatalFunction · 0.85
NewOdbBackendLooseFunction · 0.85
NewOidFunction · 0.85
OdbMethod · 0.80
RemoveAllMethod · 0.80
AddBackendMethod · 0.80
NewWriteStreamMethod · 0.80
EqualMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…