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

View File

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