@@ -362,12 +362,12 @@ func TestWireConduit(t *testing.T) {
362
362
type getRequesterFunc func (name string , handler server.StreamHandler , peers ... requester ) (requester , p2p.Peer )
363
363
364
364
func withClientServer (
365
- storeA , storeB ItemStore ,
365
+ store ItemStore ,
366
366
getRequester getRequesterFunc ,
367
367
opts []Option ,
368
368
toCall func (ctx context.Context , client requester , srvPeerID p2p.Peer ),
369
369
) {
370
- srvHandler := MakeServerHandler (storeA , opts ... )
370
+ srvHandler := MakeServerHandler (store , opts ... )
371
371
srv , srvPeerID := getRequester ("srv" , srvHandler )
372
372
var eg errgroup.Group
373
373
ctx , cancel := context .WithCancel (context .Background ())
@@ -383,7 +383,7 @@ func withClientServer(
383
383
toCall (ctx , client , srvPeerID )
384
384
}
385
385
386
- func fakeRequesterGetter (t * testing. T ) getRequesterFunc {
386
+ func fakeRequesterGetter () getRequesterFunc {
387
387
return func (name string , handler server.StreamHandler , peers ... requester ) (requester , p2p.Peer ) {
388
388
pid := p2p .Peer (name )
389
389
return newFakeRequester (pid , handler , peers ... ), pid
@@ -428,7 +428,7 @@ func testWireSync(t *testing.T, getRequester getRequesterFunc) requester {
428
428
var client requester
429
429
verifyXORSync (t , cfg , func (storeA , storeB ItemStore , numSpecific int , opts []Option ) bool {
430
430
withClientServer (
431
- storeA , storeB , getRequester , opts ,
431
+ storeA , getRequester , opts ,
432
432
func (ctx context.Context , client requester , srvPeerID p2p.Peer ) {
433
433
err := SyncStore (ctx , client , srvPeerID , storeB , opts ... )
434
434
require .NoError (t , err )
@@ -445,7 +445,7 @@ func testWireSync(t *testing.T, getRequester getRequesterFunc) requester {
445
445
446
446
func TestWireSync (t * testing.T ) {
447
447
t .Run ("fake requester" , func (t * testing.T ) {
448
- testWireSync (t , fakeRequesterGetter (t ))
448
+ testWireSync (t , fakeRequesterGetter ())
449
449
})
450
450
t .Run ("p2p" , func (t * testing.T ) {
451
451
testWireSync (t , p2pRequesterGetter (t ))
@@ -455,33 +455,36 @@ func TestWireSync(t *testing.T) {
455
455
func testWireProbe (t * testing.T , getRequester getRequesterFunc ) requester {
456
456
cfg := xorSyncTestConfig {
457
457
maxSendRange : 1 ,
458
- numTestHashes : 32 ,
459
- minNumSpecificA : 4 ,
460
- maxNumSpecificA : 4 ,
461
- minNumSpecificB : 4 ,
462
- maxNumSpecificB : 4 ,
458
+ numTestHashes : 10000 ,
459
+ minNumSpecificA : 130 ,
460
+ maxNumSpecificA : 130 ,
461
+ minNumSpecificB : 130 ,
462
+ maxNumSpecificB : 130 ,
463
463
}
464
464
var client requester
465
465
verifyXORSync (t , cfg , func (storeA , storeB ItemStore , numSpecific int , opts []Option ) bool {
466
466
withClientServer (
467
- storeA , storeB , getRequester , opts ,
467
+ storeA , getRequester , opts ,
468
468
func (ctx context.Context , client requester , srvPeerID p2p.Peer ) {
469
469
minA := storeA .Min ().Key ()
470
470
infoA := storeA .GetRangeInfo (nil , minA , minA , - 1 )
471
- fpA , countA , err := Probe (ctx , client , srvPeerID , opts ... )
471
+ prA , err := Probe (ctx , client , srvPeerID , storeB , opts ... )
472
472
require .NoError (t , err )
473
- require .Equal (t , infoA .Fingerprint , fpA )
474
- require .Equal (t , infoA .Count , countA )
473
+ require .Equal (t , infoA .Fingerprint , prA .FP )
474
+ require .Equal (t , infoA .Count , prA .Count )
475
+ require .InDelta (t , 0.98 , prA .Sim , 0.05 , "sim" )
475
476
476
477
minA = storeA .Min ().Key ()
477
478
partInfoA := storeA .GetRangeInfo (nil , minA , minA , infoA .Count / 2 )
478
479
x := partInfoA .Start .Key ().(types.Hash32 )
479
480
y := partInfoA .End .Key ().(types.Hash32 )
480
481
// partInfoA = storeA.GetRangeInfo(nil, x, y, -1)
481
- fpA , countA , err = BoundedProbe (ctx , client , srvPeerID , x , y , opts ... )
482
+ prA , err = BoundedProbe (ctx , client , srvPeerID , storeB , x , y , opts ... )
482
483
require .NoError (t , err )
483
- require .Equal (t , partInfoA .Fingerprint , fpA )
484
- require .Equal (t , partInfoA .Count , countA )
484
+ require .Equal (t , partInfoA .Fingerprint , prA .FP )
485
+ require .Equal (t , partInfoA .Count , prA .Count )
486
+ require .InDelta (t , 0.98 , prA .Sim , 0.1 , "sim" )
487
+ // QQQQQ: TBD: check prA.Sim and prB.Sim values
485
488
})
486
489
return false
487
490
})
@@ -490,11 +493,11 @@ func testWireProbe(t *testing.T, getRequester getRequesterFunc) requester {
490
493
491
494
func TestWireProbe (t * testing.T ) {
492
495
t .Run ("fake requester" , func (t * testing.T ) {
493
- testWireProbe (t , fakeRequesterGetter (t ))
494
- })
495
- t .Run ("p2p" , func (t * testing.T ) {
496
- testWireProbe (t , p2pRequesterGetter (t ))
496
+ testWireProbe (t , fakeRequesterGetter ())
497
497
})
498
+ // t.Run("p2p", func(t *testing.T) {
499
+ // testWireProbe(t, p2pRequesterGetter(t))
500
+ // })
498
501
}
499
502
500
503
// TODO: test bounded sync
0 commit comments