My intention is that all the functionality in the sql.py on which the
code was based (only 3 or 4 days ago) is in the demo version (new
sql.py + plugins). Unfortunately, I can't say hand-on-heart that it
could go into trunk without further testing. Hopefully, if the new
sql.py works for one plugin it works for them all.
Re. testing: there are 2 issues
1) having a comprehensive set of tests
2) having the full range of db-engines available (i'm sure other
people can help with this)
Re tests: a small addition would be to test the finding and allocation
of plugins. Other than that, as the functionality is the same as the
current sql.py, any existing tests would be the same. There are a lot
of tests at the end of sql.py - how complete are they?
Assuming we need to create more tests, there are a couple of
observations.
1) I need to get up-to-speed with creating and running tests under
python. I don't know enough yet.
2) In an ideal world, someone other than the coder writes the
tests :-) TBH I don't see that happening
3) In general the same tests should apply to each and every plugin.
We need to identify where, if at all, a different outcome is
acceptable.
4) I could do with help defining what else needs to be tested and
organising tests that so it is easy to find/modify a particular test.
Once that is done it would be easier for others to contribute missing
tests.
Plan of action:
I get up to speed on creating/running tests.
Someone tell me what is missing from existing tests (and I will try to
identify gaps myself).
I structure the tests (it may not be necessary to do anything) and
update branch on launchpad.
People run tests on available db-engines and notify of bugs and
missing tests and provide additional tests.
Iterate over last 2 steps until everyone happy :-)
Hopefully, at the end we have a full set of tests for sql.py.
Bill