fix tests

This commit is contained in:
vyzo 2021-12-30 11:37:11 +02:00
parent aed2c69d3c
commit c9931b243f
2 changed files with 150 additions and 150 deletions

View File

@ -91,62 +91,62 @@ func TestResourceManager(t *testing.T) {
StreamsInbound: 1,
StreamsOutbound: 1,
},
})
}).(*resourceManager)
defer mgr.Close()
checkRefCnt := func(s *ResourceScope, count int) {
checkRefCnt := func(s *resourceScope, count int) {
t.Helper()
if refCnt := s.refCnt; refCnt != count {
t.Fatalf("expected refCnt of %d, got %d", count, refCnt)
}
}
checkSystem := func(check func(s *ResourceScope)) {
checkSystem := func(check func(s *resourceScope)) {
if err := mgr.ViewSystem(func(s network.ResourceScope) error {
check(s.(*SystemScope).ResourceScope)
check(s.(*systemScope).resourceScope)
return nil
}); err != nil {
t.Fatal(err)
}
}
checkTransient := func(check func(s *ResourceScope)) {
checkTransient := func(check func(s *resourceScope)) {
if err := mgr.ViewTransient(func(s network.ResourceScope) error {
check(s.(*TransientScope).ResourceScope)
check(s.(*transientScope).resourceScope)
return nil
}); err != nil {
t.Fatal(err)
}
}
checkService := func(svc string, check func(s *ResourceScope)) {
checkService := func(svc string, check func(s *resourceScope)) {
if err := mgr.ViewService(svc, func(s network.ServiceScope) error {
check(s.(*ServiceScope).ResourceScope)
check(s.(*serviceScope).resourceScope)
return nil
}); err != nil {
t.Fatal(err)
}
}
checkProtocol := func(p protocol.ID, check func(s *ResourceScope)) {
checkProtocol := func(p protocol.ID, check func(s *resourceScope)) {
if err := mgr.ViewProtocol(p, func(s network.ProtocolScope) error {
check(s.(*ProtocolScope).ResourceScope)
check(s.(*protocolScope).resourceScope)
return nil
}); err != nil {
t.Fatal(err)
}
}
checkPeer := func(p peer.ID, check func(s *ResourceScope)) {
checkPeer := func(p peer.ID, check func(s *resourceScope)) {
if err := mgr.ViewPeer(p, func(s network.PeerScope) error {
check(s.(*PeerScope).ResourceScope)
check(s.(*peerScope).resourceScope)
return nil
}); err != nil {
t.Fatal(err)
}
}
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -157,11 +157,11 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
@ -177,11 +177,11 @@ func TestResourceManager(t *testing.T) {
// close it to check resources are reclaimed
conn.Done()
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -192,11 +192,11 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
@ -206,15 +206,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 4)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -225,11 +225,11 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 2})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
@ -239,15 +239,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal("expected SetPeer to fail")
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 2})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 1})
})
@ -260,11 +260,11 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 1, NumFD: 0})
})
@ -273,15 +273,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -292,15 +292,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 4)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 6)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
@ -313,15 +313,15 @@ func TestResourceManager(t *testing.T) {
// close the stream to check resource reclamation
stream.Done()
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -332,15 +332,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 4)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 6)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
@ -349,19 +349,19 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 4)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 7)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -372,15 +372,15 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 8)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
@ -389,19 +389,19 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 8)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -412,19 +412,19 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 10)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
@ -433,23 +433,23 @@ func TestResourceManager(t *testing.T) {
t.Fatal("expected SetProtocol to fail")
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 10)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
@ -459,27 +459,27 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoB, func(s *ResourceScope) {
checkProtocol(protoB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 11)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -489,31 +489,31 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkService(svcA, func(s *ResourceScope) {
checkService(svcA, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoB, func(s *ResourceScope) {
checkProtocol(protoB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 12)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -522,31 +522,31 @@ func TestResourceManager(t *testing.T) {
t.Fatal(err)
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkService(svcA, func(s *ResourceScope) {
checkService(svcA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoB, func(s *ResourceScope) {
checkProtocol(protoB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 12)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -555,31 +555,31 @@ func TestResourceManager(t *testing.T) {
t.Fatal("expected SetService to fail")
}
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 5)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2, NumConnsInbound: 2, NumFD: 1})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkService(svcA, func(s *ResourceScope) {
checkService(svcA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 2})
})
checkProtocol(protoB, func(s *ResourceScope) {
checkProtocol(protoB, func(s *resourceScope) {
checkRefCnt(s, 2)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 1})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 12)
checkResources(t, &s.rc, network.ScopeStat{NumStreamsInbound: 3, NumConnsInbound: 2, NumFD: 1})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
@ -614,42 +614,42 @@ func TestResourceManager(t *testing.T) {
conn2.Done()
// check everything released
checkPeer(peerA, func(s *ResourceScope) {
checkPeer(peerA, func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkPeer(peerB, func(s *ResourceScope) {
checkPeer(peerB, func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkService(svcA, func(s *ResourceScope) {
checkService(svcA, func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkProtocol(protoA, func(s *ResourceScope) {
checkProtocol(protoA, func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkProtocol(protoB, func(s *ResourceScope) {
checkProtocol(protoB, func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 7)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})
mgr.gc()
checkSystem(func(s *ResourceScope) {
checkSystem(func(s *resourceScope) {
checkRefCnt(s, 3)
checkResources(t, &s.rc, network.ScopeStat{})
})
checkTransient(func(s *ResourceScope) {
checkTransient(func(s *resourceScope) {
checkRefCnt(s, 1)
checkResources(t, &s.rc, network.ScopeStat{})
})

View File

@ -144,7 +144,7 @@ func TestResources(t *testing.T) {
}
func TestResourceScopeSimple(t *testing.T) {
s := NewResourceScope(
s := newResourceScope(
&StaticLimit{
Memory: 4096,
StreamsInbound: 1,
@ -168,7 +168,7 @@ func TestResourceScopeSimple(t *testing.T) {
testResourceScopeBasic(t, s)
}
func testResourceScopeBasic(t *testing.T, s *ResourceScope) {
func testResourceScopeBasic(t *testing.T, s *resourceScope) {
if err := s.ReserveMemory(2048); err != nil {
t.Fatal(err)
}
@ -254,7 +254,7 @@ func testResourceScopeBasic(t *testing.T, s *ResourceScope) {
}
func TestResourceScopeTxnBasic(t *testing.T) {
s := NewResourceScope(
s := newResourceScope(
&StaticLimit{
Memory: 4096,
StreamsInbound: 1,
@ -271,14 +271,14 @@ func TestResourceScopeTxnBasic(t *testing.T) {
t.Fatal(err)
}
testResourceScopeBasic(t, txn.(*ResourceScope))
testResourceScopeBasic(t, txn.(*resourceScope))
checkResources(t, &s.rc, network.ScopeStat{})
// check constraint propagation
if err := txn.ReserveMemory(4096); err != nil {
t.Fatal(err)
}
checkResources(t, &txn.(*ResourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn.(*resourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &s.rc, network.ScopeStat{Memory: 4096})
txn.Done()
checkResources(t, &s.rc, network.ScopeStat{})
@ -287,7 +287,7 @@ func TestResourceScopeTxnBasic(t *testing.T) {
}
func TestResourceScopeTxnZombie(t *testing.T) {
s := NewResourceScope(
s := newResourceScope(
&StaticLimit{
Memory: 4096,
StreamsInbound: 1,
@ -312,8 +312,8 @@ func TestResourceScopeTxnZombie(t *testing.T) {
if err := txn2.ReserveMemory(4096); err != nil {
t.Fatal(err)
}
checkResources(t, &txn2.(*ResourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn2.(*resourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &s.rc, network.ScopeStat{Memory: 4096})
txn1.Done()
@ -327,7 +327,7 @@ func TestResourceScopeTxnZombie(t *testing.T) {
}
func TestResourceScopeTxnTree(t *testing.T) {
s := NewResourceScope(
s := newResourceScope(
&StaticLimit{
Memory: 4096,
StreamsInbound: 1,
@ -367,37 +367,37 @@ func TestResourceScopeTxnTree(t *testing.T) {
if err := txn3.ReserveMemory(1024); err != nil {
t.Fatal(err)
}
checkResources(t, &txn3.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &s.rc, network.ScopeStat{Memory: 1024})
if err := txn4.ReserveMemory(1024); err != nil {
t.Fatal(err)
}
checkResources(t, &txn4.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn4.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &s.rc, network.ScopeStat{Memory: 2048})
if err := txn5.ReserveMemory(1024); err != nil {
t.Fatal(err)
}
checkResources(t, &txn5.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*ResourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 3072})
checkResources(t, &txn5.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*resourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 3072})
checkResources(t, &s.rc, network.ScopeStat{Memory: 3072})
if err := txn1.ReserveMemory(1024); err != nil {
t.Fatal(err)
}
checkResources(t, &txn5.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*ResourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn5.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*resourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &s.rc, network.ScopeStat{Memory: 4096})
if err := txn5.ReserveMemory(1024); err == nil {
@ -412,11 +412,11 @@ func TestResourceScopeTxnTree(t *testing.T) {
if err := txn2.ReserveMemory(1024); err == nil {
t.Fatal("expected ReserveMemory to fail")
}
checkResources(t, &txn5.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*ResourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*ResourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*ResourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &txn5.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn4.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn3.(*resourceScope).rc, network.ScopeStat{Memory: 1024})
checkResources(t, &txn2.(*resourceScope).rc, network.ScopeStat{Memory: 2048})
checkResources(t, &txn1.(*resourceScope).rc, network.ScopeStat{Memory: 4096})
checkResources(t, &s.rc, network.ScopeStat{Memory: 4096})
txn1.Done()
@ -434,7 +434,7 @@ func TestResourceScopeDAG(t *testing.T) {
// | ------/
// \
// ------> s6
s1 := NewResourceScope(
s1 := newResourceScope(
&StaticLimit{
Memory: 4096,
StreamsInbound: 4,
@ -445,7 +445,7 @@ func TestResourceScopeDAG(t *testing.T) {
},
nil,
)
s2 := NewResourceScope(
s2 := newResourceScope(
&StaticLimit{
Memory: 2048,
StreamsInbound: 2,
@ -454,9 +454,9 @@ func TestResourceScopeDAG(t *testing.T) {
ConnsOutbound: 2,
FD: 2,
},
[]*ResourceScope{s1},
[]*resourceScope{s1},
)
s3 := NewResourceScope(
s3 := newResourceScope(
&StaticLimit{
Memory: 2048,
StreamsInbound: 2,
@ -465,9 +465,9 @@ func TestResourceScopeDAG(t *testing.T) {
ConnsOutbound: 2,
FD: 2,
},
[]*ResourceScope{s1},
[]*resourceScope{s1},
)
s4 := NewResourceScope(
s4 := newResourceScope(
&StaticLimit{
Memory: 2048,
StreamsInbound: 2,
@ -476,9 +476,9 @@ func TestResourceScopeDAG(t *testing.T) {
ConnsOutbound: 2,
FD: 2,
},
[]*ResourceScope{s2, s3, s1},
[]*resourceScope{s2, s3, s1},
)
s5 := NewResourceScope(
s5 := newResourceScope(
&StaticLimit{
Memory: 2048,
StreamsInbound: 2,
@ -487,9 +487,9 @@ func TestResourceScopeDAG(t *testing.T) {
ConnsOutbound: 2,
FD: 2,
},
[]*ResourceScope{s2, s1},
[]*resourceScope{s2, s1},
)
s6 := NewResourceScope(
s6 := newResourceScope(
&StaticLimit{
Memory: 2048,
StreamsInbound: 2,
@ -498,7 +498,7 @@ func TestResourceScopeDAG(t *testing.T) {
ConnsOutbound: 2,
FD: 2,
},
[]*ResourceScope{s3, s1},
[]*resourceScope{s3, s1},
)
if err := s4.ReserveMemory(1024); err != nil {
@ -934,41 +934,41 @@ func TestResourceScopeDAGTxn(t *testing.T) {
// | ------/
// \
// ------> s6
s1 := NewResourceScope(
s1 := newResourceScope(
&StaticLimit{
Memory: 8192,
},
nil,
)
s2 := NewResourceScope(
s2 := newResourceScope(
&StaticLimit{
Memory: 4096 + 2048,
},
[]*ResourceScope{s1},
[]*resourceScope{s1},
)
s3 := NewResourceScope(
s3 := newResourceScope(
&StaticLimit{
Memory: 4096 + 2048,
},
[]*ResourceScope{s1},
[]*resourceScope{s1},
)
s4 := NewResourceScope(
s4 := newResourceScope(
&StaticLimit{
Memory: 4096 + 1024,
},
[]*ResourceScope{s2, s3, s1},
[]*resourceScope{s2, s3, s1},
)
s5 := NewResourceScope(
s5 := newResourceScope(
&StaticLimit{
Memory: 4096 + 1024,
},
[]*ResourceScope{s2, s1},
[]*resourceScope{s2, s1},
)
s6 := NewResourceScope(
s6 := newResourceScope(
&StaticLimit{
Memory: 4096 + 1024,
},
[]*ResourceScope{s3, s1},
[]*resourceScope{s3, s1},
)
txn4, err := s4.BeginTransaction()