Our integ tests are subdivided by module. Generally this is well and good, but since we're a controller library that means a disproportionate number of tests have... well, been for the controller.
We should further break this up. One thought would be by controller functionality...
getinfo commands
tor config options (GETCONF, SETCONF)
event handling
hidden services
... etc...
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Thanks Neel! This ticket is pretty old and since then I've had time to think about a good alternate way to structure our tests. Rather than breaking up test functions think we should aim for the test modules so they relate to a single class or topic. That is to say instead of...
class TestController(unittest.TestCase): ... tests everything...
... we have...
class TestControllerCommands(unittest.TestCase): ... tests GETINFO, GETCONF, etc...class TestHiddenServices(unittest.TestCase): ... tests hidden service functions...
There could be merit to breaking up the functions as you did here too.
Hmmm, now that I see what this looks like maybe this wasn't such a great idea. Sorry about the dead end... :(
One thing in your testing output I'd very much like to correct are all those pyflakes issues. Just pushed a change that should deal with them. Mind giving it a whirl and seeing if you still get any warnings?
Think I'm gonna close this. Patches to improve our tests welcome but I'm unsure there's overly much need for this compared with some other testing maintainability improvements I can think of.
Trac: Resolution: N/Ato worksforme Status: new to closed