fuzz-lightyear icon indicating copy to clipboard operation
fuzz-lightyear copied to clipboard

Endpoint specific fixtures cannot be called by generic fixtures

Open tanx16 opened this issue 4 years ago • 0 comments

fuzz-lightyear has a test case,test_nested_endpoint_dependency_uses_default , which currently fails. We want to support this case in the future, but making this change is somewhat difficult. Here's the problem:

Consider the following:

  • A nested_dependency that is registered for generic endpoints, returning caller * 2
  • A caller that is registered for generic endpoints and new_opid, returning dependency + 1 and dependency + 2 respectively
  • A dependency registered for generic endpoints that returns 1.

Now, when we call nested_dependency with the new_opid endpoint, we get 4 instead of 6. This is because nested_dependency is generic, so when we call register_factory it doesn't call inject_user_defined_variables with the list of operation_ids, since there is no list. Fixing this issue will require us to pass in the endpoint called into the wrapped function, and selecting which caller to use at that time.

tanx16 avatar Oct 09 '20 18:10 tanx16