Skip to content

Flaky TransparentCompiler fuzzing test #18050

@majocha

Description

@majocha

Recently reenabled fuzzing test still needs some work:

[<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

No one assigned

    Type

    No type

    Projects

    Status

    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions