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

Consider using fuzzing to evaluate behaviour of equivalency checks in reflect package #943

Open
bendbennett opened this issue Mar 5, 2024 · 0 comments
Labels
enhancement New feature or request reflection Issues and PRs about the reflection subsystem used to convert between attr.Values and Go values. types Issues and pull requests about our types abstraction and implementations.

Comments

@bendbennett
Copy link
Contributor

Module version

v1.6.1

Use-cases

A bug relating to the handling of floating point values within the reflect package in terraform-plugin-framework was discovered as described in Convert to number error when storing a value in float64 during execution of provider-defined function. The bug was a consequence of the way in which equivalency of floating point values was being determined, coupled with the fact that the logic containing the bug within the reflect package was evaluated during the execution of provider-defined functions, which are a newly exposed feature.

Attempted Solutions

N/A

Proposal

It might be worth considering the introduction of fuzzing to explore whether execution of logic within the reflect package with a range of different values for varying types exposes any further bugs relating to equivalency checks, or related issues.

References

@bendbennett bendbennett added enhancement New feature or request types Issues and pull requests about our types abstraction and implementations. reflection Issues and PRs about the reflection subsystem used to convert between attr.Values and Go values. labels Mar 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request reflection Issues and PRs about the reflection subsystem used to convert between attr.Values and Go values. types Issues and pull requests about our types abstraction and implementations.
Projects
None yet
Development

No branches or pull requests

1 participant