diff options
| author | lhchavez <[email protected]> | 2016-12-22 06:46:13 -0800 |
|---|---|---|
| committer | lhchavez <[email protected]> | 2020-02-23 09:13:47 -0800 |
| commit | 05bc5e36ff93eb2195480c5cad91e6c5c44cd128 (patch) | |
| tree | 5abd8d8761d0d438343da2b3cf9592943f7e9f5c /odb_test.go | |
| parent | 37f732a833466e884fe6bf5b5612b677d485632a (diff) | |
Add support for indexers and alternate odb packfiles
This allows for implementations of git servers written in Go.
Diffstat (limited to 'odb_test.go')
| -rw-r--r-- | odb_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/odb_test.go b/odb_test.go index 46acdba..e44c927 100644 --- a/odb_test.go +++ b/odb_test.go @@ -152,3 +152,37 @@ func TestOdbForeach(t *testing.T) { t.Fatalf("Odb.ForEach() did not return the expected error, got %v", err) } } + +func TestOdbWritepack(t *testing.T) { + t.Parallel() + repo := createTestRepo(t) + defer cleanupTestRepo(t, repo) + + _, _ = seedTestRepo(t, repo) + + odb, err := repo.Odb() + checkFatal(t, err) + + var finalStats TransferProgress + writepack, err := odb.NewWritePack(func(stats TransferProgress) ErrorCode { + finalStats = stats + return ErrOk + }) + checkFatal(t, err) + defer writepack.Free() + + _, err = writepack.Write(outOfOrderPack) + checkFatal(t, err) + err = writepack.Commit() + checkFatal(t, err) + + if finalStats.TotalObjects != 3 { + t.Errorf("mismatched transferred objects, expected 3, got %v", finalStats.TotalObjects) + } + if finalStats.ReceivedObjects != 3 { + t.Errorf("mismatched received objects, expected 3, got %v", finalStats.ReceivedObjects) + } + if finalStats.IndexedObjects != 3 { + t.Errorf("mismatched indexed objects, expected 3, got %v", finalStats.IndexedObjects) + } +} |
