@@ -287,6 +287,7 @@ func TestRepositoryPoolSiva(t *testing.T) {
287
287
for i := 0 ; i < expectedRepos ; i ++ {
288
288
repo , err := pool .GetPos (i )
289
289
require .NoError (err )
290
+ fmt .Printf ("%v\n " , repo )
290
291
291
292
iter , err := repo .Repo .CommitObjects ()
292
293
require .NoError (err )
@@ -397,7 +398,7 @@ func TestRepositoryErrorBadRepository(t *testing.T) {
397
398
398
399
count ++
399
400
400
- return sql .NewRow ("test" ), nil
401
+ return sql .NewRow ("test " + strconv . Itoa ( count ) ), nil
401
402
}
402
403
403
404
iter .newIterator = newIterator
@@ -441,3 +442,49 @@ func TestRepositoryErrorBadRow(t *testing.T) {
441
442
testCaseRepositoryErrorIter (t , pool , iter , errRow , false )
442
443
testCaseRepositoryErrorIter (t , pool , iter , io .EOF , true )
443
444
}
445
+
446
+ func TestRepositoryIteratorOrder (t * testing.T ) {
447
+ path := fixtures .Basic ().ByTag ("worktree" ).One ().Worktree ().Root ()
448
+ pool := NewRepositoryPool ()
449
+ pool .Add ("one" , path , gitRepo )
450
+
451
+ timeout , cancel := context .WithTimeout (context .Background (), 5 * time .Second )
452
+ ctx := sql .NewContext (timeout ,
453
+ sql .WithSession (NewSession (pool , WithSkipGitErrors (true ))),
454
+ )
455
+ iter := & testErrorIter {}
456
+ newIterator := func (* Repository ) (RowRepoIter , error ) {
457
+ return iter , nil
458
+ }
459
+
460
+ count := 0
461
+ next := func () (sql.Row , error ) {
462
+ if count >= 10 {
463
+ return nil , io .EOF
464
+ }
465
+
466
+ count ++
467
+
468
+ return sql .NewRow ("test " + strconv .Itoa (count )), nil
469
+ }
470
+ iter .newIterator = newIterator
471
+ iter .next = next
472
+
473
+ r , err := NewRowRepoIter (ctx , iter )
474
+ require .NoError (t , err )
475
+
476
+ repoIter , ok := r .(* rowRepoIter )
477
+ require .True (t , ok )
478
+
479
+ func () {
480
+ for i := 1 ; i <= 10 ; i ++ {
481
+ row , err := repoIter .Next ()
482
+ if err != nil {
483
+ break
484
+ }
485
+ require .Equal (t , sql.Row {"test " + strconv .Itoa (i )}, row )
486
+ }
487
+ }()
488
+
489
+ cancel ()
490
+ }
0 commit comments