GaloisInc / haskell-tor

A Haskell implementation of the Tor protocol.
BSD 3-Clause "New" or "Revised" License
272 stars 19 forks source link

Testing Network Stack / Auto-generation of In-Memory Tor Networks #12

Open acw opened 8 years ago

acw commented 8 years ago

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.

acw commented 8 years ago

Work on this is going on in the 'testing' branch.