You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Besides being able to use C++ tooling, one of the things I'd love to see in libtransmission is greater testing. Right now testing is difficult because there is just too much interdependency for unit tests to be pragmatic.
So as we turn these structs (e.g. tr_peerIo, bandwidth, crypto, handshake, tr_peer, tr_peerMsgs) into classes, I'd like to try and make as many fields private as possible and reduce interdependencies between the classes, at least to the extent that test fakes can be injected in a test situation.
crypto.cc and then peer-io may be a good place to start because we'll need isolated copies of them in order to test handshake. These won't be easy but I think they have fewer interdependencies than the related modules. peer-mgr is the final boss to fight on this track.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Besides being able to use C++ tooling, one of the things I'd love to see in libtransmission is greater testing. Right now testing is difficult because there is just too much interdependency for unit tests to be pragmatic.
So as we turn these structs (e.g. tr_peerIo, bandwidth, crypto, handshake, tr_peer, tr_peerMsgs) into classes, I'd like to try and make as many fields private as possible and reduce interdependencies between the classes, at least to the extent that test fakes can be injected in a test situation.
crypto.cc and then peer-io may be a good place to start because we'll need isolated copies of them in order to test handshake. These won't be easy but I think they have fewer interdependencies than the related modules. peer-mgr is the final boss to fight on this track.
Beta Was this translation helpful? Give feedback.
All reactions