On Sat, Sep 26, 2009 at 18:05 +0200, Ronny Pfannschmidt wrote:
> On Sat, 2009-09-26 at 17:02 +0200, holger krekel wrote:
> > Hi Ronny,
> >
> > > i wonder what would be a good way to test the handling of unimportable
> > > modules or fallbacks for missing modules.
> > > i don't have any initial idea on how to get started with that.
> >
> > what i usually do is to provide the to-be-unimportable module
> > but put e.g. "raise ImportError()" into it. Using the 'tmpdir'
> > and 'monkeypatch' funcargs makes it easy to do this, e.g.:
> >
> > def test_unimportable(tmpdir, monkeypatch):
> > tmpdir.join("docutils.py").write("raise ImportError()")
> > monkeypatch.setattr(sys, 'path', [str(tmpdir)] + sys.path)
> >
> > ..call-and-assert..
>
> unfortunately that doesnt help with modules that are already imported
> unless of course i use something like propper process based sandboxing
> for all tests (and i'd like to avoid that)
yes, either requires running things in a new process or hacking
'sys.modules' as well - which you could all do through a nice funcarg.
holger
_______________________________________________
py-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/py-dev