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.


Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 12 of 13 | next ›
Discussion Overview
grouppgsql-hackers @
postedMar 19, '13 at 10:11p
activeJul 15, '13 at 4:34p



site design / logo © 2021 Grokbase