-
Notifications
You must be signed in to change notification settings - Fork 543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increase testing & SQL support #212
Comments
Yeah, this is called "snapshot testing" and I think it could replace most of our current tests. (I don't see the reason to use JSON here and like to avoid heavy-weight dependencies like serde for essential functionality, if possible, but that can be discussed separately.) When I investigated this a year or so ago, I didn't like the existing tools like insta (for most of these reasons). I like the ergonomics of rust-analyzer's parser tests (docs, tests directory, tests entry point).
Not sure what you mean by "unit" tests, but I like the idea of inline tests in rust-analyzer, which serve as both code comments and a kind of unit-tests.
I can't say I understand how specifically 3-5 would help. Perhaps demonstrating real bugs found in sqlparser-rs using those would help. |
3-4 main benefit is making the amount of test cases much larger compared to handwritten examples. For example, the fuzzer found some cases in which the parser is currently extremely slow #217 and could spot crashing code (if present). Quickcheck/property testing would allow to test some properties with a large number of randomized inputs.
|
I want to write down some ideas about increasing support for commonly used SQL statement.
Some different ideas for doing more testing:
Examples can be TPCDS benchmark http://www.tpc.org/tpcds/ and other resources from different projects.
We can test two main things here:
Some great list of general testing strategies can be found here:
https://www.sqlite.org/testing.html
Any feedback, ideas on this?
The text was updated successfully, but these errors were encountered: