diff --git a/tests/fsharp/Commands.fs b/tests/fsharp/Commands.fs
index 0b39e7af2d8..bf82ae9b39d 100644
--- a/tests/fsharp/Commands.fs
+++ b/tests/fsharp/Commands.fs
@@ -101,6 +101,10 @@ let msbuild exec msbuildExe flags srcFiles =
let resgen exec resgenExe flags sources =
exec resgenExe (sprintf "%s %s" flags (sources |> Seq.ofList |> String.concat " "))
+// %LINK_EXE% /dump /headers %AssemblyPath%
+let link exec linkExe flags sources =
+ exec linkExe (sprintf "%s %s" flags (sources |> Seq.ofList |> String.concat " "))
+
let internal quotepath (p: FilePath) =
let quote = '"'.ToString()
if p.Contains(" ")
diff --git a/tests/fsharpqa/Source/.gitignore b/tests/fsharpqa/Source/.gitignore
index d9a2cd109b0..7c3ce3a6482 100644
--- a/tests/fsharpqa/Source/.gitignore
+++ b/tests/fsharpqa/Source/.gitignore
@@ -3,3 +3,23 @@
*.exe
*.dll
*.pdb
+*.il
+
+# test specific
+
+EntryPoint/E_CompilingToAModule01.netmodule
+
+XmlDoc/Basic/xmlDoc00*.xml
+XmlDoc/Basic/XMLDocOnEnum01.xml
+XmlDoc/OCamlDoc/ocamldoc001.xml
+
+Conformance/LexicalAnalysis/IdentifiersAndKeywords/test.ok
+
+Conformance/Signatures/SignatureConformance/InternalAccessibility02.fsi
+
+Stress/2766.fs
+Stress/SeqExprCapacity.fs
+
+CompilerOptions/fsc/subsystemversion/dummy.netmodule
+
+CompilerOptions/fsi/help/help.txt
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyAlgorithmId/AssemblyAlgorithmId_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyAlgorithmId/AssemblyAlgorithmId_001.fs
index d7f37d152cc..ec764831447 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyAlgorithmId/AssemblyAlgorithmId_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyAlgorithmId/AssemblyAlgorithmId_001.fs
@@ -2,7 +2,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyAlgorithmId
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCompany/AssemblyCompany_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCompany/AssemblyCompany_001.fs
index 918cccc2b68..38550cb9e9d 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCompany/AssemblyCompany_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCompany/AssemblyCompany_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyCompany
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyConfiguration/AssemblyConfiguration_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyConfiguration/AssemblyConfiguration_001.fs
index f159e63c11e..66257e21647 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyConfiguration/AssemblyConfiguration_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyConfiguration/AssemblyConfiguration_001.fs
@@ -2,7 +2,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyConfiguration
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCopyright/AssemblyCopyright_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCopyright/AssemblyCopyright_001.fs
index b19fe0c9783..d5bf3b71587 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCopyright/AssemblyCopyright_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyCopyright/AssemblyCopyright_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyCopyright
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyDescription/AssemblyDescription_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyDescription/AssemblyDescription_001.fs
index 2a586e348c5..293ab4ad11a 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyDescription/AssemblyDescription_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyDescription/AssemblyDescription_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyDescription
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyFileVersion/AssemblyFileVersion_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyFileVersion/AssemblyFileVersion_001.fs
index b507a18bd16..3b27e3a86df 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyFileVersion/AssemblyFileVersion_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyFileVersion/AssemblyFileVersion_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyFileVersion
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyInformationalVersion/AssemblyInformationalVersion_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyInformationalVersion/AssemblyInformationalVersion_001.fs
index 45653540755..d5a58722193 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyInformationalVersion/AssemblyInformationalVersion_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyInformationalVersion/AssemblyInformationalVersion_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyInformationalVersion
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyProduct/AssemblyProduct_001.txt b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyProduct/AssemblyProduct_001.txt
index c84d376ae2a..89108e894fa 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyProduct/AssemblyProduct_001.txt
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyProduct/AssemblyProduct_001.txt
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyProduct
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTitle/AssemblyTitle_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTitle/AssemblyTitle_001.fs
index 4df4d7003be..01339cfcdb3 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTitle/AssemblyTitle_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTitle/AssemblyTitle_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyTitle
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTrademark/AssemblyTrademark_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTrademark/AssemblyTrademark_001.fs
index 5942474dfd8..45fd7e6205e 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTrademark/AssemblyTrademark_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyTrademark/AssemblyTrademark_001.fs
@@ -1,7 +1,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyTrademark
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyVersion/AssemblyVersion_001.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyVersion/AssemblyVersion_001.fs
index 733384b1098..c855f442c20 100644
--- a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyVersion/AssemblyVersion_001.fs
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/AssemblyVersion/AssemblyVersion_001.fs
@@ -2,7 +2,7 @@
// AssemblyAttributes
// See FSHARP1.0:832,1674,1675 and 2290
// Attribute under test: AssemblyVersion
-//
+//
#light
diff --git a/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/test_ClrFx_PseudoCustomAttributes.fs b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/test_ClrFx_PseudoCustomAttributes.fs
new file mode 100644
index 00000000000..e6b067d7ad8
--- /dev/null
+++ b/tests/fsharpqa/Source/ClrFx/PseudoCustomAttributes/test_ClrFx_PseudoCustomAttributes.fs
@@ -0,0 +1,107 @@
+module ``FSharpQA-Tests-ClrFx-PseudoCustomAttributes``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module AssemblyAlgorithmId =
+
+ []
+ let AssemblyAlgorithmId () = runpl |> check
+
+
+module AssemblyCompany =
+
+ []
+ let AssemblyCompany () = runpl |> check
+
+module AssemblyConfiguration =
+
+ []
+ let AssemblyConfiguration () = runpl |> check
+
+
+module AssemblyCopyright =
+
+ []
+ let AssemblyCopyright () = runpl |> check
+
+
+module AssemblyDescription =
+
+ []
+ let AssemblyDescription () = runpl |> check
+
+
+module AssemblyFileVersion =
+
+ []
+ let AssemblyFileVersion () = runpl |> check
+
+
+module AssemblyInformationalVersion =
+
+ []
+ let AssemblyInformationalVersion () = runpl |> check
+
+
+module AssemblyProduct =
+
+ []
+ let AssemblyProduct () = runpl |> check
+
+
+module AssemblyTitle =
+
+ []
+ let AssemblyTitle () = runpl |> check
+
+
+module AssemblyTrademark =
+
+ []
+ let AssemblyTrademark () = runpl |> check
+
+
+module AssemblyVersion =
+
+ []
+ let AssemblyVersion () = runpl |> check
+
+
+module NYI_AssemblyCulture =
+
+ []
+ let NYI_AssemblyCulture () = runpl |> check
+
+
+module NYI_AssemblyDefaultAlias =
+
+ []
+ let NYI_AssemblyDefaultAlias () = runpl |> check
+
+
+module NYI_AssemblyDelaySign =
+
+ []
+ let NYI_AssemblyDelaySign () = runpl |> check
+
+
+module NYI_AssemblyFlags =
+
+ []
+ let NYI_AssemblyFlags () = runpl |> check
+
+
+module NYI_AssemblyKeyFile =
+
+ []
+ let NYI_AssemblyKeyFile () = runpl |> check
+
+
+module NYI_AssemblyKeyName =
+
+ []
+ let NYI_AssemblyKeyName () = runpl |> check
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/ModuleWithExpression01.fs b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/ModuleWithExpression01.fs
index 97f178a786f..d9dfb9ac86f 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/ModuleWithExpression01.fs
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/ModuleWithExpression01.fs
@@ -1,7 +1,7 @@
// #Regression #NoMono #NoMT #CodeGen #EmittedIL
// Regression test for FSHARP1.0:2644 (a module may start with an expression)
// Verify that we can compile a module with an expression in it
-//
+//
#light
module M =
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/test_codegen_emittedil.fs b/tests/fsharpqa/Source/CodeGen/EmittedIL/test_codegen_emittedil.fs
new file mode 100644
index 00000000000..41f9f403b4a
--- /dev/null
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/test_codegen_emittedil.fs
@@ -0,0 +1,120 @@
+module ``FSharpQA-Tests-CodeGen-EmittedIL``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module AsyncExpressionStepping =
+
+ []
+ let AsyncExpressionStepping () = runpl |> check
+
+module AttributeTargets =
+
+ []
+ let AttributeTargets () = runpl |> check
+
+module CCtorDUWithMember =
+
+ []
+ let CCtorDUWithMember () = runpl |> check
+
+module CompiledNameAttribute =
+
+ []
+ let CompiledNameAttribute () = runpl |> check
+
+module ComputationExpressions =
+
+ []
+ let ComputationExpressions () = runpl |> check
+
+module DoNotBoxStruct =
+
+ []
+ let DoNotBoxStruct () = runpl |> check
+
+module GeneratedIterators =
+
+ []
+ let GeneratedIterators () = runpl |> check
+
+module InequalityComparison =
+
+ []
+ let InequalityComparison () = runpl |> check
+
+module ListExpressionStepping =
+
+ []
+ let ListExpressionStepping () = runpl |> check
+
+module MethodImplAttribute =
+
+ []
+ let MethodImplAttribute () = runpl |> check
+
+module Misc =
+
+ []
+ let Misc () = runpl |> check
+
+module Mutation =
+
+ []
+ let Mutation () = runpl |> check
+
+module Operators =
+
+ []
+ let Operators () = runpl |> check
+
+module QueryExpressionStepping =
+
+ []
+ let QueryExpressionStepping () = runpl |> check
+
+module SeqExpressionStepping =
+
+ []
+ let SeqExpressionStepping () = runpl |> check
+
+module SeqExpressionTailCalls =
+
+ []
+ let SeqExpressionTailCalls () = runpl |> check
+
+module SerializableAttribute =
+
+ []
+ let SerializableAttribute () = runpl |> check
+
+module StaticInit =
+
+ []
+ let StaticInit () = runpl |> check
+
+module SteppingMatch =
+
+ []
+ let SteppingMatch () = runpl |> check
+
+
+
+module TailCalls =
+
+ []
+ let TailCalls () = runpl |> check
+
+module TestFunctions =
+
+ []
+ let TestFunctions () = runpl |> check
+
+module Tuples =
+
+ []
+ let Tuples () = runpl |> check
+
diff --git a/tests/fsharpqa/Source/CodeGen/Structure/env.lst b/tests/fsharpqa/Source/CodeGen/Structure/env.lst
index f7531107d77..86190b90052 100644
--- a/tests/fsharpqa/Source/CodeGen/Structure/env.lst
+++ b/tests/fsharpqa/Source/CodeGen/Structure/env.lst
@@ -40,8 +40,8 @@
SOURCE=LocalTypeFunctionInIf.fs # LocalTypeFunctionInIf.fs
- REM DoNotInlineX.fs is a driver for the tests that follow
- REM The command line args are explained in the source file
+# DoNotInlineX.fs is a driver for the tests that follow
+# The command line args are explained in the source file
SOURCE=DoNotInlineX.fs # DoNotInlineX.fs
SOURCE=dummy.fs POSTCMD="DoNotInlineX.exe PASS1 BASE_CALL 2 3" # DoNotInlineBaseCalls.fs
SOURCE=dummy.fs POSTCMD="DoNotInlineX.exe PASS1 CAS 10 11" # DoNotInlineCASMethods.fs
diff --git a/tests/fsharpqa/Source/CodeGen/test_CodeGen.fs b/tests/fsharpqa/Source/CodeGen/test_CodeGen.fs
new file mode 100644
index 00000000000..be122797b15
--- /dev/null
+++ b/tests/fsharpqa/Source/CodeGen/test_CodeGen.fs
@@ -0,0 +1,17 @@
+module ``FSharpQA-Tests-CodeGen``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+module StringEncoding =
+
+ []
+ let StringEncoding () = runpl |> check
+
+module Structure =
+
+ []
+ let Structure () = runpl |> check
+
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Functional01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Functional01.fs
index 1d7f197fe2a..382cf1b56a5 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Functional01.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Functional01.fs
@@ -3,7 +3,7 @@
// - The same source file (FunctionalLibrary01.fs) is compile twice, with different --codepage options
// - The library file is designed so that it gets compiled to slightly different assemblies
// - This file references both assemblies and should compile without problems
-//
+//
#light
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/MatchingCodePage01.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/MatchingCodePage01.fsx
index eb417415555..d4ca66733d4 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/MatchingCodePage01.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/MatchingCodePage01.fsx
@@ -1,4 +1,4 @@
// #NoMT #CompilerOptions
#load "FunctionalLibrary01.fs";;
#q;;
-//
+//
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Zero.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Zero.fs
index fb1d506c8e8..55e151c551b 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Zero.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/codepage/Zero.fs
@@ -1,7 +1,7 @@
// #NoMT #CompilerOptions
// --codepage 0
// It does not mean much to me...
-//
+//
#light
let x = "a"
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx
index 89fa5e5b152..5e3eab73683 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx
@@ -71,7 +71,7 @@
//section='NoSection ' ! option=splitting kind=OptionSwitch
//section='NoSection ' ! option=versionfile kind=OptionString
//section='NoSection ' ! option=times kind=OptionUnit
-//section='NoSection ' ! option=showextensionresolution kind=OptionUnit
+//section='NoSection ' ! option=showextensionresolution kind=OptionUnit
//section='NoSection ' ! option=metadataversion kind=OptionString
//section='NoSection ' ! option=d kind=OptionString
//section='NoSection ' ! option=O kind=OptionSwitch
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/highentropyva/CheckHighEntropyASLR.bat.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/highentropyva/CheckHighEntropyASLR.bat.fs
new file mode 100644
index 00000000000..50889408595
--- /dev/null
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/highentropyva/CheckHighEntropyASLR.bat.fs
@@ -0,0 +1,60 @@
+module CheckHighEntropyASLR
+
+open NUnit.Framework
+
+open NUnitConf
+open PlatformHelpers
+open System.IO
+
+let run cwd envVars assemblyToCheck = attempt {
+
+ let env key = envVars |> Map.tryFind key
+ let envOrDefault key def = env key |> Option.fold (fun s t -> t) def
+
+ let fileExists = Commands.fileExists cwd
+
+ let execOutToString p args = attempt {
+ let tempFile = Path.GetTempFileName()
+ do! Command.exec cwd envVars { Output = Output(Overwrite(tempFile)); Input = None } p args
+ |> checkResult
+ return File.ReadAllText(tempFile)
+ }
+
+ // @echo off
+ ignore "unused"
+
+ // REM Search for the Linker
+ // REM Use VS2015 or fall back to VS2014
+ let! linkExe = attempt {
+ // SET LINK_EXE="%VS150COMNTOOLS%\..\..\VC\bin\link.exe"
+ // IF NOT EXIST %LINK_EXE% ( SET LINK_EXE="%VS140COMNTOOLS%..\..\VC\bin\link.exe" )
+ // IF NOT EXIST %LINK_EXE% (
+ // @echo "Test Requires LINK.EXE" --- Not found
+ // @echo "When installing VS please select "Select Visual C++ / Common Tools For Visual C++"
+ // )
+
+ let linkOpt =
+ [ "VS150COMNTOOLS"; "VS140COMNTOOLS" ]
+ |> List.choose env
+ |> List.map (sprintf @"%s\..\..\VC\bin\link.exe")
+ |> List.tryPick fileExists
+ return! match linkOpt with
+ | Some path -> succeed path
+ | None -> NUnitConf.genericError (
+ "Test Requires LINK.EXE, --- Not found" + System.Environment.NewLine +
+ "When installing VS please select \"Select Visual C++ / Common Tools For Visual C++\"" )
+ }
+
+ //REM %LINK_EXE% -- Path to link.exe
+ //REM %1 -- assembly to check
+ ignore "from arguments"
+ //REM %2 -- expected value ("yes" or "no")
+ ignore "ignored, now the function return a bool"
+
+ //%LINK_EXE% /dump /headers %1 | find "High Entropy Virtual Addresses" > NUL
+ //IF /I "%2"=="yes" IF ERRORLEVEL 1 EXIT /B 1
+ //IF /I "%2"=="no" IF NOT ERRORLEVEL 1 EXIT /B 1
+ let! link = Commands.link execOutToString linkExe "/dump /headers" [ assemblyToCheck ]
+ return link.Contains("High Entropy Virtual Addresses")
+
+ }
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/dummy.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/dummy.fs
index 069fcced085..0c54525d639 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/dummy.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/dummy.fs
@@ -1,3 +1,3 @@
// #NoMT #CompilerOptions
-//
+//
exit 0
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error08.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error08.fs
index ec82ca7463a..ba3b9d7288a 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error08.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error08.fs
@@ -1,3 +1,3 @@
// #Regression #NoMT #CompilerOptions
-//--lib:
+//--lib:
exit 0
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error09.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error09.fs
index ec82ca7463a..ba3b9d7288a 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error09.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/lib/error09.fs
@@ -1,3 +1,3 @@
// #Regression #NoMT #CompilerOptions
-//--lib:
+//--lib:
exit 0
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/out/dummy.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/out/dummy.fs
index 069fcced085..0c54525d639 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/out/dummy.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/out/dummy.fs
@@ -1,3 +1,3 @@
// #NoMT #CompilerOptions
-//
+//
exit 0
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile01.fs
index f6b04c2c5ef..4359bc00092 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile01.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile01.fs
@@ -1,5 +1,5 @@
// #NoMT #CompilerOptions
-//
+//
[]
let main args =
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile02.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile02.fs
index 13e56008605..a7ea6871f67 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile02.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/responsefile/responsefile02.fs
@@ -1,5 +1,5 @@
// #NoMT #CompilerOptions
-//
+//
[]
let main args =
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/simpleresolution/simpleres_02.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/simpleresolution/simpleres_02.fs
index a8e2f22d2c0..5acad376be1 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/simpleresolution/simpleres_02.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/simpleresolution/simpleres_02.fs
@@ -1,7 +1,7 @@
// Regression test for FSharp1.0:4849
// Title: Promote "-simpleresolution" to a documented compiler switch
-//mscorlib
-//FSharp.Core
+//mscorlib
+//FSharp.Core
exit 0
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/subsystemversion/CheckSubsystemVersion.bat.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/subsystemversion/CheckSubsystemVersion.bat.fs
new file mode 100644
index 00000000000..0dfda8dafa9
--- /dev/null
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/subsystemversion/CheckSubsystemVersion.bat.fs
@@ -0,0 +1,59 @@
+module CheckSubsystemVersion
+
+open NUnit.Framework
+
+open NUnitConf
+open PlatformHelpers
+open System.IO
+
+let run cwd envVars assemblyToCheck expectedValue = attempt {
+
+ let env key = envVars |> Map.tryFind key
+ let envOrDefault key def = env key |> Option.fold (fun s t -> t) def
+
+ let fileExists = Commands.fileExists cwd
+
+ let execOutToString p args = attempt {
+ let tempFile = Path.GetTempFileName()
+ do! Command.exec cwd envVars { Output = Output(Overwrite(tempFile)); Input = None } p args
+ |> checkResult
+ return File.ReadAllText(tempFile)
+ }
+
+ // @echo off
+ ignore "unused"
+
+ // REM Search for the Linker
+ // REM Use VS2015 or fall back to VS2014
+ let! linkExe = attempt {
+ // SET LINK_EXE="%VS150COMNTOOLS%\..\..\VC\bin\link.exe"
+ // IF NOT EXIST %LINK_EXE% ( SET LINK_EXE="%VS140COMNTOOLS%..\..\VC\bin\link.exe" )
+ // IF NOT EXIST %LINK_EXE% (
+ // @echo "Test Requires LINK.EXE" --- Not found
+ // @echo "When installing VS please select "Select Visual C++ / Common Tools For Visual C++"
+ // )
+
+ let linkOpt =
+ [ "VS150COMNTOOLS"; "VS140COMNTOOLS" ]
+ |> List.choose env
+ |> List.map (sprintf @"%s\..\..\VC\bin\link.exe")
+ |> List.tryPick fileExists
+ return! match linkOpt with
+ | Some path -> succeed path
+ | None -> NUnitConf.genericError (
+ "Test Requires LINK.EXE, --- Not found" + System.Environment.NewLine +
+ "When installing VS please select \"Select Visual C++ / Common Tools For Visual C++\"" )
+ }
+
+ // REM %LINK_EXE% -- Path to link.exe
+ // REM %1 -- assembly to check
+ // REM %2 -- expected value ("4.00" etc...)
+ ignore "from arguments"
+
+ // %LINK_EXE% /dump /headers %1 | find "%2 subsystem version" > NUL
+ // IF ERRORLEVEL 1 EXIT /B 1
+ // EXIT /B 0
+ let! link = Commands.link execOutToString linkExe "/dump /headers" [ assemblyToCheck ]
+ StringAssert.Contains((sprintf "%s subsystem version" expectedValue), link)
+
+ }
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/test_CompilerOptions_fsc.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/test_CompilerOptions_fsc.fs
new file mode 100644
index 00000000000..3a0a25605ca
--- /dev/null
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/test_CompilerOptions_fsc.fs
@@ -0,0 +1,238 @@
+module ``FSharpQA-Tests-CompilerOptions-fsc``
+
+open NUnit.Framework
+
+open NUnitConf
+open PlatformHelpers
+open RunPlTest
+
+module Removed =
+
+ []
+ let Removed () = runpl |> check
+
+module Checked =
+
+ []
+ let Checked () = runpl |> check
+
+module cliversion =
+
+ []
+ let cliversion () = runpl |> check
+
+module codepage =
+
+ []
+ let codepage () = runpl |> check
+
+module crossoptimize =
+
+ []
+ let crossoptimize () = runpl |> check
+
+module debug =
+
+ []
+ let debug () = runpl |> check
+
+module dumpAllCommandLineOptions =
+
+ []
+ let dumpAllCommandLineOptions () = runpl |> check
+
+module flaterrors =
+
+ []
+ let flaterrors () = runpl |> check
+
+module gccerrors =
+
+ []
+ let gccerrors () = runpl |> check
+
+module help =
+
+ []
+ let help () = runpl |> check
+
+module highentropyva =
+
+ []
+ let highentropyva () = check(attempt {
+ let checkHighEntropyASLR assemblyToCheck (expectedValue: bool) workDir (cfg: RunPl.RunPlConfig) = attempt {
+ let! f = CheckHighEntropyASLR.run workDir cfg.envVars assemblyToCheck
+ Assert.AreEqual(expectedValue, f)
+ }
+
+ let cmds cmd =
+ match cmd with
+ | "CheckHighEntropyASLR.bat dummy.exe yes" ->
+ Some (checkHighEntropyASLR "dummy.exe" true)
+ | "CheckHighEntropyASLR.bat dummy.exe no" ->
+ Some (checkHighEntropyASLR "dummy.exe" false)
+ | _ -> None
+
+ do! runplWithCmdsOverride cmds
+
+ })
+
+module invalid =
+
+ []
+ let invalid () = runpl |> check
+
+module lib =
+
+ []
+ let lib () = runpl |> check
+
+module noframework =
+
+ []
+ let noframework () = runpl |> check
+
+module nologo =
+
+ []
+ let nologo () = runpl |> check
+
+module Optimize =
+
+ []
+ let Optimize () = runpl |> check
+
+module out =
+
+ []
+ let out () = runpl |> check
+
+module pdb =
+
+ []
+ let pdb () = check(attempt {
+
+ let ``IF EXIST {file} DEL {file}`` fileName workDir envVars = attempt {
+ let fileExists = Commands.fileExists workDir >> Option.isSome
+ let del = Commands.rm workDir
+
+ if fileExists fileName then del fileName
+ }
+
+ let ``IF EXIST {file} EXIT 1`` fileName workDir envVars = attempt {
+ let fileExists = Commands.fileExists workDir >> Option.isSome
+
+ return!
+ if fileExists fileName
+ then NUnitConf.genericError (sprintf "Found not expected file '%s'" fileName)
+ else Success
+ }
+
+ let ``IF NOT EXIST {file} EXIT 1`` fileName workDir envVars = attempt {
+ let fileExists = Commands.fileExists workDir >> Option.isSome
+
+ return!
+ if not (fileExists fileName)
+ then NUnitConf.genericError (sprintf "Not found expected file '%s'" fileName)
+ else Success
+ }
+
+ do! [ "IF EXIST pdb01.pdb DEL pdb01.pdb", ``IF EXIST {file} DEL {file}`` "pdb01.pdb"
+ "IF EXIST pdb01.pdb DEL pdb01.pdb", ``IF EXIST {file} DEL {file}`` "pdb01.pdb"
+ "IF EXIST pdb01x.pdb DEL pdb01x.pdb", ``IF EXIST {file} DEL {file}`` "pdb01x.pdb"
+ "IF EXIST pdb01x.pdb EXIT 1", ``IF EXIST {file} EXIT 1`` "pdb01x.pdb"
+ "IF EXIST pdb01.pdb EXIT 1", ``IF EXIST {file} EXIT 1`` "pdb01.pdb"
+ "IF NOT EXIST pdb01.pdb EXIT 1", ``IF NOT EXIST {file} EXIT 1`` "pdb01.pdb"
+ "IF NOT EXIST pdb01x.pdb EXIT 1", ``IF NOT EXIST {file} EXIT 1`` "pdb01x.pdb" ]
+ |> Map.ofList
+ |> runplWithCmds
+
+ })
+
+
+module platform =
+
+ []
+ let platform () = runpl |> check
+
+module reference =
+
+ []
+ let reference () = runpl |> check
+
+module responsefile =
+
+ []
+ let responsefile () = runpl |> check
+
+module simpleresolution =
+
+ []
+ let simpleresolution () = runpl |> check
+
+module standalone =
+
+ []
+ let standalone () = runpl |> check
+
+module staticlink =
+
+ []
+ let staticlink () = runpl |> check
+
+module subsystemversion =
+
+ []
+ let subsystemversion () = check(attempt {
+ let checkSubsystemVersion assemblyToCheck expectedValue workDir (cfg: RunPl.RunPlConfig) =
+ CheckSubsystemVersion.run workDir cfg.envVars assemblyToCheck expectedValue
+
+ let cmds cmd =
+ match cmd with
+ | StartsWith("CheckSubsystemVersion.bat dummy.exe ") p ->
+ Some (checkSubsystemVersion "dummy.exe" (p.Trim()))
+ | StartsWith("CheckSubsystemVersion.bat dummy.dll ") p ->
+ Some (checkSubsystemVersion "dummy.dll" (p.Trim()))
+ | StartsWith("CheckSubsystemVersion.bat dummy.netmodule ") p ->
+ Some (checkSubsystemVersion "dummy.netmodule" (p.Trim()))
+ | _ -> None
+
+ do! runplWithCmdsOverride cmds
+
+ })
+
+module tailcalls =
+
+ []
+ let tailcalls () = runpl |> check
+
+module target =
+
+ []
+ let target () = runpl |> check
+
+module times =
+
+ []
+ let times () = runpl |> check
+
+module warn =
+
+ []
+ let warn () = runpl |> check
+
+module warnaserror =
+
+ []
+ let warnaserror () = runpl |> check
+
+module warnon =
+
+ []
+ let warnon () = runpl |> check
+
+module win32res =
+
+ []
+ let win32res () = runpl |> check
+
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/times/times01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/times/times01.fs
index 30331de28d9..2466b7c8e67 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/times/times01.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/times/times01.fs
@@ -14,46 +14,46 @@ namespace N2
module M3 =
exit 0
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Import mscorlib\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Build Framework TC Imports\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Parse inputs\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Import DLLs\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Typecheck\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Typechecked\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Interface File \]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write XML docs\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write HTML docs\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Encode Interface Data\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Initial simplify\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Lowertop optimization\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[TAST -> ILX\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[ILX -> IL\]
-//ilwrite: TIME.+Write Started
-//ilwrite: TIME.+Module Generation Preparation
-//ilwrite: TIME.+Module Generation Pass 1
-//ilwrite: TIME.+Module Generation Pass 2
-//ilwrite: TIME.+Module Generation Pass 3
-//ilwrite: TIME.+Module Generation Pass 4
-//ilwrite: TIME.+Finalize Module Generation Results
-//ilwrite: TIME.+Generated Tables and Code
-//ilwrite: TIME.+Layout Header of Tables
-//ilwrite: TIME.+Build String/Blob Address Tables
-//ilwrite: TIME.+Sort Tables
-//ilwrite: TIME.+Write Header of tablebuf
-//ilwrite: TIME.+Write Tables to tablebuf
-//ilwrite: TIME.+Layout Metadata
-//ilwrite: TIME.+Write Metadata Header
-//ilwrite: TIME.+Write Metadata Tables
-//ilwrite: TIME.+Write Metadata Strings
-//ilwrite: TIME.+Write Metadata User Strings
-//ilwrite: TIME.+Write Blob Stream
-//ilwrite: TIME.+Fixup Metadata
-//ilwrite: TIME.+Generated IL and metadata
-//ilwrite: TIME.+Layout image
-//ilwrite: TIME.+Writing Image
-//ilwrite: TIME.+Finalize PDB
-//ilwrite: TIME.+Signing Image
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write .NET Binary\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Config File\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Stats File\]
-//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Copy referenced files\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Import mscorlib\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Build Framework TC Imports\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Parse inputs\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Import DLLs\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Typecheck\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Typechecked\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Interface File \]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write XML docs\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write HTML docs\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Encode Interface Data\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Initial simplify\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Lowertop optimization\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[TAST -> ILX\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[ILX -> IL\]
+//ilwrite: TIME.+Write Started
+//ilwrite: TIME.+Module Generation Preparation
+//ilwrite: TIME.+Module Generation Pass 1
+//ilwrite: TIME.+Module Generation Pass 2
+//ilwrite: TIME.+Module Generation Pass 3
+//ilwrite: TIME.+Module Generation Pass 4
+//ilwrite: TIME.+Finalize Module Generation Results
+//ilwrite: TIME.+Generated Tables and Code
+//ilwrite: TIME.+Layout Header of Tables
+//ilwrite: TIME.+Build String/Blob Address Tables
+//ilwrite: TIME.+Sort Tables
+//ilwrite: TIME.+Write Header of tablebuf
+//ilwrite: TIME.+Write Tables to tablebuf
+//ilwrite: TIME.+Layout Metadata
+//ilwrite: TIME.+Write Metadata Header
+//ilwrite: TIME.+Write Metadata Tables
+//ilwrite: TIME.+Write Metadata Strings
+//ilwrite: TIME.+Write Metadata User Strings
+//ilwrite: TIME.+Write Blob Stream
+//ilwrite: TIME.+Fixup Metadata
+//ilwrite: TIME.+Generated IL and metadata
+//ilwrite: TIME.+Layout image
+//ilwrite: TIME.+Writing Image
+//ilwrite: TIME.+Finalize PDB
+//ilwrite: TIME.+Signing Image
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write .NET Binary\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Config File\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Write Stats File\]
+//TIME:.+Delta:.+Mem:.+G0:.+G1:.+G2:.+\[Copy referenced files\]
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn.fs
index 9a2eb16929f..6e05e0ecd5d 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn.fs
@@ -1,7 +1,7 @@
// #Regression #NoMT #CompilerOptions
// Regression test for FSHARP1.0:3789
// Unfixable warning 45
-//
+//
#nowarn "0988"
type I =
abstract M : unit -> unit
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn_with_warnaserror03.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn_with_warnaserror03.fs
index 149d67a2537..87c27a1af80 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn_with_warnaserror03.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsc/warn/nowarn_with_warnaserror03.fs
@@ -1,8 +1,8 @@
// #Regression #NoMT #CompilerOptions
// Regression test for FSHARP1.0:4867
// nowarn has no effect if "Warning level = 4" and "Warnings as errors"
-//FS0040
-//FS0021
+//FS0040
+//FS0021
#nowarn "21"
#nowarn "40"
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments01.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments01.fsx
index a34de38edf4..850d3d4651d 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments01.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments01.fsx
@@ -1,4 +1,4 @@
-// Args: \[\|"PassedArguments01\.fsx"\|]
+// Args: \[\|"PassedArguments01\.fsx"\|]
printfn "Args: %A" fsi.CommandLineArgs
#q;;
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments02.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments02.fsx
index 5b6819251b6..5783d48aa60 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments02.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments02.fsx
@@ -1,4 +1,4 @@
-// Args: \[\|"PassedArguments02\.fsx"; "Alpha"; "Beta Gamma"; "foo\.fs"\|]
+// Args: \[\|"PassedArguments02\.fsx"; "Alpha"; "Beta Gamma"; "foo\.fs"\|]
printfn "Args: %A" fsi.CommandLineArgs
#q;;
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments03.fs b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments03.fs
index fcdc1430a1b..d72645a1a25 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments03.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments03.fs
@@ -1,3 +1,3 @@
-// Args: \[\|"PassedArguments03\.fs"\|]
+// Args: \[\|"PassedArguments03\.fs"\|]
printfn "Args: %A" fsi.CommandLineArgs
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments04.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments04.fsx
index 65477eb854f..1215d0fdc3d 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments04.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/PassedArguments04.fsx
@@ -1,4 +1,4 @@
-// Args: \[\|"PassedArguments04\.fsx"; "Alpha"\|]
-// Args: \[\|"PassedArguments04\.fsx"; "Alpha"\|]
+// Args: \[\|"PassedArguments04\.fsx"; "Alpha"\|]
+// Args: \[\|"PassedArguments04\.fsx"; "Alpha"\|]
printfn "Args: %A" fsi.CommandLineArgs
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/error02.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/error02.fsx
index d6d041937b3..862906b1ce9 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/error02.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/arguments/error02.fsx
@@ -1,2 +1,2 @@
-// error FS0078:.+
+// error FS0078:.+
#q;;
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/nologo/nologo01.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/nologo/nologo01.fsx
index f56d132a6dd..6909de053cc 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/nologo/nologo01.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/nologo/nologo01.fsx
@@ -1,3 +1,3 @@
// #NoMT #CompilerOptions
-//NOTE
+//NOTE
#q;;
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/test_CompilerOptions_fsi.fs b/tests/fsharpqa/Source/CompilerOptions/fsi/test_CompilerOptions_fsi.fs
new file mode 100644
index 00000000000..31b6e0b1ac4
--- /dev/null
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/test_CompilerOptions_fsi.fs
@@ -0,0 +1,66 @@
+module ``FSharpQA-Tests-CompilerOptions-fsi``
+
+open NUnit.Framework
+
+open NUnitConf
+open PlatformHelpers
+open RunPlTest
+
+
+module arguments =
+
+ []
+ let arguments () = runpl |> check
+
+
+module exename =
+
+ []
+ let exename () = runpl |> check
+
+
+module help =
+
+ []
+ let help () = check(attempt {
+
+ let ``\$FSI_PIPE >{file} {args} 2>&1`` fileName args workDir (cfg: RunPl.RunPlConfig) = attempt {
+ let ``exec >a 2>&1`` p =
+ Command.exec workDir cfg.envVars { Output = OutputAndError(Overwrite(fileName)); Input = None } p
+ >> checkResult
+
+ do! Commands.fsi ``exec >a 2>&1`` cfg.FSI_PIPE args []
+ }
+
+ do! [ @"\$FSI_PIPE >help.txt -? 2>&1", ``\$FSI_PIPE >{file} {args} 2>&1`` "help.txt" "-?"
+ @"\$FSI_PIPE >help.txt --help 2>&1", ``\$FSI_PIPE >{file} {args} 2>&1`` "help.txt" "--help"
+ @"\$FSI_PIPE >help.txt /? 2>&1", ``\$FSI_PIPE >{file} {args} 2>&1`` "help.txt" "/?"
+ @"\$FSI_PIPE >help.txt --nologo -? 2>&1", ``\$FSI_PIPE >{file} {args} 2>&1`` "help.txt" "--nologo -?" ]
+ |> Map.ofList
+ |> runplWithCmds
+
+ })
+
+
+module highentropyva =
+
+ []
+ let highentropyva () = runpl |> check
+
+
+module nologo =
+
+ []
+ let nologo () = runpl |> check
+
+
+module subsystemversion =
+
+ []
+ let subsystemversion () = runpl |> check
+
+
+module times =
+
+ []
+ let times () = runpl |> check
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/times/asargument.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/times/asargument.fsx
index 8231d242071..a06a2fa3adb 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/times/asargument.fsx
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/times/asargument.fsx
@@ -1,4 +1,4 @@
// #NoMT #CompilerOptions
-//
+//
#light
exit 0
diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/times/times01.fs b/tests/fsharpqa/Source/CompilerOptions/fsi/times/times01.fs
index 66d43ff9466..436438570c1 100644
--- a/tests/fsharpqa/Source/CompilerOptions/fsi/times/times01.fs
+++ b/tests/fsharpqa/Source/CompilerOptions/fsi/times/times01.fs
@@ -1,4 +1,4 @@
// #NoMT #CompilerOptions
-//TIME.+Optimizations
+//TIME.+Optimizations
exit 0;;
diff --git a/tests/fsharpqa/Source/Conformance/BasicGrammarElements/Constants/DecimalLiterals02.fs b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/Constants/DecimalLiterals02.fs
index 6af08bb7826..94ea43df5a6 100644
--- a/tests/fsharpqa/Source/Conformance/BasicGrammarElements/Constants/DecimalLiterals02.fs
+++ b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/Constants/DecimalLiterals02.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #BasicGrammarElements #Constants #NETFX40Only #NoMono #NETFX20Only
// This is a positive test on Dev10, at least until
// FSHARP1.0:4523 gets resolved.
-//
+//
let ok = 1.0E-50M // parses ok on Dev10
diff --git a/tests/fsharpqa/Source/Conformance/BasicGrammarElements/PrecedenceAndOperators/ExclamationMark02.fs b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/PrecedenceAndOperators/ExclamationMark02.fs
index 3f358cb2754..d2ce98e00a7 100644
--- a/tests/fsharpqa/Source/Conformance/BasicGrammarElements/PrecedenceAndOperators/ExclamationMark02.fs
+++ b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/PrecedenceAndOperators/ExclamationMark02.fs
@@ -3,7 +3,7 @@
// Prefix only operators: !OP, ?OP, ~OP
// Try to use !OP as an infix-op is an error
// ?OP ~OP
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/BasicGrammarElements/test_Conformance_BasicGrammarElements.fs b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/test_Conformance_BasicGrammarElements.fs
new file mode 100644
index 00000000000..fac7afd86aa
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/BasicGrammarElements/test_Conformance_BasicGrammarElements.fs
@@ -0,0 +1,24 @@
+module ``FSharpQA-Tests-Conformance-BasicGrammarElements``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module Constants =
+
+ []
+ let Constants () = runpl |> check
+
+
+module OperatorNames =
+
+ []
+ let OperatorNames () = runpl |> check
+
+
+module PrecedenceAndOperators =
+
+ []
+ let PrecedenceAndOperators () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation01.fsx
index 055894027ff..4aac243eadf 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Exceptions
// Abbreviation - using short and long identifiers
-//
+//
#light
module M =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation_SampleCodeFromSpec01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation_SampleCodeFromSpec01.fsx
index 38f8c465856..087a7a40630 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation_SampleCodeFromSpec01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Abbreviation_SampleCodeFromSpec01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Exceptions
// This is the sample code that appears in the specs under 9.4
-//
+//
#light
exception ThatWentBadlyWrong of string * int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExceptionAsDerivedFromSystemException01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExceptionAsDerivedFromSystemException01.fsx
index 33ed3c37769..c7e13ce9e77 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExceptionAsDerivedFromSystemException01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExceptionAsDerivedFromSystemException01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Exceptions
// Exception values may be generated by defining and using classes that extends System.Exception
// In this test we verify that both defitions can be used interchangably
-//
+//
type E1(s) = class
inherit System.Exception(s)
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExnAsDiscriminatedUnion01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExnAsDiscriminatedUnion01.fsx
index 1f4d6c24d21..5184278d076 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExnAsDiscriminatedUnion01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ExnAsDiscriminatedUnion01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Exceptions
// Exception definition define new discriminated union cases
// Verify that we can use misc types (notice that the "sig-spec" cannot be used [covered in another testcase]
-//
+//
#light
exception E1
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/GeneratedTypeNameNoClash01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/GeneratedTypeNameNoClash01.fsx
index 9fa3d94c69f..c0b62be04ca 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/GeneratedTypeNameNoClash01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/GeneratedTypeNameNoClash01.fsx
@@ -2,7 +2,7 @@
// An exception definition no longer generates a type with name idException
// (this used to be the case until Dev10 Beta1, but not anymore)
// In this case we check and see what happens when such a type already exist
-//
+//
exception E of string
type EException = | EE
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ImportCSharpException01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ImportCSharpException01.fsx
index e9dd9c03e5a..7a27a7ca85c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ImportCSharpException01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/ImportCSharpException01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Exceptions
// Import C# exception in F#
-//
+//
#light
#r "CSharpException.dll"
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/NamedFields01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/NamedFields01.fsx
index 305c5ef9e1d..806cb29ed94 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/NamedFields01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/NamedFields01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Exceptions
// Specify and match on named fields
-//
+//
exception AAA of V1 : int * V2 : int * V3 : string
exception BBB of bool * bool
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Override01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Override01.fsx
index 0b09b6befba..1cb548bd737 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Override01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/Override01.fsx
@@ -2,7 +2,7 @@
// Exception definition define new discriminated union cases
// Verify that we can use misc types (notice that the "sig-spec" cannot be used [covered in another testcase]
// This is reqgression test for FSHARP1.0:3725
-//
+//
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx
index 2efcb980ff7..ad08703e8c0 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Exceptions
// This is the sample code that appears in the specs under 9.4
// It shows how to use exceptions in pattern match
-//
+//
#light
exception Error of int * string
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Arrays.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Arrays.fsx
index 5c240f9bdc7..0971bca358d 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Arrays.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Arrays.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Arrays
-//
+//
let samples = [ [|1;1+1|] = [|1;2|];
[|hash (1,1+1)|] = [|hash (1,2)|];
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Exceptions.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Exceptions.fsx
index 7492fef2873..df1081f8e07 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Exceptions.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Exceptions.fsx
@@ -1,7 +1,7 @@
// #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Sample on exception
// See bug FSHARP1.0:5345
-//
+//
exception E of int * int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx
index e9857b417b6..45b1a9b3007 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Check thru reflection the set of methods
// Record
-//
+//
#light
let TestListOfMethods (typ : System.Type) (exp : string array) =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Lists.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Lists.fsx
index 80f3468d47f..5241648be98 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Lists.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Lists.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// List
-//
+//
let samples = [ [1;1+1] = [1;2]; // tuples support structural equality
[hash (1,1+1)] = [hash (1,2)]; // Function calls return identical values
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx
index 43b309619a5..188aa419588 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Check thru reflection the set of methods
// Classes
-//
+//
#light
let TestListOfMethods (typ : System.Type) (exp : string array) =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx
index 2b2abb21a6f..00dbdb7c4aa 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Check thru reflection the set of methods
// Delegate
-//
+//
#light
let TestListOfMethods (typ : System.Type) (exp : string array) =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx
index 6997648873e..1305080924c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Check thru reflection the set of methods
// Interface
-//
+//
#light
let TestListOfMethods (typ : System.Type) (exp : string array) =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Options.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Options.fsx
index 2a23ced7f95..ad0945f5954 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Options.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Options.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Options
// Interesting case: Some vs None
-//
+//
let samples = [ Some(1,1+1) = Some(1,2); // tuples support structural equality
Some(hash (1,1+1)) = Some(hash (1,2)); // Function calls return identical values
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Records.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Records.fsx
index aecacd74ee5..96a9518be1e 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Records.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Records.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Sample on records
-//
+//
type R = R of int * int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Tuples.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Tuples.fsx
index 30044004352..e90c48f0632 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Tuples.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Sample_Tuples.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Sample on records
-//
+//
let samples = [ (1,1+1) = (1,2); // tuples support structural equality
hash (1,1+1) = hash (1,2); // Function calls return identical values
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Structs.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Structs.fsx
index 959e012f670..e5a163f92a8 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Structs.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Structs.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Structs
-//
+//
type S<'a> = struct
new ( a:'a ) = { f = a }
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Unions.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Unions.fsx
index 89a77d2e228..bafeef6d6eb 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Unions.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Basic/Unions.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #GeneratedEqualityAndHashing
// Unions
-//
+//
type DU = | A
| B
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/LightSyntax01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/LightSyntax01.fsx
index a322a5053bb..0d9d10e2caf 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/LightSyntax01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/LightSyntax01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Light syntax: begin/end can be omitted
-//
+//
#light
module N1 =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleAbbreviationWithModule01.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleAbbreviationWithModule01.fs
index bf3f02a16ea..a4eb1fe2322 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleAbbreviationWithModule01.fs
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleAbbreviationWithModule01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:2644 (a module may start with an expression)
// Module abbreviation:
// Trying to abbreviate a module is ok
-//
+//
#light
// Module abbreviations
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleSuffix02.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleSuffix02.fsx
index 08af03fe86f..9ce7dfd7feb 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleSuffix02.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleSuffix02.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Decorating a module with the CompilationRepresentation
-//
+//
#light
[]
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression01.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression01.fs
index b1ca8692338..b4e987a1520 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression01.fs
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #TypesAndModules #Modules
// Regression test for FSHARP1.0:2644 (a module may start with an expression)
// Verify that we can compile a module with an expression in it
-//
+//
#light
module M =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression02.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression02.fs
index 1368f2aabe5..de640d9e72c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression02.fs
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleWithExpression02.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:2644 (a module may start with an expression)
// This is unfortunate, but this is the current behavior for this release.
// So, the workaround is to use begin... end
-//
+//
#light
module M2 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ExceptionDefinition.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ExceptionDefinition.fsx
index af3a544868d..d66062890bc 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ExceptionDefinition.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ExceptionDefinition.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M4 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ImportDeclaration.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ImportDeclaration.fsx
index 62b675e22ec..0c280103325 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ImportDeclaration.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ImportDeclaration.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M7 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_Binding.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_Binding.fsx
index 2420054016f..bdd1915e30a 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_Binding.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_Binding.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M1 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_SideEff.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_SideEff.fsx
index 80e2b4dca46..f4e122d45d8 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_SideEff.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_LetBindings_SideEff.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M2 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleAbbreviation.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleAbbreviation.fsx
index 8e33910fde9..0e0b33c6116 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleAbbreviation.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleAbbreviation.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M6 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleDefinition.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleDefinition.fsx
index 5cb177ab565..72b6bb5de9c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleDefinition.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_ModuleDefinition.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M5 = begin
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_OCamlCompat.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_OCamlCompat.fsx
index e1d533892ed..ad3085500b5 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_OCamlCompat.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_OCamlCompat.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Modules
// Productions
// Compile with: --mlcompatibility -a --warnaserror+
-//
+//
#light
module N1 = struct
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_TypeDefinitions.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_TypeDefinitions.fsx
index 2e7d213e138..7eb95ab5c8e 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_TypeDefinitions.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/Production_TypeDefinitions.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Modules
// Productions
-//
+//
#light
module M3 = begin
type T = | A = 1
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/env.lst b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/env.lst
index 5c55eedb23e..5dad6c24589 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/env.lst
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/env.lst
@@ -34,7 +34,7 @@ NoMT SOURCE=ModuleSuffix03.fsx PRECMD="\$FSC_PIPE -a ModuleSuffix03Lib.fsx" SCFL
SOURCE=E_ObsoleteAttribOnModules01.fs SCFLAGS="--test:ErrorRanges" # E_ObsoleteAttribOnModules01.fs
- #These 2 are not actual testcases, just test libraries for the next 2
+# These 2 are not actual testcases, just test libraries for the next 2
SOURCE=LibFoo1.fs SCFLAGS="-a"
SOURCE=LibFOo2.fs SCFLAGS="-a"
SOURCE=SameTypeInTwoReferences01.fs SCFLAGS="-r:LibFoo1.dll -r:LibFoo2.dll" # SameTypeInTwoReferences01.fs
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_Equals01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_Equals01.fsx
index e1fc1df313c..76a42060e73 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_Equals01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_Equals01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// By default, Union types implement dispatch slot Equals
// Also minimal test on the expected implementation.
-//
+//
#light
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_GetHashCode.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_GetHashCode.fsx
index dab0aae3fd4..a2c6072efc5 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_GetHashCode.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/DispatchSlot_GetHashCode.fsx
@@ -3,7 +3,7 @@
// By default, Union types implement dispatch slot Equals
// Also minimal test on the expected implementation.
-//
+//
#light
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Interface_IComparable.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Interface_IComparable.fsx
index 1a05f0322ba..d23f40d38f6 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Interface_IComparable.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Interface_IComparable.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Records
// By default, record types implement IComparable
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/LongIdentifiers01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/LongIdentifiers01.fsx
index bbfd268769e..f107174b968 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/LongIdentifiers01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/LongIdentifiers01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// This test is a bit of a kitchen-sink, but its main
// purpose is to validate that we can use fully qualified field names
-//
+//
#light
type ı = int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Member01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Member01.fsx
index 9ccfb90db7b..32b251c047c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Member01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Member01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Record types may include members
// Test both static and instance members
-//
+//
#light
// Instance member
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields01.fsx
index 4f148fcd617..049ec44f13c 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Verify that record fields may be marked mutable
// In this case, only one field is marked as mutable
-//
+//
#light
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields_SampleFromSpec02.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields_SampleFromSpec02.fsx
index 734682db99e..d90102244bd 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields_SampleFromSpec02.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/MutableFields_SampleFromSpec02.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Sample found on the spec.
// Section 9.2 (second code snippet)
-//
+//
#light
type R2 =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec01.fsx
index 7fe45138971..41fe778adc3 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Sample found on the spec.
// Section 9.2
-//
+//
#light
type R1 =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec03.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec03.fsx
index 007989b7a82..22d4a314017 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec03.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/SampleFromSpec03.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Sample found on the spec.
// Section 9.2 (3rd code snippet)
-//
+//
#light
type R = { dx : int; dy: int }
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping03.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping03.fsx
index e7a5527184c..ac35685aa01 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping03.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping03.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Records
// Field labels have module scope
-//
+//
#light
type T1 = { a : decimal }
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping04.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping04.fsx
index c64eab36cc9..5fd5f32742f 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping04.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/Scoping04.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Records
// Field labels have module scope
// Also, in this case we see that there is no collision when the field and type have the same name
-//
+//
#light
type ı = int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/UnitType01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/UnitType01.fsx
index 380c7a54380..2735d24b515 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/UnitType01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/RecordTypes/UnitType01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Records
// Field has type 'unit' (which is kind of special)
-//
+//
#light
type T1 = { u : unit;}
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Constraints_SampleFromSpec01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Constraints_SampleFromSpec01.fsx
index c5df98643ea..b6c2be98862 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Constraints_SampleFromSpec01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Constraints_SampleFromSpec01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules
// Abbreviation: the constraints on the right-hand-side are sufficient
-//
+//
#light
type IA =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Identity01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Identity01.fsx
index 5d6d34022f9..9d1f5733876 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Identity01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/Identity01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules
// Type abbreviation
// A type that redefine itself -- not very useful, but ok
-//
+//
#light
type Z = Z // ok (useless, but ok)
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/ReorderingTypeVariables01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/ReorderingTypeVariables01.fsx
index 377001a76ba..35a11690587 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/ReorderingTypeVariables01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/ReorderingTypeVariables01.fsx
@@ -2,7 +2,7 @@
// Abbreviation: it is ok to reorder type variables
// Used to be regression test for FSHARP1.0:3738
// It is now regression test for FSHARP1.0:4786
-//
+//
module M
type Reverse<'a,'b> = 'b -> 'a
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/TypeNestedInModules01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/TypeNestedInModules01.fsx
index a8a08368b18..66456c0d0f9 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/TypeNestedInModules01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/TypeNestedInModules01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules
// Type abbreviation
// The type nested in modules
-//
+//
#light
module M1 =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/env.lst b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/env.lst
index e7c37165bce..a9fced5bbb0 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/env.lst
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/TypeAbbreviations/env.lst
@@ -1,4 +1,4 @@
- xxx SOURCE=E_InfiniteAbbreviation01.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_InfiniteAbbreviation01.fs
+# xxx SOURCE=E_InfiniteAbbreviation01.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_InfiniteAbbreviation01.fs
SOURCE=E_InfiniteAbbreviation02.fs # E_InfiniteAbbreviation02.fs
SOURCE=E_UnexpectedCharInTypeName01.fs SCFLAGS="--test:ErrorRanges" # E_UnexpectedCharInTypeName01.fs
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_Equals01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_Equals01.fsx
index 44eb0b1bacb..9cec35e1c95 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_Equals01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_Equals01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Unions
// By default, Union types implement dispatch slot Equals
// Also minimal test on the expected implementation.
-//
+//
#light
type T1 = | A
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_GetHashCode.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_GetHashCode.fsx
index 7c256533dcd..e098945c59b 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_GetHashCode.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/DispatchSlot_GetHashCode.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Unions
// By default, Union types implement dispatch slot GetHashCode
// We also minimally verify that the hash codes are different for this simple case
-//
+//
#light
type T1 = | A
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface01.fsx
index d70e164488b..263007b6093 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// DU may include implement interfaces
-//
+//
#light
type I = interface
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface_IComparable.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface_IComparable.fsx
index 51eeaf412e9..d2692cf9af9 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface_IComparable.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Interface_IComparable.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// By default, Union types implement IComparable
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Member01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Member01.fsx
index 9ba75b652d7..c3fbee93b7e 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Member01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Member01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Unions
// DU may include members
// Test both static and instance members
-//
+//
#light
// Instance member
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields01.fsx
index f771144bfca..e4fe32ea353 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// Constructing DUs with named fields
-//
+//
type Lunch =
| Sandwich of meat : string * pickles : bool * layers : int
| Soup of Ounces : float * string
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields02.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields02.fsx
index 0585842d8b0..4d7d6b92703 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields02.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields02.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// Should be able to pattern match using named or positional fields
-//
+//
type MyDU =
| Case1 of int * int * int * Named1 : int * Named2 : int * int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields03.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields03.fsx
index 263ea8620e4..70c518c1930 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields03.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/NamedFields03.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// Potentially ambiguous cases where we need to decide if user is specifying named argument or passing result of equality comparison to boolean/generic field
-//
+//
let checkType (o : obj) ty =
if o.GetType() = ty then ()
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Overrides01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Overrides01.fsx
index 334e604d724..54bf0f4b11f 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Overrides01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Overrides01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// DU may include overrides
-//
+//
[]
[]
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Parenthesis01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Parenthesis01.fsx
index 71561c2a87e..cf39d596adb 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Parenthesis01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Parenthesis01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypesAndModules #Unions
// Paretheses are significant in DU definitions
-//
+//
#light
type T = | C of int * int
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Recursive01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Recursive01.fsx
index 2bc63a34c34..ab64c103be7 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Recursive01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/Recursive01.fsx
@@ -2,7 +2,7 @@
// DU - with recursive definition
// Note: don't try to make much sense of this code.
// It's a rather (intentionally) convoluted code.
-//
+//
#light
type E = | Sum of E * E
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01b.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01b.fsx
index ecdd581962f..163d70cd452 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01b.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01b.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Unions
// Union Types
// Sample from spec - using #light "off"
-//
+//
#light "off"
(* extra space *) type Message =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01d.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01d.fsx
index 6b01a68a9ed..cd241344ffd 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01d.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/SampleFromSpec01d.fsx
@@ -4,7 +4,7 @@
// The with/end tokens can be omitted when using the #light syntax option as long as the
// type-defn-elements vertically aligns with the first ‘|’ in the union-cases
// Regression test for FSHARP1.0:3707
-//
+//
#light
(* extra space *) type Message =
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/ScopeAndDataConstrAndPattern01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/ScopeAndDataConstrAndPattern01.fsx
index 30687482605..0917601943b 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/ScopeAndDataConstrAndPattern01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/ScopeAndDataConstrAndPattern01.fsx
@@ -4,7 +4,7 @@
// It also covers the fact that they can be used both as data constructors
// and to form patterns.
// This is the positive case.
-//
+//
#light
[] type ı
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCaseProduction01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCaseProduction01.fsx
index f182ae8ce49..af214bf2b49 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCaseProduction01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCaseProduction01.fsx
@@ -4,7 +4,7 @@
// | id -- nullary union case
// | id of type * ... * type -- n-ary union case
// | id : sig-spec -- n-ary union case
-//
+//
#light
type T = | A
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCasesProduction01.fsx b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCasesProduction01.fsx
index 5596aefbd1c..e2150095cef 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCasesProduction01.fsx
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/UnionCasesProduction01.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypesAndModules #Unions
// Union Types
// union-cases := [ ‘|’ ] union-case ‘|’ ... ‘|’ union-case
-//
+//
#light
// With missing |
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/env.lst b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/env.lst
index c979c25d016..79bdb21d7ad 100644
--- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/env.lst
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/UnionTypes/env.lst
@@ -20,7 +20,7 @@ NoMT SOURCE=Overload_ToString.fs COMPILE_ONLY=1 SCFLAGS=--warnaserror+ FSIMOD
SOURCE=E_UnionsNotNull01.fs # E_UnionsNotNull01.fs
SOURCE=E_UnionsNotNull02.fs # E_UnionsNotNull02.fs
- SOURCE=BeginWithUppercase01.fsx SCFLAGS= # BeginWithUppercase01.fsx
+ SOURCE=BeginWithUppercase01.fsx SCFLAGS="" # BeginWithUppercase01.fsx
# Renaming the .exe because for some weird reason on some OSes having 'DispatchSlot' in the .exe
# seems to trigger the UAC dialog... (e.g. Win7 x86)
@@ -44,9 +44,9 @@ NoMT SOURCE=Overload_ToString.fs COMPILE_ONLY=1 SCFLAGS=--warnaserror+ FSIMOD
SOURCE=E_ScopeAndDataConstrAndPattern01.fsx SCFLAGS="--test:ErrorRanges" # E_ScopeAndDataConstrAndPattern01.fsx
- SOURCE=Interface01.fsx SCFLAGS= # Interface01.fsx
+ SOURCE=Interface01.fsx SCFLAGS="" # Interface01.fsx
- SOURCE=Interface_IComparable.fsx SCFLAGS= # Interface_IComparable.fsx
+ SOURCE=Interface_IComparable.fsx SCFLAGS="" # Interface_IComparable.fsx
SOURCE=E_Interface_IStructuralHash.fsx # E_Interface_IStructuralHash.fsx
@@ -60,21 +60,21 @@ NoMT SOURCE=Overload_ToString.fs COMPILE_ONLY=1 SCFLAGS=--warnaserror+ FSIMOD
SOURCE=Parenthesis03.fsx # Parenthesis03.fsx
- SOURCE=Recursive01.fsx SCFLAGS= # Recursive01.fsx
+ SOURCE=Recursive01.fsx SCFLAGS="" # Recursive01.fsx
- SOURCE=SampleFromSpec01.fsx SCFLAGS= # SampleFromSpec01.fsx
+ SOURCE=SampleFromSpec01.fsx SCFLAGS="" # SampleFromSpec01.fsx
- SOURCE=SampleFromSpec01b.fsx SCFLAGS= # SampleFromSpec01b.fsx
+ SOURCE=SampleFromSpec01b.fsx SCFLAGS="" # SampleFromSpec01b.fsx
SOURCE=W_SampleFromSpec01c.fsx SCFLAGS="--test:ErrorRanges" # W_SampleFromSpec01c.fsx
- SOURCE=SampleFromSpec01d.fsx SCFLAGS= # SampleFromSpec01d.fsx
+ SOURCE=SampleFromSpec01d.fsx SCFLAGS="" # SampleFromSpec01d.fsx
SOURCE=E_SampleFromSpec01d.fsx SCFLAGS="--test:ErrorRanges" # E_SampleFromSpec01d.fsx
SOURCE=E_SampleFromSpec01d2.fsx SCFLAGS="--test:ErrorRanges" # E_SampleFromSpec01d2.fsx
- SOURCE=ScopeAndDataConstrAndPattern01.fsx SCFLAGS= # ScopeAndDataConstrAndPattern01.fsx
+ SOURCE=ScopeAndDataConstrAndPattern01.fsx SCFLAGS="" # ScopeAndDataConstrAndPattern01.fsx
SOURCE=UnionCaseProduction01.fsx SCFLAGS=-a # UnionCaseProduction01.fsx
@@ -82,7 +82,7 @@ NoMT SOURCE=Overload_ToString.fs COMPILE_ONLY=1 SCFLAGS=--warnaserror+ FSIMOD
SOURCE=W_UnionCaseProduction01.fsx SCFLAGS="-a --test:ErrorRanges" # W_UnionCaseProduction01.fsx
- SOURCE=ReflectionOnUnionTypes01.fs SCFLAGS= # ReflectionOnUnionTypes01.fs
+ SOURCE=ReflectionOnUnionTypes01.fs SCFLAGS="" # ReflectionOnUnionTypes01.fs
SOURCE=E_InheritUnion.fs # E_InheritUnion.fs
SOURCE=E_UnionFieldNamedTag.fs SCFLAGS="--test:ErrorRanges" # E_UnionFieldNamedTag.fs
@@ -93,9 +93,9 @@ NoMT SOURCE=Overload_ToString.fs COMPILE_ONLY=1 SCFLAGS=--warnaserror+ FSIMOD
SOURCE=E_UnionMemberNamedTags.fs SCFLAGS="--test:ErrorRanges" #E_UnionMemberNamedTags.fs
SOURCE=E_UnionMemberNamedTagsNoDefault.fs SCFLAGS="--test:ErrorRanges" #E_UnionMemberNamedTagsNoDefault.fs
- SOURCE=NamedFields01.fsx SCFLAGS= # NamedFields01.fsx
- SOURCE=NamedFields02.fsx SCFLAGS= # NamedFields02.fsx
- SOURCE=NamedFields03.fsx SCFLAGS= # NamedFields03.fsx
+ SOURCE=NamedFields01.fsx SCFLAGS="" # NamedFields01.fsx
+ SOURCE=NamedFields02.fsx SCFLAGS="" # NamedFields02.fsx
+ SOURCE=NamedFields03.fsx SCFLAGS="" # NamedFields03.fsx
SOURCE=E_UnionFieldConflictingName.fs SCFLAGS="--test:ErrorRanges" # E_UnionFieldConflictingName.fs
SOURCE=E_UnionConstructorBadFieldName.fs SCFLAGS="--test:ErrorRanges" # E_UnionConstructorBadFieldName.fs
SOURCE=E_FieldNameUsedMulti.fs SCFLAGS="--test:ErrorRanges" # E_FieldNameUsedMulti.fs
diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/test_Conformance_BasicTypeAndModuleDefinitions.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/test_Conformance_BasicTypeAndModuleDefinitions.fs
new file mode 100644
index 00000000000..0f45f54beb0
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/test_Conformance_BasicTypeAndModuleDefinitions.fs
@@ -0,0 +1,75 @@
+module ``FSharpQA-Tests-Conformance-BasicTypeAndModuleDefinitions``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+
+module ExceptionDefinitions =
+
+ []
+ let ExceptionDefinitions () = runpl |> check
+
+
+module GeneratedEqualityHashingComparison =
+
+ module Attributes =
+
+ module Diags =
+ []
+ let Diags () = runpl |> check
+
+ module Legacy =
+ []
+ let Legacy () = runpl |> check
+
+ module New =
+ []
+ let New () = runpl |> check
+
+ module Basic =
+ []
+ let Basic () = runpl |> check
+
+ module IComparison =
+ []
+ let IComparison () = runpl |> check
+
+
+module ModuleDefinitions =
+
+ []
+ let ModuleDefinitions () = runpl |> check
+
+
+module NamespaceDeclGroups =
+
+ []
+ let NamespaceDeclGroups () = runpl |> check
+
+
+module NullRepresentations =
+
+ []
+ let NullRepresentations () = runpl |> check
+
+
+module RecordTypes =
+
+ []
+ let RecordTypes () = runpl |> check
+
+
+
+module TypeAbbreviations =
+
+ []
+ let TypeAbbreviations () = runpl |> check
+
+
+module UnionTypes =
+
+ []
+ let UnionTypes () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx
index eedaf6b9ef2..e85c42fe16d 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #Attributes
// Regression test for FSHARP1.0:3797
// Using bitwise OR (|||) in AttributeUsage works (same as WithBitwiseOr02b.fsx, on class)
-//
+//
#light
[]
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx
index 36ff507f7d7..39e628980d3 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #Attributes
// Regression test for FSHARP1.0:3797
// Using bitwise OR (|||) in AttributeUsage works (same as WithBitwiseOr02a.fsx, on struct)
-//
+//
#light
[]
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FreeTypeVariable01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FreeTypeVariable01.fs
index a31c1267b4b..291c83011d4 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FreeTypeVariable01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FreeTypeVariable01.fs
@@ -1,8 +1,8 @@
// #Regression #Conformance #DeclarationElements #Attributes
// Regression test for FSHARP1.0:1708
// internal compiler error for free type variable in attribute
-//internal error
-//
+//internal error
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/Function01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/Function01.fs
index 05412591a44..fdea8b78ee7 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/Function01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/Function01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:2087
// Function parameter attributes are ignored and do not appear in the resulting assembly
// Attribute is placed on a let-binding function definition
-//
+//
#light
open System.Reflection
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FunctionArg01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FunctionArg01.fs
index b75aa1b4ab8..89a67dd4075 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FunctionArg01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/FunctionArg01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:2087
// Function parameter attributes are ignored and do not appear in the resulting assembly
// Attribute is placed on the argument of a let-binding function definition
-//
+//
#light
open System.Reflection
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType01.fs
index 32842a0cebe..427aa2b82fc 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:1165
// F# supports custom attributes on return type
// Note: the syntax is kind of awkward...
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType02.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType02.fs
index 355de813e7a..26bc70a04cd 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType02.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType02.fs
@@ -3,7 +3,7 @@
// F# supports custom attributes on return type.
// Multiple attributes on the same return value (two different attributes)
// Note: the syntax is kind of awkward...
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType03.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType03.fs
index 8f27434b167..0676010d0dc 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType03.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/CustomAttributes/Basic/ReturnType03.fs
@@ -3,7 +3,7 @@
// F# supports custom attributes on return type.
// Multiple attributes on the same return value (same attribute repeated twice)
// Note: the syntax is kind of awkward...
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/E_AsPat01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/E_AsPat01.fs
index e774ae5c32b..30fd53f58c7 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/E_AsPat01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/E_AsPat01.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DeclarationElements #LetBindings
// Verify errors associated with using let bindings + pattern matching
-//Type mismatch\. Expecting a
+//Type mismatch\. Expecting a
let one, two = 1, 2, 3
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological02.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological02.fs
index a546fde44bd..1f3590543dd 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological02.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological02.fs
@@ -1,7 +1,7 @@
// #Conformance #DeclarationElements #LetBindings
// Interesting pathological tests
// The code is odd, but parses and typechecks fine! :)
-//
+//
module TestModule
let f _ _ _ _ _ _ _ _ _ _ = ()
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological04.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological04.fs
index db5aca52857..27015737d9a 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological04.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/Pathological04.fs
@@ -1,7 +1,7 @@
// #Conformance #DeclarationElements #LetBindings
// Interesting pathological tests
// The code is odd, but parses and typechecks fine! :)
-//
+//
module TestModule
let f _ _ _ _ _ _ _ _ _ _ = ()
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofBasic001.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofBasic001.fs
index 93953ffa217..12a318bdac5 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofBasic001.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofBasic001.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #LetBindings #TypeTests
// Regression test for FSHARP1.0:1490
// Basic usage of typeof
-//
+//
#light
let x = typeof
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofInCustomAttributes001.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofInCustomAttributes001.fs
index 389dfbb8da0..c315468d874 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofInCustomAttributes001.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeofInCustomAttributes001.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #LetBindings #TypeTests
// Regression test for FSHARP1.0:1490
// can't use typeof in attributes
-//
+//
[)>]
type TestTypeOnType() =
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs
index 181044fdacb..e0b29ab5585 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #LetBindings #TypeTests
// Regression test for FSHARP1.0:2320
// Type passed to typeof<> is _
-//
+//
#light
let _ = typeof<_>
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/NoOverloadIDSpecified.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/NoOverloadIDSpecified.fs
index b214cf657ba..c4f77fe17d3 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/NoOverloadIDSpecified.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/NoOverloadIDSpecified.fs
@@ -1,6 +1,6 @@
// #Conformance #DeclarationElements #MemberDefinitions #Overloading
// As of Beta2, we don't need OverloadIDs anymore!
-//
+//
type Foo() =
member this.SomeMethod (x:int) = true
member this.SomeMethod (y:string) = false
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs
index 96e0f5da737..acf58a5334e 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DeclarationElements #MemberDefinitions #Overloading
// Regression test for FSHARP1.0:3388
// overloaded operators which are more generic than their enclosing class
-//
+//
#light
type Foo<'a,'b>() =
#if TOO_GENERIC
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/SanityCheck.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/SanityCheck.fs
index 97ead5bc661..d476d1d24d3 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/SanityCheck.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/SanityCheck.fs
@@ -1,5 +1,5 @@
// #Conformance #DeclarationElements #Modules
-//
+//
#light
module A =
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideModuleDef.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideModuleDef.fs
index 50a62b56c13..b9c510b3960 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideModuleDef.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideModuleDef.fs
@@ -1,6 +1,6 @@
// #Conformance #DeclarationElements #Modules
// Use module abbreviation inside a module
-//
+//
#light
module A =
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDef.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDef.fs
index 3371d5ac8f4..24bb542c29f 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDef.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDef.fs
@@ -1,6 +1,6 @@
// #Conformance #DeclarationElements #Modules
// Use module abbreviation inside a namespace
-//
+//
#light
namespace Faa.Bor
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs
index e090adafeb1..61c682c267c 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs
@@ -1,7 +1,7 @@
// #Conformance #DeclarationElements #Modules #ReqNOMT
// Use module abbreviation inside a namespace
// Module is defined in an external assembly
-//
+//
#light
namespace Faa.Bor
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/test_Conformance_DeclarationElements.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/test_Conformance_DeclarationElements.fs
new file mode 100644
index 00000000000..32f75474907
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/test_Conformance_DeclarationElements.fs
@@ -0,0 +1,119 @@
+module ``FSharpQA-Tests-Conformance-DeclarationElements``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+
+module AccessibilityAnnotations =
+
+ module basic =
+ []
+ let basic () = runpl |> check
+
+ module OnOverridesAndIFaceImpl =
+ []
+ let OnOverridesAndIFaceImpl () = runpl |> check
+
+ module OnTypeMembers =
+ []
+ let OnTypeMembers () = runpl |> check
+
+ module PermittedLocations =
+ []
+ let PermittedLocations () = runpl |> check
+
+
+module CustomAttributes =
+
+
+ module ArgumentsOfAllTypes =
+ []
+ let ArgumentsOfAllTypes () = runpl |> check
+
+ module AttributeUsage =
+ []
+ let AttributeUsage () = runpl |> check
+
+ module Basic =
+ []
+ let Basic () = runpl |> check
+
+ module ImportedAttributes =
+ []
+ let ImportedAttributes () = runpl |> check
+
+
+module Events =
+
+ module basic =
+
+ []
+ let basic () = runpl |> check
+
+
+module FieldMembers =
+
+ []
+ let FieldMembers () = runpl |> check
+
+
+module ImportDeclarations =
+
+ []
+ let ImportDeclarations () = runpl |> check
+
+
+module InterfaceSpecificationsAndImplementations =
+
+ []
+ let InterfaceSpecificationsAndImplementations () = runpl |> check
+
+
+module LetBindings =
+
+ module ActivePatternBindings =
+
+ []
+ let ActivePatternBindings () = runpl |> check
+
+ module Basic =
+
+ []
+ let Basic () = runpl |> check
+
+ module ExplicitTypeParameters =
+
+ []
+ let ExplicitTypeParameters () = runpl |> check
+
+ module TypeFunctions =
+
+ []
+ let TypeFunctions () = runpl |> check
+
+
+module MemberDefinitions =
+
+ []
+ let MemberDefinitions () = runpl |> check
+
+
+module ModuleAbbreviations =
+
+ []
+ let ModuleAbbreviations () = runpl |> check
+
+
+module ObjectConstructors =
+
+ []
+ let ObjectConstructors () = runpl |> check
+
+
+module PinvokeDeclarations =
+
+ []
+ let PinvokeDeclarations () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs
index d7741016041..a20dcca4dd3 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #ControlFlow
// Regression test for FSHARP1.0:2323 (Compiler ICE when matching on literal Null)
-//
+//
#light
[]
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx
index 1161e8d27a6..1611af55de7 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx
@@ -2,7 +2,7 @@
// AddressOf Operator
// Verify we can use the & operator to invoke .Net method (byref)
// In this case we call into a C# method (ref)
-//
+//
#light
#r @"addressof001dll.dll"
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx
index 52368cae5f9..519f256a377 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx
@@ -2,7 +2,7 @@
// AddressOf Operator
// Verify we can use the & operator to invoke .Net method (byref)
// In this case we call into a C# method (out)
-//
+//
#light
#r @"addressof002dll.dll"
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof_local_unit.fsx b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof_local_unit.fsx
index c36bea78fdd..77159f616a2 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof_local_unit.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof_local_unit.fsx
@@ -1,7 +1,7 @@
// #Regression #Conformance #DataExpressions
// Regression test for FSHARP1.0:4183
// Assert failed in code that take the address of a local of type unit
-//
+//
let f () =
let dict = System.Collections.Generic.Dictionary()
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs
index 262b175df4a..79f27b1e5d9 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DataExpressions #ObjectConstructors
// Regression test for FSHARP1.0:3857
// Incorrect FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'a has been constrained to be type ''a'.
-//
+//
#light
type X =
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs
index 6615b0a4121..4fe0d1146c6 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs
@@ -3,7 +3,7 @@
// FSB 1005, float comprehensions of form "x0 .. dx .. x1" suffer rounding errors
// After changes in BigInt, this is no longer a warning.
-//Floating point ranges are experimental and may be deprecated in a future release
+//Floating point ranges are experimental and may be deprecated in a future release
let floatingPointRange = [0.0 .. 0.01 .. 2.0]
let lastNum, sndToLast = floatingPointRange
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/CodeDisposalInMatch01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/CodeDisposalInMatch01.fs
index 07e0c0093aa..2da3473a3e0 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/CodeDisposalInMatch01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/CodeDisposalInMatch01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #DataExpressions #Sequences
// Regression test for FSHARP1.0:4365
// Mistake in generation of code for disposal in "match" sequence expressions
-//
+//
let r = ref 0
let f () = [ if (incr r; true) then yield! failwith "" ]
let x = (try f () with Failure _ -> [!r])
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse04.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse04.fs
index 7cb9fc6b0a0..217b182b9e2 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse04.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse04.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DataExpressions #Sequences
// Regression test for FSHARP1.0:4527
-//
+//
let p = [ (if true then
[for i = 1 to 10 do yield i] // yield is not immediately under the 'then' branch,
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse05.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse05.fs
index eeac39a5931..4d05174d69e 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse05.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse05.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DataExpressions #Sequences
// Regression test for FSHARP1.0:4527
-//
+//
let p = [ (if true then 1 else 2) ]
(if p = [ 1 ] then 0 else 1) |> exit
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse06.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse06.fs
index 7868329a4ff..516032657e7 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse06.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse06.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DataExpressions #Sequences
// Regression test for FSHARP1.0:4527
-//
+//
let y =
[ if true then yield! [1;2] else () ]
(if y = [1;2] then 0 else 1) |> exit
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse07.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse07.fs
index 41214f29903..04dcf78f12a 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse07.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/IfThenElse07.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DataExpressions #Sequences
// Regression test for FSHARP1.0:4527
-//
+//
let x =
[ if true then
yield! [1]
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs
index 3c9793e9ae5..5ce4014dd77 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:3135
// Usage of "->>" in a sequence expression is deprecated
// Use "do yield! ..." instead
-//
+//
#light
let s = seq { for i in [1 .. 2] do yield! seq { yield i+1 } }
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs
index 0a149b1d29b..537141f6eae 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs
@@ -3,7 +3,7 @@
// Usage of "->" in a sequence expression is deprecated, unless
// in [ for pat in expr -> expr ] and other compact seq expr
// Compile with --warnaserror
-//
+//
#light
let s1 = seq { for i in [ 1 .. 2 ] -> 10 }
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs
index e6f8bceff17..bc0876af1de 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:3135
// Usage of "->" in a sequence expression is deprecated, unless
// in [ for pat in expr -> expr ] and other compact seq expr
-//
+//
#light
let s1 = seq { yield 10 }
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx
index d789557d0a0..9f1a449e249 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx
@@ -6,7 +6,7 @@
//
// rigid type annotation used in the a let-binding
//
-//
+//
#light
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx
index 6db2cbfdc03..53811ad4000 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx
@@ -6,7 +6,7 @@
//
// rigid type annotation used in the a let-binding (function definition + function invocation)
//
-//
+//
#light
[] type Kg
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx
index b45dbc64fda..c42d7ac54a0 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx
@@ -7,7 +7,7 @@
// expr : ty
//
// Misc test on 'null'
-//
+//
#light
let a = null : string
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx
index ba26509d6ab..83a7153666b 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypeRelatedExpressions #TypeAnnotations
// Upcast with 1-level class hierarchy
-//
+//
#light
type K1() = class
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx
index 1af94c3923e..e86d044d685 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypeRelatedExpressions #TypeAnnotations
// Upcast to object - int
-//
+//
#light
let a = ( upcast 1 ) : obj
let b = ( 1 :> _ ) : obj
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx
index fde1b72d2fd..e8189cdb727 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypeRelatedExpressions #TypeAnnotations
// Upcast with 1-level class hierarchy - cast to interface
-//
+//
#light
type I = interface
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx
index 8bb0edd84f1..2e896ef9c30 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx
@@ -1,7 +1,7 @@
// #Conformance #TypeRelatedExpressions #TypeAnnotations
// Upcast with 1-level class hierarchy - cast to interface
// Interface is defined in the base class -> can still upcast to I
-//
+//
#light
type I = interface
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx
index 0355b0147f6..d65de19a9d2 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx
+++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx
@@ -1,6 +1,6 @@
// #Conformance #TypeRelatedExpressions #TypeAnnotations
// Upcast to object - null
-//
+//
#light
let a = ( upcast null ) : obj
let b = ( null :> _ ) : obj
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/test_Conformance_Expressions.fs b/tests/fsharpqa/Source/Conformance/Expressions/test_Conformance_Expressions.fs
new file mode 100644
index 00000000000..8495d936086
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/Expressions/test_Conformance_Expressions.fs
@@ -0,0 +1,177 @@
+module ``FSharpQA-Tests-Conformance-Expressions``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module ApplicationExpressions =
+
+ module Assertion =
+
+ []
+ let Assertion () = runpl |> check
+
+ module BasicApplication =
+
+ []
+ let BasicApplication () = runpl |> check
+
+ module ObjectConstruction =
+
+ []
+ let ObjectConstruction () = runpl |> check
+
+
+module BindingExpressions =
+
+ []
+ let BindingExpressions () = runpl |> check
+
+
+module ConstantExpressions =
+
+ []
+ let ConstantExpressions () = runpl |> check
+
+
+module ControlFlowExpressions =
+
+
+ module Assertion =
+ []
+ let Assertion () = runpl |> check
+
+ module Conditional =
+ []
+ let Conditional () = runpl |> check
+
+ module ParenthesizedAndBlock =
+ []
+ let ParenthesizedAndBlock () = runpl |> check
+
+ module PatternMatching =
+ []
+ let PatternMatching () = runpl |> check
+
+ module SequenceIteration =
+ []
+ let SequenceIteration () = runpl |> check
+
+ module SequentialExecution =
+ []
+ let SequentialExecution () = runpl |> check
+
+ module SimpleFor =
+ []
+ let SimpleFor () = runpl |> check
+
+ module TryCatch =
+ []
+ let TryCatch () = runpl |> check
+
+ module TryFinally =
+ []
+ let TryFinally () = runpl |> check
+
+ module While =
+ []
+ let While () = runpl |> check
+
+
+module DataExpressions =
+
+ module AddressOf =
+
+ []
+ let AddressOf () = runpl |> check
+
+ module ComputationExpressions =
+
+ []
+ let ComputationExpressions () = runpl |> check
+
+ module ObjectExpressions =
+
+ []
+ let ObjectExpressions () = runpl |> check
+
+ module QueryExpressions =
+
+ []
+ let QueryExpressions () = runpl |> check
+
+ module RangeExpressions =
+
+ []
+ let RangeExpressions () = runpl |> check
+
+ module SequenceExpressions =
+
+ []
+ let SequenceExpressions () = runpl |> check
+
+ module Simple =
+
+ []
+ let Simple () = runpl |> check
+
+ module TupleExpressions =
+
+ []
+ let TupleExpressions () = runpl |> check
+
+module ElaborationAndElaboratedExpressions =
+
+ []
+ let ElaborationAndElaboratedExpressions () = runpl |> check
+
+
+module EvaluationAndValues =
+
+ []
+ let EvaluationAndValues () = runpl |> check
+
+
+module EvaluationOfElaboratedForms =
+
+ []
+ let EvaluationOfElaboratedForms () = runpl |> check
+
+
+module ExpressionQuotations =
+
+ module Baselines =
+
+ []
+ let Baselines () = runpl |> check
+
+ module Regressions =
+
+ []
+ let Regressions () = runpl |> check
+
+
+module SomeCheckingAndInferenceTerminology =
+
+ []
+ let SomeCheckingAndInferenceTerminology () = runpl |> check
+
+
+module SyntacticSugar =
+
+ []
+ let SyntacticSugar () = runpl |> check
+
+
+module SyntacticSugarAndAmbiguities =
+
+ []
+ let SyntacticSugarAndAmbiguities () = runpl |> check
+
+
+module TyperelatedExpressions =
+
+ []
+ let TyperelatedExpressions () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/env.lst b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/env.lst
index 40b335de60d..6c275f0cc89 100644
--- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/env.lst
+++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/env.lst
@@ -1,6 +1,6 @@
- SOURCE=AbstractSlot01.fsi AbstractSlot01.fs # AbstractSlot01
- SOURCE=Properties01.fsi Properties01.fs # Properties01
- SOURCE=Properties02.fsi Properties02.fs # Properties02
+ SOURCE="AbstractSlot01.fsi AbstractSlot01.fs" # AbstractSlot01
+ SOURCE="Properties01.fsi Properties01.fs" # Properties01
+ SOURCE="Properties02.fsi Properties02.fs" # Properties02
SOURCE="E_AnonSignatureFile.fsi E_AnonSignatureFile.fs" # E_AnonSignatureFile
SOURCE="E-SignatureAfterSource.fs E-SignatureAfterSource.fsi" # E-SignatureAfterSource
diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/test_Conformance_ImplementationFilesAndSignatureFiles.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/test_Conformance_ImplementationFilesAndSignatureFiles.fs
new file mode 100644
index 00000000000..d3e6a42f212
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/test_Conformance_ImplementationFilesAndSignatureFiles.fs
@@ -0,0 +1,38 @@
+module ``FSharpQA-Tests-Conformance-ImplementationFilesAndSignatureFiles``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module CheckingOfImplementationFiles =
+
+ []
+ let CheckingOfImplementationFiles () = runpl |> check
+
+
+module InitializationSemanticsForImplementationFiles =
+
+ []
+ let InitializationSemanticsForImplementationFiles () = runpl |> check
+
+
+module NamespacesFragmentsAndImplementationFiles =
+
+ module Basic =
+
+ []
+ let Basic () = runpl |> check
+
+ module Global =
+
+ []
+ let Global () = runpl |> check
+
+
+module SignatureFiles =
+
+ []
+ let SignatureFiles () = runpl |> check
+
diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/NoMoreValueRestriction01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/NoMoreValueRestriction01.fs
index eb5dcc1b987..97af65cbebd 100644
--- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/NoMoreValueRestriction01.fs
+++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/NoMoreValueRestriction01.fs
@@ -1,6 +1,6 @@
// #Conformance #TypeInference
// Verify error if you only specify some, but not all, type args
-//
+//
let f<'a> x (y : 'a) = (x, y) // used to be error "Value restriction...". In Beta2, it is ok (val f : obj -> 'a -> obj * 'a)
diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/test_Conformance_InferenceProcedures.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/test_Conformance_InferenceProcedures.fs
new file mode 100644
index 00000000000..42fd5ae4ff2
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/test_Conformance_InferenceProcedures.fs
@@ -0,0 +1,90 @@
+module ``FSharpQA-Tests-Conformance-InferenceProcedures``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module ByrefSafetyAnalysis =
+
+ []
+ let ByrefSafetyAnalysis () = runpl |> check
+
+
+module ConstraintSolving =
+
+ []
+ let ConstraintSolving () = runpl |> check
+
+
+module DispatchSlotChecking =
+
+ []
+ let DispatchSlotChecking () = runpl |> check
+
+
+module DispatchSlotInference =
+
+ []
+ let DispatchSlotInference () = runpl |> check
+
+
+module FunctionApplicationResolution =
+
+ []
+ let FunctionApplicationResolution () = runpl |> check
+
+
+module Generalization =
+
+ []
+ let Generalization () = runpl |> check
+
+
+module MethodApplicationResolution =
+
+ []
+ let MethodApplicationResolution () = runpl |> check
+
+
+module NameResolution =
+
+ module AutoOpen =
+
+ []
+ let AutoOpen () = runpl |> check
+
+ module Misc =
+
+ []
+ let Misc () = runpl |> check
+
+ module RequireQualifiedAccess =
+
+ []
+ let RequireQualifiedAccess () = runpl |> check
+
+
+module RecursiveSafetyAnalysis =
+
+ []
+ let RecursiveSafetyAnalysis () = runpl |> check
+
+
+module ResolvingApplicationExpressions =
+
+ []
+ let ResolvingApplicationExpressions () = runpl |> check
+
+
+module TypeInference =
+
+ []
+ let TypeInference () = runpl |> check
+
+
+module WellFormednessChecking =
+
+ []
+ let WellFormednessChecking () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_embeddedString005.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_embeddedString005.fs
index 944e2270832..61b32dc9f2d 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_embeddedString005.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_embeddedString005.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// string embedded in a comment: malformed string
// which yield to a compilation error
-//End of file in string embedded in comment begun at or before here
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs
index fa317a2ee2d..00265542dd4 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis
// string embedded in a comment: invalid escape sequence
// \s is not an escaped char, so it's the same as \\s
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs
index 2370baad00e..d5250ec549d 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis
// string embedded in a comment: legitimate string containing the
// block-comment-end token
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs
index 09e204dfdde..4931f43463c 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs
@@ -1,6 +1,6 @@
// #Conformance #LexicalAnalysis
// string embedded in a comment: legitimate escape sequence
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs
index 3491c92e104..88dc701d70e 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis
// string embedded in a comment: legitimate escape sequence
// A backslash in in the string
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs
index f0a284920ba..622e431eeb2 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:945
// comment lexing does not handle \" inside quoted strings
-//
+//
#light
(* simple escape chars (escape-char in the grammar) *)
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs
index 742841694ca..4553f23c2b6 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:946
// comment lexing does not handle "" and \ inside @" strings
-//
+//
#light
(* @"\" *)
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs
index e3ce9f34794..91f98df0bf4 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs
index e720d1e00a2..61a6c1ffc15 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs
@@ -2,7 +2,7 @@
#light
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
let y1 = (* This is a comment with (**) nested *) 0
exit (if y1 = 0 then 0 else 1)
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs
index 0d639e0121e..669873e81a9 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs
@@ -2,7 +2,7 @@
#light
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
let y2 = (* This is a comment with * nested *) 2
exit (if y2 = 2 then 0 else 1)
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs
index 11d0d3840b9..caa6e1fcdf3 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs
@@ -2,7 +2,7 @@
#light
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
let y3 = (* This is a comment with (* *) nested *) 3
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs
index e6e7f3bffe8..68ece1a9eb6 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs
@@ -2,7 +2,7 @@
#light
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
let y4 = (* This is a comment with (** **) nested *) 4
exit (if y4 = 4 then 0 else 1)
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs
index ab1add1c779..1aaa55e3330 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs
@@ -2,7 +2,7 @@
#light
// Regression test for FSHARP1.0:1561
// Verify that (**) does not leave the lexer in a comment state
-//
+//
let y5= (* This is a comment with (***) nested *) 5
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ReservedIdentKeywords.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ReservedIdentKeywords.fs
index 2c550ad3d3c..dc493031755 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ReservedIdentKeywords.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ReservedIdentKeywords.fs
@@ -30,31 +30,31 @@ let trait = 10
let virtual = 10
let volatile = 10
-//The identifier 'atomic' is reserved for future use by F#
-//The identifier 'break' is reserved for future use by F#
-//The identifier 'checked' is reserved for future use by F#
-//The identifier 'component' is reserved for future use by F#
+//The identifier 'atomic' is reserved for future use by F#
+//The identifier 'break' is reserved for future use by F#
+//The identifier 'checked' is reserved for future use by F#
+//The identifier 'component' is reserved for future use by F#
-//The identifier 'constraint' is reserved for future use by F#
-//The identifier 'constructor' is reserved for future use by F#
-//The identifier 'continue' is reserved for future use by F#
-//The identifier 'eager' is reserved for future use by F#
-//The identifier 'fixed' is reserved for future use by F#
-//The identifier 'fori' is reserved for future use by F#
-//The identifier 'functor' is reserved for future use by F#
-//The identifier 'include' is reserved for future use by F#
-//The identifier 'method' is reserved for future use by F#
-//The identifier 'measure' is reserved for future use by F#
-//The identifier 'mixin' is reserved for future use by F#
-//The identifier 'object' is reserved for future use by F#
-//The identifier 'parallel' is reserved for future use by F#
-//The identifier 'params' is reserved for future use by F#
-//The identifier 'process' is reserved for future use by F#
-//The identifier 'protected' is reserved for future use by F#
-//The identifier 'pure' is reserved for future use by F#
-//The identifier 'recursive' is reserved for future use by F#
-//The identifier 'sealed' is reserved for future use by F#
-//The identifier 'tailcall' is reserved for future use by F#
-//The identifier 'trait' is reserved for future use by F#
-//The identifier 'virtual' is reserved for future use by F#
-//The identifier 'volatile' is reserved for future use by F#
+//The identifier 'constraint' is reserved for future use by F#
+//The identifier 'constructor' is reserved for future use by F#
+//The identifier 'continue' is reserved for future use by F#
+//The identifier 'eager' is reserved for future use by F#
+//The identifier 'fixed' is reserved for future use by F#
+//The identifier 'fori' is reserved for future use by F#
+//The identifier 'functor' is reserved for future use by F#
+//The identifier 'include' is reserved for future use by F#
+//The identifier 'method' is reserved for future use by F#
+//The identifier 'measure' is reserved for future use by F#
+//The identifier 'mixin' is reserved for future use by F#
+//The identifier 'object' is reserved for future use by F#
+//The identifier 'parallel' is reserved for future use by F#
+//The identifier 'params' is reserved for future use by F#
+//The identifier 'process' is reserved for future use by F#
+//The identifier 'protected' is reserved for future use by F#
+//The identifier 'pure' is reserved for future use by F#
+//The identifier 'recursive' is reserved for future use by F#
+//The identifier 'sealed' is reserved for future use by F#
+//The identifier 'tailcall' is reserved for future use by F#
+//The identifier 'trait' is reserved for future use by F#
+//The identifier 'virtual' is reserved for future use by F#
+//The identifier 'volatile' is reserved for future use by F#
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/backtickmoduleandtypenames.fsx b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/backtickmoduleandtypenames.fsx
index b578bcded92..a546320d987 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/backtickmoduleandtypenames.fsx
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/backtickmoduleandtypenames.fsx
@@ -1,4 +1,4 @@
-//
+//
open System
open System.Reflection
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs
index 08eecf28298..91ab16df814 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis #Constants
// Number type specifier are not case sensitive
// Bin
-//
+//
#light
let x1 = 0B1
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs
index 406ac91d881..e5a7ca5ad86 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis #Constants
// Number type specifier are not case sensitive
// Float
-//
+//
#light
let x = 0x5
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs
index 37f601ddeb8..3ab355ec10a 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis #Constants
// Number type specifier LF/lf are case sensitive
// IEEE32/IEEE64 - lf vs LF
-//
+//
#light
let x = 0x5lf
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs
index 5ae1d5e5446..25862389482 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs
@@ -2,7 +2,7 @@
// Number type specifier are not case sensitive
// IEEE32/IEEE64 - lf vs LF
// verify that xint can be specified either with '0x' or '0X'
-//
+//
#light
let x = 0X5LF
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs
index 960047eaf0d..dbd648a4f56 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs
@@ -1,7 +1,7 @@
// #Conformance #LexicalAnalysis #Constants
// Number type specifier are not case sensitive
// Oct
-//
+//
#light
let x = 0o7
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs
index bff2323485f..251673d2e07 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs
@@ -2,7 +2,7 @@
// Regression test for FSharp1.0#1076
// Usage of >> and .
// No spaces between >> and .
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs
index 4dd9cab1ee3..ec1187fbd79 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs
@@ -2,7 +2,7 @@
// Regression test for FSharp1.0#1076
// Usage of >> and .
// 1 space >> and .
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs
index aa7d7b4ff6e..c3e190dba0f 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:2193
// Unicodegraph-long not in parity with C#
-//
+//
#light
let some_unicode_char = '\u00D6'
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs
index d41170617de..12a6671e882 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1077
// closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token).
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs
index 4370c474a37..5af95e05e46 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1077
// closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token).
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs
index 62b007acc27..ed3f5860e8a 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1077
// closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token).
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs
index 2ebfa5c841e..0065830c2a9 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1077
// closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token).
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs
index 5476699dca2..6aff7f10196 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:1077
// closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token).
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs
index 638c6f267b8..7f23ee0d1e3 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:2464
// closing square bracket following closing generic type angle bracket is syntax error without whitespace
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs
index fdd9d2158b7..2c542fd8ea4 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:2464
// closing square bracket following closing generic type angle bracket is syntax error without whitespace
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs
index 00e96083226..76e31e183ca 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis
// Regression test for FSHARP1.0:2464
// closing square bracket following closing generic type angle bracket is syntax error without whitespace
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs
index dc948a4e44d..1333d1c115f 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis #Operators
// Regression test for FSHARP1.0:1392
// Space should not be required between : and >
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs
index 4936e4123a3..e90463c36ca 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexicalAnalysis #Operators
// Regression test for FSHARP1.0:1392
// Space should not be required between : and >
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/test_Conformance_LexicalAnalysis.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/test_Conformance_LexicalAnalysis.fs
new file mode 100644
index 00000000000..80549c5d528
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/test_Conformance_LexicalAnalysis.fs
@@ -0,0 +1,83 @@
+module ``FSharpQA-Tests-Conformance-LexicalAnalysis``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+module Comments =
+
+ []
+ let Comments () = runpl |> check
+
+
+module ConditionalCompilation =
+
+ []
+ let ConditionalCompilation () = runpl |> check
+
+
+module Directives =
+
+ []
+ let Directives () = runpl |> check
+
+
+module HiddenTokens =
+
+ []
+ let HiddenTokens () = runpl |> check
+
+
+module IdentifierReplacements =
+
+ []
+ let IdentifierReplacements () = runpl |> check
+
+
+module IdentifiersAndKeywords =
+
+ []
+ let IdentifiersAndKeywords () = runpl |> check
+
+
+module LineDirectives =
+
+ []
+ let LineDirectives () = runpl |> check
+
+
+module NumericLiterals =
+
+ []
+ let NumericLiterals () = runpl |> check
+
+
+module Shift =
+
+ []
+ let Generics () = runpl |> check
+
+
+module StringsAndCharacters =
+
+ []
+ let StringsAndCharacters () = runpl |> check
+
+
+module SymbolicKeywords =
+
+ []
+ let SymbolicKeywords () = runpl |> check
+
+
+module SymbolicOperators =
+
+ []
+ let SymbolicOperators () = runpl |> check
+
+
+module Whitespace =
+
+ []
+ let Whitespace () = runpl |> check
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/OffsideExceptions/InfixTokenPlusOne.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/OffsideExceptions/InfixTokenPlusOne.fs
index fdd58db8d43..b7327e1bc27 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/OffsideExceptions/InfixTokenPlusOne.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/OffsideExceptions/InfixTokenPlusOne.fs
@@ -3,7 +3,7 @@
// FSB 1624, LexFilter should consifer infix tokens according to their length
-//
+//
let x = 3
let y = x
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/First_Non_Comment_Text01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/First_Non_Comment_Text01.fs
index f60fbcf281a..5533778e40f 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/First_Non_Comment_Text01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/First_Non_Comment_Text01.fs
@@ -1,5 +1,5 @@
// #Regression #Conformance #LexFilter
// Regression test for FSHARP1.0:1078
// The #light is now the default. See also FSHARP1.0:2319
-//#light
+//#light
//Main module of program is empty: nothing will happen when it is run
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi01.fs
index f276b3a87e3..379ba736e68 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexFilter #ReqNOMT
// Regression test for FSHARP1.0:1078
// The #light is default in fsi.exe
-//
+//
let SimpleSample() =
let x = 10 + 12 - 3
let y = x * 2 + 1
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi02.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi02.fs
index 9d33a8618ca..d06c07211db 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi02.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/default_in_fsi02.fs
@@ -1,5 +1,5 @@
// #Conformance #LexFilter #ReqNOMT
-//#light
+//#light
module TestModule
let SimpleSample() =
let x = 10 + 12 - 3
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs
index 7a313d434fa..6ba9a667f22 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #LexFilter
// Regression test for FSHARP1.0:1078
// The opposit of #light is (for now) #indent "off"
-//
+//
#indent "off"
module M
let SimpleSample() =
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs
index 43a8ed0a290..2c75e5f8ec9 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #LexFilter
// Regression test for FSHARP1.0:1078
// The #light is (for now) #indent "off"
-//
+//
#light "off"
exit 0;;
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fs
index 35c40129de1..1f99b86cf56 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fs
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #LexFilter #Precedence #ReqNOMT
// Regression test for FSHARP1.0:4161 - Error when trying to lex/parse a range involving biggest negative number
-//
+//
module TestModule
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx
index 2abd0fa9735..37430667b75 100644
--- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx
@@ -1,6 +1,6 @@
// #Regression #Conformance #LexFilter #Precedence #ReqNOMT
// Regression test for FSHARP1.0:4161 - Error when trying to lex/parse a range involving biggest negative number
-//
+//
#light
diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/test_Conformance_LexicalFiltering.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/test_Conformance_LexicalFiltering.fs
new file mode 100644
index 00000000000..b57ec072a50
--- /dev/null
+++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/test_Conformance_LexicalFiltering.fs
@@ -0,0 +1,33 @@
+module ``FSharpQA-Tests-Conformance-LexicalFiltering``
+
+open NUnit.Framework
+
+open NUnitConf
+open RunPlTest
+
+
+module Basic =
+
+ []
+ let ByExample () = runpl |> check
+
+ [