From
https://groups.google.com/d/msg/web2py-developers/4hzZ4HkNCTo/jKcZCpV3QHgJI could use some help for adding tests for gae, mongodb, couchdb, ..., etc.
mongo and couch seems quite easy, if it is just about enabling the backends at .travis.yml. However, just a small subset will actually pass, so should we add conditional statements to turn off those tests that will fail for each non-sql db? I suppose the alternative way would be a separate test file/section for each adapter or maybe a no-sql test routine (connect then run the test subset)
There are issues about connecting to app engine or imap services. For gae, AFAIK, it is required to import a module from the sdk to emulate a datastore instance. The worst situation is that of imap. I think the only possible way of testing that backend is to mock an imap server or at least creating a dummy driver class returning a static set of messages and statuses. There is a javascript project mocking an imap server for travis-ci, although it does not seem easy to integrate with web2py tests.