Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
8e3f327
Add migration tracking documents for fsharpqa migration
T-Gro Jan 14, 2026
4434e00
Complete DIAG-ASYNC migration: add all 15 env.lst tests to async.fs
T-Gro Jan 14, 2026
e1cbf72
Migrate DIAG-NONTERM package: 36 tests from fsharpqa to ComponentTests
T-Gro Jan 14, 2026
e0393d8
Migrate DIAG-PARSINGEOF tests to ComponentTests
T-Gro Jan 14, 2026
3b730eb
Migrate first 25 tests from DIAG-GENERAL package
T-Gro Jan 14, 2026
f5cb7ef
Migrate W_redefineOperator03-10 tests from fsharpqa to ComponentTests
T-Gro Jan 15, 2026
c53919a
Migrate E_matrix and E_expression files to ComponentTests
T-Gro Jan 15, 2026
6ed4989
Migrate ObjectConstructor and DontWarn tests
T-Gro Jan 15, 2026
812cd20
Migrate argument/sealed/enumeration tests from fsharpqa
T-Gro Jan 15, 2026
e5e788a
Migrate property and constraint tests from fsharpqa to component tests
T-Gro Jan 15, 2026
2ca5403
Migrate incomplete/unexpected construct tests from DIAG-GENERAL
T-Gro Jan 15, 2026
5c9ea9a
Migrate override and quotation tests from fsharpqa
T-Gro Jan 15, 2026
405ad6e
Migrate redundant args and lowercase literal tests to ComponentTests
T-Gro Jan 15, 2026
57c1ca3
Document E_MissingSourceFile tests as migration blockers
T-Gro Jan 15, 2026
e77f6e6
Clean up fsharpqa Diagnostics/General folder
T-Gro Jan 15, 2026
c8ab928
Cleanup: Delete migrated Diagnostics folders
T-Gro Jan 15, 2026
be473f7
Update VISION.md with migration completion status
T-Gro Jan 15, 2026
db0d451
Migrate small fsc CompilerOptions folders from fsharpqa to ComponentT…
T-Gro Jan 15, 2026
e474dc8
Migrate noframework and nologo tests to ComponentTests
T-Gro Jan 15, 2026
9350215
Migrate flaterrors and optimize tests from fsharpqa to ComponentTests
T-Gro Jan 15, 2026
96e93a3
Migrate CompilerOptions/fsc lib, out, responsefile tests to Component…
T-Gro Jan 15, 2026
254fd3e
Migrate CompilerOptions/fsc platform and Removed tests to ComponentTests
T-Gro Jan 15, 2026
adecf17
Migrate pdb and subsystemversion tests from fsharpqa to ComponentTests
T-Gro Jan 15, 2026
7f6c54a
Fix pdb and subsystemversion test migrations with proper traits
T-Gro Jan 15, 2026
aa67f18
Migrate CompilerOptions/fsi/langversion and nologo tests
T-Gro Jan 16, 2026
ef9fd8b
Document FSI migration blockers for help, highentropyva, subsystemver…
T-Gro Jan 16, 2026
eb1873f
Document all 7 FSI migration blockers including --langversion:?
T-Gro Jan 16, 2026
74a34e2
Migrate Conformance/LexicalFiltering tests from fsharpqa to Component…
T-Gro Jan 16, 2026
8f744b9
Migrate Conformance/Signatures tests from FSharpQA to ComponentTests
T-Gro Jan 16, 2026
9964f87
Migrate Conformance/SpecialAttributesAndTypes tests from fsharpqa to …
T-Gro Jan 17, 2026
2324599
Migrate Conformance/DeclarationElements tests from fsharpqa to Compon…
T-Gro Jan 17, 2026
707bee9
Migrate Conformance/TypesAndTypeConstraints tests from fsharpqa
T-Gro Jan 17, 2026
874cd36
Migrate InferenceProcedures tests from fsharpqa to ComponentTests
T-Gro Jan 17, 2026
d1c564b
Migrate Conformance/ImplementationFilesAndSignatureFiles tests to Com…
T-Gro Jan 17, 2026
bc574d7
Migrate Conformance/LexicalAnalysis tests from fsharpqa to ComponentT…
T-Gro Jan 17, 2026
48b9785
Migrate ObjectOrientedTypeDefinitions tests to ComponentTests
T-Gro Jan 17, 2026
7b72d1f
Delete migrated fsharpqa folders for ObjectOrientedTypeDefinitions
T-Gro Jan 17, 2026
010583b
Update VISION.md with ObjectOrientedTypeDefinitions migration status
T-Gro Jan 17, 2026
b76d68c
Complete ObjectOrientedTypeDefinitions migration: delete unmigrateabl…
T-Gro Jan 17, 2026
7eb6814
Migrate Conformance/Expressions tests from fsharpqa to ComponentTests
T-Gro Jan 17, 2026
495ae70
Complete migration of Conformance/Expressions - add AddressOf and cle…
T-Gro Jan 17, 2026
aac9c9f
Skip Expressions tests that use out-of-support language versions
T-Gro Jan 17, 2026
2377157
Migrate TypeForwarding tests (partial): 10 C# interop tests
T-Gro Jan 17, 2026
fda8185
Migrate remaining fsharpqa tests: Libraries/NativeInterop and Misc
T-Gro Jan 17, 2026
98b5e0f
Delete remaining fsharpqa migration blockers (Libraries, Misc, Stress…
T-Gro Jan 17, 2026
01e3450
Migrate InteractiveSession tests (10 tests, ~97 blocked)
T-Gro Jan 17, 2026
646276c
Delete InteractiveSession fsharpqa folder (blockers documented in MIG…
T-Gro Jan 17, 2026
fcb3c03
Migrate Import tests from fsharpqa to ComponentTests
T-Gro Jan 17, 2026
3f5baa6
Final cleanup and verification of FSharpQA migration
T-Gro Jan 18, 2026
83b144e
Final cleanup: remove KnownFail.txt, empty fsc folder, update VISION.…
T-Gro Jan 18, 2026
6ec1d45
Migrate fsc/platform and fsc/flaterrors tests from fsharpqa to Compon…
T-Gro Jan 18, 2026
3fa04f2
Complete Perl removal: delete fsharpqa infrastructure and all Perl de…
T-Gro Jan 18, 2026
a57f559
Restore ExpressionQuotations/Baselines tests (63 files)
T-Gro Jan 18, 2026
cf2e48a
Restore ExpressionQuotations/Regressions tests (46 files)
T-Gro Jan 19, 2026
6cb78f1
Restore QueryExpressions test suite (41 files)
T-Gro Jan 19, 2026
04ad5e6
Restore TypeForwarding NegativeCases tests from fsharpqa migration
T-Gro Jan 19, 2026
7349ee6
Add tests for all 19 async diagnostic files
T-Gro Jan 19, 2026
dfc122a
Final cleanup: remove HostedCompilerServer from solution, update infr…
T-Gro Jan 19, 2026
2c43599
Add runFsiProcess and runFscProcess CLI subprocess helpers
T-Gro Jan 19, 2026
f11704c
Migrate 7 FSI CLI tests to ComponentTests
T-Gro Jan 19, 2026
8b9a367
Migrate E_MissingSourceFile CLI tests to ComponentTests
T-Gro Jan 19, 2026
0dafe18
Migrate FSIMODE=PIPE InteractiveSession tests (32 new tests)
T-Gro Jan 19, 2026
8bb1e4e
Add 32 additional FSIMODE=PIPE InteractiveSession tests
T-Gro Jan 19, 2026
ae1603b
Add fsi.CommandLineArgs tests and additional FSIMODE=PIPE tests (BLOC…
T-Gro Jan 19, 2026
5e810ba
Fix InteractiveSession tests: replace exit calls with failwith to pre…
T-Gro Jan 19, 2026
e5f1571
Migrate PRECMD dependency tests using withReferences pattern
T-Gro Jan 19, 2026
6fc3886
Add TypeForwarding tests to ComponentTests project file (29 tests now…
T-Gro Jan 19, 2026
ebed914
Update Sprint 5 verification status - PRECMD tests complete
T-Gro Jan 19, 2026
1ec0197
Add TypeForwardingHelpers module for runtime type forwarding tests
T-Gro Jan 19, 2026
7eff86b
Migrate TypeForwarding Class and Struct tests (73 tests)
T-Gro Jan 19, 2026
da9a250
Migrate TypeForwarding batch 2 (Interface, Delegate, Nested, Cycle) a…
T-Gro Jan 19, 2026
4d1406a
Update CONTEXT.md
T-Gro Jan 20, 2026
d0807f9
Stress tests, multitargeting tests and interactivessession tests migr…
T-Gro Jan 20, 2026
b4e1c44
remove ralph files
T-Gro Jan 20, 2026
84b10bf
Migrate optional type extension tests to ComponentTests
T-Gro Jan 21, 2026
c61cc22
Fix E_typeext_int002 and add optional type extension tests
T-Gro Jan 21, 2026
641742a
Migrate em_csharp_* tests from fsharpqa to ComponentTests
T-Gro Jan 21, 2026
1cf52b8
Migrate FamAndAssembly/FamOrAssembly accessibility tests
T-Gro Jan 21, 2026
ac1d122
Migrate 13 QMark operator tests from fsharpqa to ComponentTests
T-Gro Jan 21, 2026
ca08ab5
Fix IEEE float casing tests to ignore warnings
T-Gro Jan 21, 2026
de7aed3
Migrate OCaml-style comment tests to ComponentTests
T-Gro Jan 21, 2026
a49d95d
Update TASKLIST.md to reflect 100% migration completion
T-Gro Jan 21, 2026
d502ae3
Merge origin/main: resolve 26 conflicts - Delete env.lst files, versi…
T-Gro Jan 21, 2026
4a63b5b
Remove obsolete langversion 5.0/6.0 tests and migrate to 8.0
T-Gro Jan 21, 2026
3fac6f5
Delete garbage file from merge resolution
T-Gro Jan 21, 2026
0d4fd11
Sprint 3 verification: Conformance tests already migrated to LangVers…
T-Gro Jan 21, 2026
3d9ddf5
Migrate Conformance tests to langversion 8.0
T-Gro Jan 21, 2026
69c22b8
Migrate NONTERM tests to use default LangVersion (remove langversion:…
T-Gro Jan 21, 2026
0b843cb
Apply infrastructure changes from main
T-Gro Jan 21, 2026
12a3f7c
Remove migration tracking documents
T-Gro Jan 22, 2026
f564b27
Merge branch 'main' into fsharpqa_migration
T-Gro Jan 22, 2026
950dd2c
Merge branch 'main' into fsharpqa_migration
T-Gro Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ You can find all test options as separate flags. For example `build -testAll`:
-testDesktop Run tests against full .NET Framework
-testCoreClr Run tests against CoreCLR
-testFSharpCore Run FSharpCore unit tests
-testFSharpQA Run F# Cambridge tests
-testScripting Run Scripting tests
-testVs Run F# editor unit tests
```
Expand Down Expand Up @@ -230,7 +229,7 @@ Or if you are on Linux:
## Updating baselines in tests

Some tests use "baseline" (.bsl) files. There is sometimes a way to update these baselines en-masse in your local build,
useful when some change affects many baselines. For example, in the `fsharpqa` and `FSharp.Compiler.ComponentTests` tests the baselines
useful when some change affects many baselines. For example, in the `FSharp.Compiler.ComponentTests` tests the baselines
are updated using scripts or utilities that allow the following environment variable to be set:

Windows:
Expand Down
53 changes: 4 additions & 49 deletions TESTGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ build -testCompiler -c Release
build -testCompilerService -c Release
build -testCompilerComponentTests -c Release
build -testCambridge -c Release -ci -nobl
build -testFSharpQA -c Release -ci -nobl
build -testFSharpCore -c Release
build -testScripting -c Release
build -testVs -c Release
Expand All @@ -36,7 +35,6 @@ build -testAll -c Release
| testCoreClr | Linux/Mac/Windows | Runs all .NetStandard and .NETCore tests in 64 bit processes, this includes tests from other groups |
| testFSharpCore | Windows | Runs all test for FSharp.Core.dll |
| testCambridge | Windows | Runs the Cambridge suite tests |
| testFSharpQA | Windows | Runs the FSharpQA tests, requires Perl |
| testVS | Windows + VS | Runs all VS integration tests |
| testAOT | Windows | Run AOT/Trimming tests |
| testCompiler | Windows | Runs a few quick compiler tests |
Expand Down Expand Up @@ -68,7 +66,6 @@ build -testCoreClr -c Release

The following testsets open other windows and may interfere with you using your workstation, or change focus while you're doing something else:

* FSharpQA
* Cambridge

### Running tests online in CI
Expand All @@ -86,9 +83,8 @@ Finding the logs in the online CI results can be tricky, a small video can be fo

## Prerequisites

The prerequisites are the same as for building the `FSharp.sln`, plus, at a minimum:
The prerequisites are the same as for building the `FSharp.sln`, plus:

* An installation of Perl, required for running FSharpQA tests
* Run `git clean -xdf -e .vs` before running tests when:
* Making changes to the lexer or parser
* Between switching git branches
Expand All @@ -100,13 +96,11 @@ The F# tests are split as follows:

* [FSharp Suite](tests/fsharp) - Older suite with broad coverage of mainline compiler and runtime scenarios.

* [FSharpQA Suite](tests/fsharpqa/Source) - Broad and deep coverage of a variety of compiler, runtime, and syntax scenarios.

* [FSharp.Core.UnitTests](tests/FSharp.Core.UnitTests) - Validation of the core F# types and the public surface area of `FSharp.Core.dll`.

* [FSharp.Compiler.Service.Tests](tests/FSharp.Compiler.Service.Tests) - Validation of compiler internals.

* [FSharp.Compiler.ComponentTests](tests/FSharp.Compiler.ComponentTests) - Validation of compiler APIs.
* [FSharp.Compiler.ComponentTests](tests/FSharp.Compiler.ComponentTests) - Validation of compiler APIs and language conformance. This is the primary test suite for compiler functionality.

* [VisualFSharp.UnitTests](vsintegration/tests/unittests) - Validation of a wide range of behaviors in the F# Visual Studio project system and language service (including the legacy one).

Expand All @@ -125,39 +119,12 @@ If the compilation and execution encounter no errors, the test is considered to

There are also negative tests checking code expected to fail compilation. See note about baseline under "Other Tips" below for tests checking expectations against "baseline" (.bsl) files.

### FSharpQA Suite

The FSharpQA suite relies on [Perl](http://www.perl.org/get.html), StrawberryPerl package from https://strawberryperl.com.

These tests use the `RunAll.pl` framework to execute, however the easiest way to run them is via the `.\build` script, see [usage examples](#quick-start-running-tests).

Tests are grouped in folders per area. Each folder contains a number of source code files and a single `env.lst` file. The `env.lst` file defines a series of test cases, one per line.

Each test case runs an optional "pre command," compiles a given set of source files using given flags, optionally runs the resulting binary, then optionally runs a final "post command".

If all of these steps complete without issue, the test is considered to have passed.

Read more at [tests/fsharpqa/readme.md](tests/fsharpqa/readme.md).

#### Test lists

For the FSharpQA suite, the list of test areas and their associated "tags" is stored at

```shell
tests\fsharpqa\source\test.lst // FSharpQA suite
```

Tags are in the left column, paths to to corresponding test folders are in the right column. If no tags are specified, all tests will be run.

If you want to re-run a particular test area, the easiest way to do so is to set a temporary tag for that area in test.lst (e.g. "RERUN") and adjust `ttags` [run.fsharpqa.test.fsx script](tests/fsharpqa/run.fsharpqa.test.fsx) and run it.

### Logs and output

All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching

```shell
net40-fsharp-suite-*.*
net40-fsharpqa-suite-*.*
net40-compilerunit-suite-*.*
net40-coreunit-suite-*.*
vs-ideunit-suite-*.*
Expand Down Expand Up @@ -192,11 +159,7 @@ If you have the `VisualFSharp.sln` open, or if you recently debugged it through

### Finding the logs on CI

Finding the proper logs in the CI system can be daunting, this video shows you where to look once you have an open PR. It shows you how to get the `FsharpQA` logs, but the same method applies to getting any other test logs.

![b51e0ea3-e12b-4ee8-b26a-3b98c11dae33](https://user-images.githubusercontent.com/16015770/91355183-1a6ff900-e7ee-11ea-8fb4-e3627cc9b811.gif)

The console output of the CI runs do not contain output of the FSharpQA tests, but for most other tests the console output contains enough info and can be found by clicking <kbd>Raw output</kbd> in the CI window, or clicking <kbd>download logs</kbd>:
Finding the proper logs in the CI system can be daunting. The console output contains enough info for most tests and can be found by clicking <kbd>Raw output</kbd> in the CI window, or clicking <kbd>download logs</kbd>:

![download logs](https://user-images.githubusercontent.com/6309070/89307267-b9596900-d625-11ea-86e9-a1657ce2a368.png)

Expand Down Expand Up @@ -233,20 +196,13 @@ Some tests are known to fail on these older branches when run using one of the `
* Adding the `-norestore` flag to the commandline speeds up the build part a little bit.
* When using the `-ci` flag (mandatory for some testsets), adding the `-nobl` flag prevents creating the binary log files.

Some tests run in parallel by default, or use a hosted compiler to speed things up:

* The FSharp and FSharpQA suites will run test cases in parallel by default. You can comment out the relevant line (look for `PARALLEL_ARG`) to disable this.
* By default, tests from the FSharpQA suite are run using a persistent, hosted version of the compiler. This speeds up test execution, as there is no need for the `fsc.exe` process to spin up repeatedly. To disable this, uncomment the relevant line (look for `HOSTED_COMPILER`).

## Solving common errors

The following are common errors that users have encountered while running tests on their system.

### Error that a file cannot be accessed

The build often leaves dangling processes like `HostedCompilerServer.exe`, `VBCSCompiler.exe` or `MSBuild.exe`. In [Process Explorer](https://learn.microsoft.com/sysinternals/downloads/process-explorer) you can see these processes having no parent process anymore. You can also use this to kill such processes. A typical error looks like and contains the process IDs (here 23152, 25252 and 24704):

> C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4364,5): error MSB3026: Could not copy "D:\Projects\FSharp\artifacts\bin\FSharp.Core\Debug\net45\FSharp.Core.dll" to "D:\Projects\FSharp\tests\fsharpqa\testenv\bin\FSharp.Core.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'D:\Projects\FSharp\tests\fsharpqa\testenv\bin\FSharp.Core.dll' because it is being used by another process. The file is locked by: "HostedCompilerServer (23152), HostedCompilerServer (25252), HostedCompilerServer (24704)" [D:\Projects\OpenSource\FSharp\tests\fsharpqa\testenv\src\ILComparer\ILComparer.fsproj]
The build often leaves dangling processes like `VBCSCompiler.exe` or `MSBuild.exe`. In [Process Explorer](https://learn.microsoft.com/sysinternals/downloads/process-explorer) you can see these processes having no parent process anymore. You can also use this to kill such processes.

### StackOverflow exception

Expand All @@ -266,7 +222,6 @@ To get an idea of how long it may take, or how much coffee you'll need while wai
| `-testDesktop` | 5 min | ? |
| `-testCoreClr` | 36 min | ? |
| `-testCambridge` | 72 min | 35 min |
| `-testFSharpQA` | 13 min | ? |
| `-testCompiler` | 30 seconds | n/a |
| `-testFSharpCore` | 2 min | ? |
| `-testScripting` | 2 min | 1.5 min |
Expand Down
15 changes: 0 additions & 15 deletions VisualFSharp.sln
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TextFile", "vsintegration\I
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLFile", "vsintegration\ItemTemplates\XMLFile\XMLFile.csproj", "{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "HostedCompilerServer", "tests\fsharpqa\testenv\src\HostedCompilerServer\HostedCompilerServer.fsproj", "{4239EFEA-E746-446A-BF7A-51FCBAB13946}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FSharp.UIResources", "vsintegration\src\FSharp.UIResources\FSharp.UIResources.csproj", "{C4586A06-1402-48BC-8E35-A1B8642F895B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharp_Analysis", "tests\service\data\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}"
Expand Down Expand Up @@ -619,18 +617,6 @@ Global
{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6}.Release|Any CPU.Build.0 = Release|Any CPU
{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6}.Release|x86.ActiveCfg = Release|Any CPU
{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6}.Release|x86.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|x86.ActiveCfg = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|x86.Build.0 = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|Any CPU.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|Any CPU.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|x86.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|x86.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|Any CPU.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|x86.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|x86.Build.0 = Release|Any CPU
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|x86.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -1119,7 +1105,6 @@ Global
{E3FDD4AC-46B6-4B9F-B672-317D1202CC50} = {F6DAEE9A-8BE1-4C4A-BC83-09215517C7DA}
{D11FC318-8F5D-4C8C-9287-AB40A016D13C} = {F6DAEE9A-8BE1-4C4A-BC83-09215517C7DA}
{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6} = {F6DAEE9A-8BE1-4C4A-BC83-09215517C7DA}
{4239EFEA-E746-446A-BF7A-51FCBAB13946} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{C4586A06-1402-48BC-8E35-A1B8642F895B} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
{887630A3-4B1D-40EA-B8B3-2D842E9C40DB} = {35636A82-401A-4C3A-B2AB-EB7DC5E9C268}
{FF76BD3C-5E0A-4752-B6C3-044F6E15719B} = {35636A82-401A-4C3A-B2AB-EB7DC5E9C268}
Expand Down
7 changes: 1 addition & 6 deletions azure-pipelines-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -436,11 +436,6 @@ stages:
_configuration: Release
_testKind: testCoreclr
transparentCompiler: # Empty display name part.
fsharpqa_release:
_configuration: Release
_testKind: testFSharpQA
FSharp_CacheEvictionImmediate: true
transparentCompiler:
vs_release:
_configuration: Release
_testKind: testVs
Expand Down Expand Up @@ -481,7 +476,7 @@ stages:
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
continueOnError: true
condition: succeededOrFailed() # ne(variables['_testKind'], 'testFSharpQA')
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: Publish Tests BinLog
condition: always()
Expand Down
40 changes: 0 additions & 40 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ param (
[switch]$testCompilerService,
[switch]$testCompilerComponentTests,
[switch]$testFSharpCore,
[switch]$testFSharpQA,
[switch]$testIntegration,
[switch]$testScripting,
[switch]$testVs,
Expand Down Expand Up @@ -116,7 +115,6 @@ function Print-Usage() {
Write-Host " -testDesktop Run tests against full .NET Framework"
Write-Host " -testCoreClr Run tests against CoreCLR"
Write-Host " -testFSharpCore Run FSharpCore unit tests"
Write-Host " -testFSharpQA Run F# Cambridge tests"
Write-Host " -testIntegration Run F# integration tests"
Write-Host " -testScripting Run Scripting tests"
Write-Host " -testVs Run F# editor unit tests"
Expand Down Expand Up @@ -162,7 +160,6 @@ function Process-Arguments() {
if ($testAll) {
$script:testDesktop = $True
$script:testCoreClr = $True
$script:testFSharpQA = $True
$script:testIntegration = $True
$script:testVs = $True
$script:testAOT = $True
Expand All @@ -171,7 +168,6 @@ function Process-Arguments() {
if ($testAllButIntegration) {
$script:testDesktop = $True
$script:testCoreClr = $True
$script:testFSharpQA = $True
$script:testIntegration = $False
$script:testVs = $True
$script:testAOT = $True
Expand All @@ -180,7 +176,6 @@ function Process-Arguments() {
if($testAllButIntegrationAndAot) {
$script:testDesktop = $True
$script:testCoreClr = $True
$script:testFSharpQA = $True
$script:testIntegration = $False
$script:testVs = $True
$script:testEditor = $True
Expand All @@ -200,7 +195,6 @@ function Process-Arguments() {
$script:testDesktop = $False
$script:testCoreClr = $False
$script:testFSharpCore = $False
$script:testFSharpQA = $False
$script:testIntegration = $False
$script:testVs = $False
$script:testpack = $False
Expand Down Expand Up @@ -546,13 +540,6 @@ try {

$nativeTools = InitializeNativeTools

if (-not (Test-Path variable:NativeToolsOnMachine)) {
$env:PERL5Path = Join-Path $nativeTools "perl\5.38.2.2\perl\bin\perl.exe"
write-host "variable:NativeToolsOnMachine = unset or false"
$nativeTools
write-host "Path = $env:PERL5Path"
}

$dotnetPath = InitializeDotNetCli
$env:DOTNET_ROOT = "$dotnetPath"
Get-Item -Path Env:
Expand Down Expand Up @@ -609,33 +596,6 @@ try {
TestUsingMSBuild -testProject "$RepoRoot\FSharp.sln" -targetFramework $script:desktopTargetFramework
}

if ($testFSharpQA) {
Push-Location "$RepoRoot\tests\fsharpqa\source"
$nugetPackages = Get-PackagesDir
$resultsRoot = "$ArtifactsDir\TestResults\$configuration"
$resultsLog = "test-net40-fsharpqa-results.log"
$errorLog = "test-net40-fsharpqa-errors.log"
$failLog = "test-net40-fsharpqa-errors"
Create-Directory $resultsRoot
UpdatePath
$env:HOSTED_COMPILER = 1
$env:CSC_PIPE = "$nugetPackages\Microsoft.Net.Compilers\4.3.0-1.22220.8\tools\csc.exe"
$env:FSCOREDLLPATH = "$ArtifactsDir\bin\fsc\$configuration\$script:desktopTargetFramework\FSharp.Core.dll"
$env:LINK_EXE = "$RepoRoot\tests\fsharpqa\testenv\bin\link\link.exe"
$env:OSARCH = $env:PROCESSOR_ARCHITECTURE

if (-not (Test-Path variable:NativeToolsOnMachine)) {
Exec-Console $env:PERL5Path """$RepoRoot\tests\fsharpqa\testenv\bin\runall.pl"" -resultsroot ""$resultsRoot"" -results $resultsLog -log $errorLog -fail $failLog -cleanup:no -procs:$env:NUMBER_OF_PROCESSORS"
}
else
{
Exec-Console "perl.exe" """$RepoRoot\tests\fsharpqa\testenv\bin\runall.pl"" -resultsroot ""$resultsRoot"" -results $resultsLog -log $errorLog -fail $failLog -cleanup:no -procs:$env:NUMBER_OF_PROCESSORS"
}

write-host "Exec-Console finished"
Pop-Location
}

if ($testFSharpCore) {
TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:coreclrTargetFramework
TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework
Expand Down
3 changes: 0 additions & 3 deletions global.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
},
"xcopy-msbuild": "18.0.0"
},
"native-tools": {
"perl": "5.38.2.2"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26062.3",
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23255.2"
Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/Legacy/LegacyHostedCompilerForTesting.fs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.

// This component is used by the 'fsharpqa' tests for faster in-memory compilation. It should be removed and the
// This component is used for faster in-memory compilation in some tests. It should be removed and the
// proper compiler service API used instead.

namespace FSharp.Compiler.CodeAnalysis.Hosted
Expand Down
Loading
Loading