Support floating point differences between .NET Framework and Core
See original GitHub issueTangentially related to #27688 we might consider some solution to use separate recordings for .NET Framework and .NET (Core) in cases e.g., floats are serialized differently. Pavel and I had looked into other solutions including what a .NET team themselves was doing, but the only viable solution (without refactoring a bunch of production code) wasn’t exactly rock solid (JSON decoder that heuristically assumes a certain rounding and precision of floats). @m-nash had an idea to use separate files, though.
As one idea, we could add a property to RecordedTestBase
to support this somehow. Most simplistically is just a bool to pivot on .NET Framework vs. .NET but perhaps we can go a little further and support other pivots. What we would ideally have to figure out is how to handle which platforms need to record tests. Currently, I believe this is done manually by the SDK dev. For example, when I re-record tests I only do so for the latest target e.g., net6.0. Using the pivot, could we just let SDK devs run all (in record mode) and figure out for which platforms we actually need to run / record?
Issue Analytics
- State:
- Created a year ago
- Comments:20 (20 by maintainers)
Top GitHub Comments
Mitigated sure, but I don’t think it means we should record all targets by default. We could have an attribute that can be applied as needed.
That said, this wasn’t even about parallelism. Floating point de/serialization differs across .NET Framework and .NET nee, “Core”. Recording separate files was one way, but I probably shouldn’t have made the title suggest it was the only way.