Consider using fuzzing to evaluate behaviour of equivalency checks in `reflect` package
bendbennett opened this issue · comments
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.