Summary
Update the flagd-testbed dependency to v3.6.0 and fix the Go in-process evaluator to pass all new edge-case tests.
Testbed v3.6.0 adds coverage for the edge cases identified in:
Bugs to fix
- sem_ver returns
false on parse failure instead of null; should return nil to trigger default variant fallback, not take the false branch
- sem_ver returns
false on unknown operator instead of null; same issue as above
Custom operator error returns (#1874)
ends_with returns false on error while starts_with returns nil; both should return nil consistently
fractional returns "" (empty string) on no-bucket-match; should return nil to trigger default variant fallback instead of causing a variant lookup failure
$evaluators/$ref resolution (#1875)
- Non-deterministic
$evaluators replacement ordering due to Go map iteration randomization; should use sorted or deterministic iteration
- No diagnostic feedback on unresolved
$refs at parse time; misconfiguration only discovered at evaluation time with confusing error about unknown $ref operator
Parent: #1904
Summary
Update the flagd-testbed dependency to v3.6.0 and fix the Go in-process evaluator to pass all new edge-case tests.
Testbed v3.6.0 adds coverage for the edge cases identified in:
Bugs to fix
sem_ver (#1873)
falseon parse failure instead ofnull; should returnnilto trigger default variant fallback, not take the false branchfalseon unknown operator instead ofnull; same issue as aboveCustom operator error returns (#1874)
ends_withreturnsfalseon error whilestarts_withreturnsnil; both should returnnilconsistentlyfractionalreturns""(empty string) on no-bucket-match; should returnnilto trigger default variant fallback instead of causing a variant lookup failure$evaluators/$ref resolution (#1875)
$evaluatorsreplacement ordering due to Gomapiteration randomization; should use sorted or deterministic iteration$refs at parse time; misconfiguration only discovered at evaluation time with confusing error about unknown$refoperatorParent: #1904