Skip to content

Commit a3bf3c9

Browse files
authored
Tests: Fix flaky AssemblyVersion tests (#18268)
1 parent c4d36d6 commit a3bf3c9

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

DEVGUIDE.md

+10
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,16 @@ or
243243
> Please note, that by default, **Release** version of IL baseline tests will be running in CI, so when updating baseline (.bsl) files, make sure to add `-c Release` flag to the build command.
244244
245245

246+
### Parallel execution of tests
247+
248+
Tests utilizing xUnit framework by default run in parallel. If your tests depend on some shared state or are time-critical, you can add the module to predefined `NotThreadSafeResourceCollection` to prevent parallel execution.
249+
For example:
250+
```fsharp
251+
[<Collection(nameof NotThreadSafeResourceCollection)>]
252+
module TimeCritical =
253+
```
254+
255+
246256
### Updating FCS surface area baselines
247257

248258
```bash

tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs

+17-15
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,23 @@ module CustomAttributes_AttributeUsage =
3434
|> verifyCompileAndRun
3535
|> shouldSucceed
3636

37-
// SOURCE=AssemblyVersion03.fs # AssemblyVersion03.fs
38-
[<Theory; Directory(__SOURCE_DIRECTORY__, Includes=[|"AssemblyVersion03.fs"|])>]
39-
let ``AssemblyVersion03_fs`` compilation =
40-
compilation
41-
|> withOptions ["--nowarn:52"]
42-
|> verifyCompileAndRun
43-
|> shouldSucceed
44-
45-
// SOURCE=AssemblyVersion04.fs # AssemblyVersion04.fs
46-
[<Theory; Directory(__SOURCE_DIRECTORY__, Includes=[|"AssemblyVersion04.fs"|])>]
47-
let ``AssemblyVersion04_fs`` compilation =
48-
compilation
49-
|> withOptions ["--nowarn:52"]
50-
|> verifyCompileAndRun
51-
|> shouldSucceed
37+
[<Collection(nameof NotThreadSafeResourceCollection)>]
38+
module TimeCritical =
39+
// SOURCE=AssemblyVersion03.fs # AssemblyVersion03.fs
40+
[<Theory; Directory(__SOURCE_DIRECTORY__, Includes=[|"AssemblyVersion03.fs"|])>]
41+
let ``AssemblyVersion03_fs`` compilation =
42+
compilation
43+
|> withOptions ["--nowarn:52"]
44+
|> verifyCompileAndRun
45+
|> shouldSucceed
46+
47+
// SOURCE=AssemblyVersion04.fs # AssemblyVersion04.fs
48+
[<Theory; Directory(__SOURCE_DIRECTORY__, Includes=[|"AssemblyVersion04.fs"|])>]
49+
let ``AssemblyVersion04_fs`` compilation =
50+
compilation
51+
|> withOptions ["--nowarn:52"]
52+
|> verifyCompileAndRun
53+
|> shouldSucceed
5254

5355
// SOURCE=AttributeTargetsIsCtor01.fs # AttributeTargetsIsCtor01.fs
5456
[<Theory; Directory(__SOURCE_DIRECTORY__, Includes=[|"AttributeTargetsIsCtor01.fs"|])>]

0 commit comments

Comments
 (0)