hashicorp / hashicorp/terraform-plugin-framework

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

Open
#943 0 comments 0 reactions 0 assignees View on GitHub
enhancement reflection types
Dominant language
Go
Stars
384
Forks
107
Avg merge
3m
Merged PRs (30d)
1

Description

### 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](https://github.com/hashicorp/terraform-plugin-framework/issues/914#top). 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

- #914
- #919
- hashicorp/terraform-provider-corner#210

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.