On Thu, Jan 22, 2004 at 02:02:45PM -0500, Jeff Urlwin wrote:
> My initial input would be:
> 
> Ensure that we have proper goals!!!
> 
> Is this going to be a DBI conformance test or a driver test suite? I belive
> those are two different (but not incompatible) goals.

Ultimately both, I hope, though its initial goal is a very thorough
DBI conformance test.

Doing that would naturally provide much of the framework for a
driver test suite. I would anticipate most driver test suites being
greatly reduced to just run the DBI::Test tests and then run their
own set of extra tests for driver specific features.

I'm assuming here that the DBI::Test suite will have absorbed
non-driver specific tests from the existing drivers and end up being
a superset of those tests.

> A conformance test
> would be more simple, in that it would test the interface to the driver not
> necessarily that it's functioning correctly.

Er, I don't understand that statement.

> It would and determine which
> DBI features the driver supplies vs what DBI allows.  Ideally, this would be
> updated every time a new feature is added to DBI and would produce a report
> showing which features were implemented by the driver, which by DBI (e.g.
> the default DBI implementation of array handling vs. the driver implementing
> it in a "better" fashion). and which are not implemented. 

The concept of a report would be handy (I'm thinking in terms of
which groups of tests were skipped due to the driver not supporting
certain features), but I care less about how a driver supports
something so long as it does - even if it's just letting the DBI
look after it, like execute_array().

> A DBD Driver test, in my terms, would be something that reads and writes the
> data to the database and VERIFIES that it's getting what is expected.  In my
> experience, with DBD::ODBC, this takes a bit of effort.  Does this driver
> supply SQL_INTEGER, SQL_SMALLINT, etc?  DBD::ODBC uses a primitive method to
> work this out and there are probably much better approaches.  That said:
> DBD::ODBC tests, for the most part, pass against Access, SQL Server, DB2 and
> Oracle (and, when no DBI_DSN is set, which is important for any automated builds).

Your DBD::ODBC tests certainly have much good experience to offer.

> The "Driver" test would, IMHO, be VERY dependant upon the
> conformance tests, to know what to test and to know how to approach inserts,
> deletes, etc.  

What do you mean by "how to approach inserts ..."?

> I, actually, think the "Driver" test would be more useful for Driver writers
> and the conformance test more useful for end-users -- and both would be
> valuable, but I think we should define the goals first.  I think I'm not
> sure which direction this is going.  I'm an advocate of covering both
> "conformance" and "performance" -- but I think those goals should be spelled
> out first. 

Goal: I want it all, and I want it now ;-)

> Just my initial thought.  An intended SCOPE would be nice for those of us
> who would like to contribute, but don't have a lot of time to do it.

I expect your DBD::ODBC tests will provide valuable input to Tom's design.

Tim.

Reply via email to