Haskell-tor explicitly defines its network stack as something that can be plugged in later. Which means that we could, just as easily, create a totally fake network. This would make testing some features a lot easier and more convenient.
The end goal would be to be able to randomly generate (via QuickCheck) a small Tor network, and then be able to define end-to-end properties regarding that network: that when you open a connection to a legit host through a Tor circuit, you get the entire data stream correctly, for example. We could then expand this end-to-end testing as we add features.
Haskell-tor explicitly defines its network stack as something that can be plugged in later. Which means that we could, just as easily, create a totally fake network. This would make testing some features a lot easier and more convenient.
The end goal would be to be able to randomly generate (via QuickCheck) a small Tor network, and then be able to define end-to-end properties regarding that network: that when you open a connection to a legit host through a Tor circuit, you get the entire data stream correctly, for example. We could then expand this end-to-end testing as we add features.