On 2010-12-28 19:16, Chris McDonough wrote: > On Tue, 2010-12-28 at 15:36 +0100, Wichert Akkerman wrote: >> I recently refactored a package to move all test infrastructure out of >> tests/ to testing.py. This has one unfortunate side effect: on installs >> without test dependencies my app will now no longer start since the >> venusian scan aborts on test imports in testing.py. Is there a way block >> venusian from scanning testing.py? > > I'm afraid not. But I'm not sure why it worked under tests/ but not > under testing.py, as Venusian scans everything?
That turned out to due to some other test refactoring I was doing at the same time. It did surprise me to see that venusian was scanning tests; somehow that feels undesirable. For reference this is the code that was showing this problem: from wsgi_intercept import zope_testbrowser class TestBrowser(zope_testbrowser.WSGI_Browser): """A test browser which does not check robots.txt.""" def __init__(self, *args, **kwargs): zope_testbrowser.WSGI_Browser.__init__(self, *args, **kwargs) self.mech_browser.set_handle_robots(False) since wsgi_intercept is only a test dependency this caused an ImportError. As a workaround I hade to rewrite the code to look like this: def TestBrowser(): from wsgi_intercept import zope_testbrowser class TestBrowser(zope_testbrowser.WSGI_Browser): """A test browser which does not check robots.txt.""" def __init__(self, *args, **kwargs): zope_testbrowser.WSGI_Browser.__init__(self, *args, **kwargs) self.mech_browser.set_handle_robots(False) return TestBrowser() this works, but it isn't very pretty. Wichert. -- Wichert Akkerman <wich...@wiggy.net> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple. _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev