-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
No function signatures available for --only map_keys #3533
Comments
Also got affected for a few map functions, such as map_from_entries. |
this will be fixed as a part of #3388. It happens because the current code relies on function signatures to pick the starting return type and currently it only picks from the non-templatized function signatures. Therefore it requires "signatures_" to be non empty and has a VELOX_CHECK for that. The part in #3388 that deals with using random top level return type (using VectorFuzzer::randType() ) will fix this. |
@bikramSingh91 Bikram, what is the timeline for #3388? If it is more than a week away, can we fix this issue first to unblock folks adding new functions? |
I think we can do a quick fix to unblock the new functions before Bikram implement a general solution. Basically we can flip the coin to determine whether to choose a function from signatures_ or signatureTemplates_. If the chosen one is empty, then we choose from the other. |
Sounds good! let me know if you have already started on this, otherwise feel free to assign it to me. |
Hi Bikram, Yeah, I'm working on this. It would be great if you could help review it. |
… in fuzzer Summary: The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Differential Revision: D42116543 fbshipit-source-id: c18ece843dadfb5bc3eec6e471d14f74a90034df
@kagamiori Wei, Bikram, thank you for working on this. I wonder if it makes sense to start by randomly picking up a signature or signature template instead of picking up return type. |
Yes, I think in #3540 we pick up a signature or signature template and use its return type as the top-level result type. |
… in fuzzer (facebookincubator#3540) Summary: Pull Request resolved: facebookincubator#3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Reviewed By: bikramSingh91 Differential Revision: D42116543 fbshipit-source-id: 2c118f127561dc069adf6a845f4c4f500fffa70e
… in fuzzer (facebookincubator#3540) Summary: Pull Request resolved: facebookincubator#3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Reviewed By: bikramSingh91 Differential Revision: D42116543 fbshipit-source-id: 3f6ab56065deda24f954450121948a0f81bb2e67
… in fuzzer (facebookincubator#3540) Summary: Pull Request resolved: facebookincubator#3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Differential Revision: https://internalfb.com/D42116543 fbshipit-source-id: fac259688cd1dc2fd33317965471634cb7c85962
… in fuzzer (facebookincubator#3540) Summary: Pull Request resolved: facebookincubator#3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Reviewed By: bikramSingh91 Differential Revision: D42116543 fbshipit-source-id: 0a01926e044e1e1b7e87f6093136dbc7fe12d235
… in fuzzer (facebookincubator#3540) Summary: Pull Request resolved: facebookincubator#3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue facebookincubator#3533. Reviewed By: bikramSingh91 Differential Revision: D42116543 fbshipit-source-id: a37a0fa756242c471906d3aa6812b01613bbbb12
… in fuzzer (#3540) Summary: Pull Request resolved: #3540 The signatures of some functions contain type variables such as "T". When generating a random expression, fuzzer currently choose the top-level function only from function signatures that do not contain type variable. This is a limitation because sometimes we would like to test only a function that have type variables in its signature. This diff allows choosing function signatures that contain type variables as the top-level function. It also add an API ArgumentTypeFuzzer::fuzzReturnType() to return a concrete type that can bind to the formal return type of a function signature. This diff fixes the issue #3533. Reviewed By: bikramSingh91 Differential Revision: D42116543 fbshipit-source-id: 49a1c492dbb25c31ac3b9ceb2d2fb0087a032438
@kagamiori Wei, is this done now? |
I believe so. Closing this issue since it's fixed in #3540 |
Bug description
Expression fuzzer currently fails if --only flag lists only generic functions, e.g. --only map_keys
This prevents us from testing many functions in isolation.
CC: @kgpai @bikramSingh91 @kagamiori
System information
n/a
Relevant logs
The text was updated successfully, but these errors were encountered: