Skip to content

Commit

Permalink
Extract unit tests and add some basic regression tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
nojaf committed Nov 23, 2022
1 parent a7a6c74 commit a3a4958
Show file tree
Hide file tree
Showing 14 changed files with 956 additions and 932 deletions.
15 changes: 0 additions & 15 deletions tests/ParallelTypeCheckingTests/Code/AlwaysLinkDetection.fs
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,3 @@ let doesFileHasAutoOpenBehavior (ast: ParsedInput) : bool =
isAnyAttributeAutoOpen attribs
|| kind = SynModuleOrNamespaceKind.GlobalNamespace)
contents

// ==============================================================================================================================
// ==============================================================================================================================

open System.IO
open NUnit.Framework
open FSharp.Compiler.Service.Tests.Common

[<Test>]
let ``detect auto open`` () =
let file =
Path.Combine(__SOURCE_DIRECTORY__, "..", "..", "..", "..", "src", "Compiler", "Utilities", "ImmutableArray.fsi")

let ast = parseSourceCode (file, File.ReadAllText(file))
Assert.True(doesFileHasAutoOpenBehavior ast)
744 changes: 0 additions & 744 deletions tests/ParallelTypeCheckingTests/Code/DependencyResolution.fs

Large diffs are not rendered by default.

15 changes: 0 additions & 15 deletions tests/ParallelTypeCheckingTests/Code/FileContentMapping.fs
Original file line number Diff line number Diff line change
Expand Up @@ -669,18 +669,3 @@ let mkFileContent (f: FileWithAST) : FileContentEntry list =

[ yield! attributes; yield! contentEntries ])
contents

// ================================================================================================================================
// ================================================================================================================================
module Tests =
open NUnit.Framework
open FSharp.Compiler.Service.Tests.Common

[<Test>]
let ``Test a single file`` () =
let fileName =
@"C:\Users\nojaf\Projects\main-fantomas\src\Fantomas.Core\Selection.fs"

let ast = parseSourceCode (fileName, System.IO.File.ReadAllText(fileName))
let contents = mkFileContent { Idx = 0; File = fileName; AST = ast }
ignore contents

This file was deleted.

122 changes: 0 additions & 122 deletions tests/ParallelTypeCheckingTests/Code/TrieApproach/Types.fs

This file was deleted.

10 changes: 6 additions & 4 deletions tests/ParallelTypeCheckingTests/ParallelTypeCheckingTests.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,21 @@
<Compile Include="Code\Parallel.fs" />
<Compile Include="Code\GraphProcessing.fs" />
<Compile Include="Code\ParallelTypeChecking.fs" />
<Compile Include="Code\TrieApproach\Types.fs" />
<Compile Include="Code\TrieApproach\Continuation.fs" />
<Compile Include="Code\TrieApproach\SampleData.fs" />
<Compile Include="Tests\Utils.fs" />
<Compile Include="Tests\AssemblySetUp.fs" />
<Compile Include="Tests\TestCompilation.fs" />
<Compile Include="Tests\TestCompilationFromCmdlineArgs.fs" />
<Compile Include="Tests\TestGraph.fs" />
<Content Include="Tests\FCS.args.txt" />
<Content Include="Tests\FCS.prepare.ps1" />
<Content Include="Tests\ComponentTests.args.txt" />
<Content Include="Tests\.gitignore" />
<Compile Include="Tests\TypedTreeGraph.fs" />
<Compile Include="Tests\QueryTrieTests.fs" />
<Compile Include="Tests\AlwaysLinkDetectionTests.fs" />
<Compile Include="Tests\TrieMappingTests.fs" />
<Compile Include="Tests\FileContentMappingTests.fs" />
<Compile Include="Tests\Scenarios.fs" />
<Compile Include="Tests\DependencyResolutionTests.fs" />
<Compile Include="Program.fs" />
<Content Include="Docs.md" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion tests/ParallelTypeCheckingTests/Program.fs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ open ParallelTypeCheckingTests.DependencyResolution
[<EntryPoint>]
let main _argv =
let filesWithAST =
fcsFiles
ParallelTypeCheckingTests.Tests.DependencyResolutionTests.fcsFiles
|> Array.Parallel.mapi (fun idx file ->
{
Idx = idx
Expand Down
43 changes: 43 additions & 0 deletions tests/ParallelTypeCheckingTests/Tests/AlwaysLinkDetectionTests.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
module ParallelTypeCheckingTests.Tests.AlwaysLinkDetectionTests

open NUnit.Framework
open FSharp.Compiler.Service.Tests.Common
open ParallelTypeCheckingTests.AlwaysLinkDetection

[<Test>]
let ``Detect top level auto open`` () =
let fileContent =
"""
[<AutoOpen>]
module internal Internal.Utilities.Library.Block
open System.Collections.Immutable
[<RequireQualifiedAccess>]
module ImmutableArrayBuilder =
val create: size: int -> ImmutableArray<'T>.Builder
[<RequireQualifiedAccess>]
module ImmutableArray =
[<GeneralizableValue>]
val empty<'T> : ImmutableArray<'T>
val init: n: int -> f: (int -> 'T) -> ImmutableArray<'T>
"""

let ast = parseSourceCode ("ImmutableArray.fsi", fileContent)
Assert.True(doesFileHasAutoOpenBehavior ast)

[<Test>]
let ``Detect global namespace`` () =
let fileContent =
"""
namespace global
type X = { Y: int }
"""

let ast = parseSourceCode ("Global.fsi", fileContent)
Assert.True(doesFileHasAutoOpenBehavior ast)

0 comments on commit a3a4958

Please sign in to comment.