Skip to content
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

Split up node selection #2328

Closed
beckjake opened this issue Apr 15, 2020 · 2 comments · Fixed by #2628
Closed

Split up node selection #2328

beckjake opened this issue Apr 15, 2020 · 2 comments · Fixed by #2628
Labels
enhancement New feature or request

Comments

@beckjake
Copy link
Contributor

Describe the feature

Per the discussion in #2203, we should split the current test selection into parts:

  • node selection
  • DAG construction

This solution must account for ephemeral nodes!

This will be the basis for a few interesting future changes:

Describe alternatives you've considered

We can try to bolt those onto our existing framework.
We can avoid changing how node selection works.

Additional context

Not database specific

Who will this benefit?

This is mostly useful for whoever ends up implementing the dependent features.

@Raalsky
Copy link
Contributor

Raalsky commented May 10, 2020

💯 🚀

Maybe we should switch current selector to tokenization/grammar preprocessor and AST-based logic? I'm thinking about providing a formal grammar for node selection syntax and work around processing the tree of operations instead of mixing selection logic/tokenization etc. Then just apply it to nodes or tests with different semantics. At the top are tools like lex and yacc.

@drewbanin
Copy link
Contributor

hey @Raalsky - cool idea! I think it could be sensible to use a proper parser in the future, but in general, I don't think the use-case requires it. The command line is a constrained programming environment, and it's probably not an ideal place to define deeply nested sets of selectors.

I'm happy to keep this in mind for the future -- maybe something like this would make more sense if we added new operators with complex precedence/associativity rules in the future?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants