[Web-SIG] repoze.bfg web framework 1.0 released

Chris McDonough chrism at plope.com
Mon Jul 6 17:32:35 CEST 2009

On 7/5/09 10:37 PM, Graham Dumpleton wrote:
>> The first major release of the BFG web framework (aka "repoze.bfg"),
>> version 1.0, is available.  See http://bfg.repoze.org/ for general
>> information about repoze.bfg.
>> ...
>> - WSGI-based deployment: PasteDeploy and mod_wsgi compatible.
>> ...
>> - A comprehensive set of unit tests.  The repoze.bfg package contains
>>   11K lines of Python code.  8000 lines of that total line count is
>>   unit test code that tests the remaining 3000 lines.
> A question about your testing if you have time. Is this done in a fake
> WSGI hosting environment, ie., test harness, or is it able to be run
> through WSGI servers such as Paste server, Apache/mod_wsgi, etc, in
> some way?

The tests I mentioned in there are mostly unit tests; they don't test any 
particular system configuration functionally.  In particular, none of the tests 
actually invokes a request via a WSGI stack.

But we do use functional testing in projects that use the framework.  For 
example, we use Twill (created by Titus Brown) to make sure things don't break 
at the request/response level in this project:  http://karlproject.org.

> Am curious from the point of view that standalone test suites for WSGI
> itself to run against WSGI hosting mechanisms don't really exist, so
> the test suite for BFG, with the presumption that it would exercise a
> lot of WSGI functionality, might be a good regression test for WSGI
> servers themselves.

I think maybe some "ACID test" WSGI application could be built, and then some 
set of functional HTTP-level tests could be run against that application to gain 
confidence in a WSGI app.  This is more or less what we do with Twill on that 
KARL project:  the developers use the Paste#http server, but we actually deploy 
to a mod_wsgi server.  We can (and do) run the Twill tests against both to get 
confidence that the app isn't going to fall over in production.

- C

More information about the Web-SIG mailing list