-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: BSON
-
Not Needed
Use Case
As a node engineer
I want to cover a wide array of possible inputs to the BSON serializer
So that I have confidence in its robustness and support for all shapes of inputs
Unknowns
- Can we use an existing tool / library?
- How will we determine correct output to check against if the input is random?
Acceptance Criteria
Implementation Requirements
- Add fuzz testing to the BSON library.
- It should:
- Generate random values (ex. strings, Binary, regexp, js numbers, BSON types like Long etc.)
- Generate random keys
- Arbitrarily nest objects, arrays, Maps (code with scope included)
- Determine a system for checking correct output
Follow Up Requirements
- Could this tool be reused by other drivers?