-
Notifications
You must be signed in to change notification settings - Fork 161
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
Proposal to define a test file format #681
Comments
Created a draft PR #680 |
I have a few questions about the proposed test file format mainly stemming from not knowing what the format's intended use would be.
|
Will answer some high level questions on these. We can discuss more in the sync tomorrow.
The intention is for this to supplant the BFT test files. These files define the semantics of the functions are really an extended part of the documentation of function semantics. We have updates we're working on so the BFT framework would source these for testing. The current format in BFT is extremely verbose, making it burdensome to build test cases and difficult to accurately assess scan test cases and clarify the quality of the coverage.
We're focused on these one at a time. We figured we'd start with scalar functions then move through other things one at a time. I'm not sure we'd be likely to get to relations.
As mentioned above, we brainstormed several iterations. The main thing we struggled with is that the human observability/intuitiveness aspect gets lost the moment you try to make focus on making this easy to consume for a machine.
Yes, I think it should. It is a specification as much as a test. This is this function behaves under certain conditions. I think of it as simply an extension of the specification in the yaml files to help clear up ambiguities. We have some intention to additionally introduce a coverage tool which gives us an overview of the number of test cases per function. Most of our functions are underspecified at the moment. Once we get to coverage, I would recommend that new functions must include clear specified behavior for common cases, edge cases, as well different option combinations. Otherwise, we aren't really specifying anything concrete. |
Define a simple and human-readable test file format. It should be easy to parse programmatically.
Define ANTLR grammar for the test file format. This will enable parser generation for multiple languages.
Define format of literals for various data types. It should include both simple and complex data types
It should cover test format for all types of functions Scalar/Aggregate/Windows
This will allow to build a tool to report coverage for each of the substrait functions
The text was updated successfully, but these errors were encountered: