When a client is sending a chunked request body and disconnects between chunks, wsgi.Input.read() raises a ValueError. That's fine if you can remember to wrap every single call to read/readline in a try/except, but it's bad for a higher-level error handler because so many things raise ValueError. This adds in a new error class wsgi.ChunkReadError and raises that instead. It inherits from ValueError so anyone catching ValueError should continue to work.
The tests are intended to be run using Nose. http://somethingaboutorange.com/mrl/projects/nose/ To run tests, simply install nose, and then, in the eventlet tree, do: $ nosetests That's it! Its output is the same as unittest's output. It tends to emit a lot of tracebacks from various poorly-behaving tests, but they still (generally) pass.