Initial draft of full DBAPI compliance test suite, and gadfly driver.
Untested. Still need to add tests for the 'optional extras' addition
to the DB API 2.0 spec.
Test suite mostly working against Psycopg. Still a few things to sort through.
DB API 2.0 compliance test appears to be complete and ready to post
to DB-SIG
Changes, as per suggestions and bug reports by M.-A. Lemburg,
Matthew T. Kromer, Federico Di Gregorio and Daniel Dittmar
- Class renamed
- Now a subclass of TestCase, to avoid requiring the driver stub
  to use multiple inheritance
- Reversed the polarity of buggy test in test_description
- Test exception heirarchy correctly
- self.populate is now self._populate(), so if a driver stub
  overrides self.ddl1 this change propogates
- VARCHAR columns now have a width, which will hopefully make the
  DDL even more portible (this will be reversed if it causes more problems)
- cursor.rowcount being checked after various execute and fetchXXX methods
- Check for fetchall and fetchmany returning empty lists after results
  are exhausted (already checking for empty lists if select retrieved
  nothing
- Fix bugs in test_setoutputsize_basic and test_setinputsizes
Implement suggestions and code from Henrik Eklund - test that cursor.arraysize
defaults to 1 & generic cursor.callproc test added
Stuff from Henrik Ekelund:
    added test_None
    added test_nextset & hooks
Break out DDL into helper functions, as per request by David Rushby
Changes, as per suggestions by M.-A. Lemburg
- Add a table prefix, to ensure namespace collisions can always be avoided
Minor tweak from Stefan Fleiter
Update gadfly dbapi20 test stub to work with newer version of the DB API 20 test suite
connect args change for moellenbeck dbapi20 work
extend the test to create a test db and check the new dbapi 2.0 functionality provided by the gadfly modul
Add test for DB API 2.0 optional extension, where database exceptions
are exposed as attributes on the Connection object.
dbapi20types.py fixes. Also, convert to using ISO8601 standard date/time.
Move to standard Python time representation by removing unnecessary
T's and Z's. Still ISO8601 (the T can be removed 'by mutual consent'
and removing the Z means naive time)
Update author email address
dbapi20 test suite should import correct module
Add suite() function to stop test runner failure
python 3.x compatible
Merge IronPython and Python 3.0 support from lp:~vernondcole/dbapi-compliance/v1.12