I'm writing a program which has to interact with many external resources, at least: - mysql database - perforce - shared mounts - files on disk
And the logic is quite complex, because there are many possible paths to follow depending on some other parameters. This program even needs to run on many virtual machines at the same time so the interaction is another thing I need to check... Now I successfully managed to mock the database with sqlalchemy and only the fields I actually need, but I now would like to simulate also everything else. I would like for example that if I simulate I can pass a fake database, a fake configuration and get the log of what exactly would happen. But I'm not sure how to implement it now.. One possibility would be to have a global variable (PRETEND_ONLY = False) that if set should be checked before every potentially system-dependent command. For example copytree(src, dest) becomes: if not PRETEND_ONLY: copytree(src, dest) But I don't like it too much because I would have to add a lot of garbage around.. Another way is maybe to set the sys.excepthook to something that catchs all the exceptions that would be thrown by these comands, but I'm not sure is a good idea either.. Any suggestion? -- http://mail.python.org/mailman/listinfo/python-list