You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: TESTGUIDE.md
+11-5
Original file line number
Diff line number
Diff line change
@@ -11,8 +11,8 @@ The test cases for this suite reside under `tests\fsharp`. This suite dates back
11
11
The test cases for this suite reside under `tests\fsharpqa\source`.
12
12
This suite was first created when F# 2.0 was being added to Visual Studio 2010. Tests for this suite are driven by the "RunAll" framework, implemented in Perl. This suite is rather large and has broad and deep coverage of a variety of compiler, runtime, and syntax scenarios.
13
13
14
-
### Compiler and Library Core Unit Test Suite
15
-
The test cases for this suite reside next to the F# core library code, at `src\fsharp\FSharp.Core.Unittests`. This suite is a set of standard NUnit test cases, implemented in F#. This suite focuses on validation of the core F# types and the public surface area of `FSharp.Core.dll`.
14
+
### Compiler and Library Core Unit Test Suites
15
+
The test cases for these suites reside next to the F# core library code, at `src\fsharp\FSharp.Core.Unittests` and `src\fsharp\FSharp.Compiler.Unittests`. These suites are standard NUnit test cases, implemented in F#. The FSharp.Core.Unittests suite focuses on validation of the core F# types and the public surface area of `FSharp.Core.dll`, and the FSharp.Compiler.Unittests suite focuses on validation of compiler internals.
16
16
17
17
### Visual F# Tools IDE Unit Test Suite
18
18
The test cases for this suite reside next to the Visual F# Tools code, at `vsintegration\src\unittests`. This suite is a set of standard NUnit test cases, implemented in F#. This suite exercises a wide range of behaviors in the F# Visual Studio project system and language service.
@@ -39,6 +39,7 @@ The script `tests\RunTests.cmd` has been provided to make execution of the above
39
39
```
40
40
RunTests.cmd <debug|release> fsharp [tags to run] [tags not to run]
41
41
RunTests.cmd <debug|release> fsharpqa [tags to run] [tags not to run]
`RunTests.cmd` sets a handful of environment variables which allow for the tests to work, then puts together and executes the appropriate command line to start the specified test suite.
51
52
52
-
All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching `FSharp_*.*`, `FSharpQA_*.*`, `CoreUnit_*.*`, `IDEUnit_*.*`, e.g. `FSharpQA_Results.log` or `FSharp_Failures.log`.
53
+
All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching `FSharp_*.*`, `FSharpQA_*.*`, `CompilerUnit_*.*`, `CoreUnit_*.*`, `IDEUnit_*.*`, e.g. `FSharpQA_Results.log` or `FSharp_Failures.log`.
53
54
54
55
For the FSharp and FSharpQA suites, the list of test areas and their associated "tags" is stored at
55
56
@@ -94,9 +95,14 @@ Test area directories in this suite will contain a number of source code files a
94
95
Test cases will run an optional "pre command," compile some set of source files using some set of flags, optionally run the resulting binary, then optionally run a final "post command."
95
96
If all of these steps complete without issue, the test is considered to have passed.
96
97
97
-
### Core Unit Test Suite
98
+
### FSharp.Compiler and FSharp.Core Unit Test Suites
98
99
99
-
To build the unit test binary, call `msbuild fsharp-library-unittests-build.proj` from the `src` directory. Tests are contained in the binary `FSharp.Core.Unittests.dll`.
100
+
To build these unit test binaries, from the `src` directory call
101
+
102
+
-`msbuild fsharp-compiler-unittests-build.proj`
103
+
- Output binary is `FSharp.Compiler.Unittests.dll`
104
+
-`msbuild fsharp-library-unittests-build.proj`
105
+
- Output binary is `FSharp.Core.Unittests.dll`
100
106
101
107
You can execute and re-run these tests using any standard NUnit approach - via graphical `nunit.exe` or on the command line via `nunit-console.exe`.
<!-- Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
Copy file name to clipboardExpand all lines: src/fsharp/FSComp.txt
+5-1
Original file line number
Diff line number
Diff line change
@@ -1064,7 +1064,7 @@ lexHashEndingNoMatchingIf,"#endif has no matching #if"
1064
1064
1169,lexHashIfMustHaveIdent,"#if directive should be immediately followed by an identifier"
1065
1065
1170,lexWrongNestedHashEndif,"Syntax error. Wrong nested #endif, unexpected tokens before it."
1066
1066
lexHashBangMustBeFirstInFile,"#! may only appear as the first line at the start of a file."
1067
-
1171,lexExpectedSingleLineComment,"Expected single line comment or end of line"
1067
+
1171,pplexExpectedSingleLineComment,"Expected single line comment or end of line"
1068
1068
1172,memberOperatorDefinitionWithNoArguments,"Infix operator member '%s' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
1069
1069
1173,memberOperatorDefinitionWithNonPairArgument,"Infix operator member '%s' has %d initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
1070
1070
1174,memberOperatorDefinitionWithCurriedArguments,"Infix operator member '%s' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
3180,abImplicitHeapAllocation,"The mutable local '%s' is implicitly allocated as a reference cell because it has been captured by a closure. This warning is for informational purposes only to indicate where implicit allocations are performed."
1337
1337
estApplyStaticArgumentsForMethodNotImplemented,"A type provider implemented GetStaticParametersForMethod, but ApplyStaticArgumentsForMethod was not implemented or invalid"
1338
1338
3181,etErrorApplyingStaticArgumentsToMethod,"An error occured applying the static arguments to a provided method"
1339
+
3182,pplexUnexpectedChar,"Unexpected character '%s' in preprocessor expression"
1340
+
3183,ppparsUnexpectedToken,"Unexpected token '%s' in preprocessor expression"
<!-- Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
0 commit comments