On Mon, Jul 15, 2013 at 11:48 AM, Fabien COELHO <coe...@cri.ensmp.fr> wrote: >> I simply don't understand how we can be getting any meaningful test >> coverage out of those cases. I mean, if we want to check every bit of >> syntax that could lead to a syntax error, we could probably come up >> with a near-infinite number of test cases: > > I think that it would be enough to check for expected > keywords/identifier/stuff whether the syntax error reported make sense. > Basically the parser reports the first found inconsistency. > > 1. CREAT TABLE foo (x int); > 2. CREATE TABL foo (x int); > 3. CREATER TABLE foo (x int); -- same as 1 > 4. CREATE TABLES foo (x int); -- same as 2 > 5. CREATE CREATE TABLE foo (x int); -- hmmm. > 6. CREATE TABLE foo [x int); > 7. CREATE TABLE foo (x int]; > 8. CREATE TABLE foo [x int]; -- same as 6 & 7 > 9. CREATE TABLE (x int); > A. CREATE foo (x int); -- same as 2 > > This level of testing can be more or less linear in the number of token.
Maybe so, but that's still a huge number of regression tests that in practice won't find anything. But they will take work to maintain. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers