-
Notifications
You must be signed in to change notification settings - Fork 844
Open
Labels
Milestone
Description
Recently reenabled fuzzing test still needs some work:
fsharp/tests/FSharp.Compiler.ComponentTests/FSharpChecker/TransparentCompiler.fs
Lines 603 to 607 in 373fb23
| [<Theory>] | |
| [<InlineData(SignatureFiles.Yes)>] | |
| [<InlineData(SignatureFiles.No)>] | |
| [<InlineData(SignatureFiles.Some)>] | |
| let Fuzzing signatureFiles = |
It is sporadically failing in CI.
It takes a lot of iterations locally to trip it, but it is possible to repro.
A good way to get a repro locally, (and to stress test a selected test case in general) is to define a xUnit attrbute like this
type RepeatAttribute(count, [<ParamArray>] args: obj array) =
inherit DataAttribute()
override _.GetData _ = Seq.init count (fun i -> [| yield! args; i |])and apply it like this:
[<Theory>]
[<Repeat(100, SignatureFiles.Yes)>]
[<Repeat(100, SignatureFiles.No)>]
[<Repeat(100, SignatureFiles.Some)>]
let Fuzzing signatureFiles _ =Running the theory in parallel it can be repro'd in around 100 iterations.
Out of curiosity I tried to run this test with useTransparentCompiler = false and it also fails from time to time. It is possible that it reveals some concurrency issue unrelated to TransparentCompiler.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
New